it seems with the latest changes to the course evaluation chatbot, XLSX files do not upload and cause an error. This caused the backend to fail in the main deployed branch. As an emergency fix, I removed XLSX upload feature for now.
Output:
INFO:werkzeug:127.0.0.1 - - [22/Oct/2024 14:25:46] "POST /courseEvaluation/upload HTTP/1.1" 500 -
Traceback (most recent call last):
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 2552, in call
return self.wsgi_app(environ, start_response)
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 2532, in wsgi_app
response = self.handle_exception(e)
File "/opt/miniconda3/lib/python3.10/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 2529, in wsgi_app
response = self.full_dispatch_request()
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 1825, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/opt/miniconda3/lib/python3.10/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 1823, in full_dispatch_request
rv = self.dispatch_request()
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 1799, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/Users/sanjitverma/git/TAChatBot/saas-backend/controller/courseEvaluationRoutes.py", line 99, in upload_file
documents = loader.load_from_stream(file.stream, file_type)
File "/Users/sanjitverma/git/TAChatBot/saas-backend/vectorsMongoDB/loadEvaluation.py", line 27, in load_from_stream
return self.load_xlsx(file_stream)
File "/Users/sanjitverma/git/TAChatBot/saas-backend/vectorsMongoDB/loadEvaluation.py", line 54, in load_xlsx
df = pd.read_excel(file_stream, engine='openpyxl')
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 495, in read_excel
io = ExcelFile(
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 1567, in init
self._reader = self._engines[engine](
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_openpyxl.py", line 553, in init
super().init(
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 573, in init
self.book = self.load_workbook(self.handles.handle, engine_kwargs)
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_openpyxl.py", line 572, in load_workbook
return load_workbook(
File "/opt/miniconda3/lib/python3.10/site-packages/openpyxl/reader/excel.py", line 348, in load_workbook
reader.read()
File "/opt/miniconda3/lib/python3.10/site-packages/openpyxl/reader/excel.py", line 289, in read
self.read_manifest()
File "/opt/miniconda3/lib/python3.10/site-packages/openpyxl/reader/excel.py", line 134, in read_manifest
src = self.archive.read(ARC_CONTENT_TYPES)
File "/opt/miniconda3/lib/python3.10/zipfile.py", line 1477, in read
with self.open(name, "r", pwd) as fp:
File "/opt/miniconda3/lib/python3.10/zipfile.py", line 1528, in open
zef_file = _SharedFile(self.fp, zinfo.header_offset,
File "/opt/miniconda3/lib/python3.10/zipfile.py", line 725, in init
self.seekable = file.seekable
AttributeError: 'SpooledTemporaryFile' object has no attribute 'seekable'
it seems with the latest changes to the course evaluation chatbot, XLSX files do not upload and cause an error. This caused the backend to fail in the main deployed branch. As an emergency fix, I removed XLSX upload feature for now.
Output:
INFO:werkzeug:127.0.0.1 - - [22/Oct/2024 14:25:46] "POST /courseEvaluation/upload HTTP/1.1" 500 -
Traceback (most recent call last):
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 2552, in call
return self.wsgi_app(environ, start_response)
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 2532, in wsgi_app
response = self.handle_exception(e)
File "/opt/miniconda3/lib/python3.10/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 2529, in wsgi_app
response = self.full_dispatch_request()
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 1825, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/opt/miniconda3/lib/python3.10/site-packages/flask_cors/extension.py", line 165, in wrapped_function
return cors_after_request(app.make_response(f(*args, **kwargs)))
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 1823, in full_dispatch_request
rv = self.dispatch_request()
File "/opt/miniconda3/lib/python3.10/site-packages/flask/app.py", line 1799, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/Users/sanjitverma/git/TAChatBot/saas-backend/controller/courseEvaluationRoutes.py", line 99, in upload_file
documents = loader.load_from_stream(file.stream, file_type)
File "/Users/sanjitverma/git/TAChatBot/saas-backend/vectorsMongoDB/loadEvaluation.py", line 27, in load_from_stream
return self.load_xlsx(file_stream)
File "/Users/sanjitverma/git/TAChatBot/saas-backend/vectorsMongoDB/loadEvaluation.py", line 54, in load_xlsx
df = pd.read_excel(file_stream, engine='openpyxl')
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 495, in read_excel
io = ExcelFile(
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 1567, in init
self._reader = self._engines[engine](
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_openpyxl.py", line 553, in init
super().init(
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_base.py", line 573, in init
self.book = self.load_workbook(self.handles.handle, engine_kwargs)
File "/opt/miniconda3/lib/python3.10/site-packages/pandas/io/excel/_openpyxl.py", line 572, in load_workbook
return load_workbook(
File "/opt/miniconda3/lib/python3.10/site-packages/openpyxl/reader/excel.py", line 348, in load_workbook
reader.read()
File "/opt/miniconda3/lib/python3.10/site-packages/openpyxl/reader/excel.py", line 289, in read
self.read_manifest()
File "/opt/miniconda3/lib/python3.10/site-packages/openpyxl/reader/excel.py", line 134, in read_manifest
src = self.archive.read(ARC_CONTENT_TYPES)
File "/opt/miniconda3/lib/python3.10/zipfile.py", line 1477, in read
with self.open(name, "r", pwd) as fp:
File "/opt/miniconda3/lib/python3.10/zipfile.py", line 1528, in open
zef_file = _SharedFile(self.fp, zinfo.header_offset,
File "/opt/miniconda3/lib/python3.10/zipfile.py", line 725, in init
self.seekable = file.seekable
AttributeError: 'SpooledTemporaryFile' object has no attribute 'seekable'