MCPcopy
hub / github.com/PromtEngineer/localGPT / handle_index_file_upload

Method handle_index_file_upload

backend/server.py:842–861  ·  view source on GitHub ↗

Reuse file upload logic but store docs under index.

(self, index_id: str)

Source from the content-addressed store, hash-verified

840 self.send_json_response({'error': str(e)}, status_code=500)
841
842 def handle_index_file_upload(self, index_id: str):
843 """Reuse file upload logic but store docs under index."""
844 form = cgi.FieldStorage(fp=self.rfile, headers=self.headers, environ={'REQUEST_METHOD':'POST', 'CONTENT_TYPE': self.headers['Content-Type']})
845 uploaded_files=[]
846 if 'files' in form:
847 files=form['files']
848 if not isinstance(files, list):
849 files=[files]
850 upload_dir='shared_uploads'
851 os.makedirs(upload_dir, exist_ok=True)
852 for f in files:
853 if f.filename:
854 unique=f"{uuid.uuid4()}_{f.filename}"
855 path=os.path.join(upload_dir, unique)
856 with open(path,'wb') as out: out.write(f.file.read())
857 db.add_document_to_index(index_id, f.filename, os.path.abspath(path))
858 uploaded_files.append({'filename':f.filename,'stored_path':os.path.abspath(path)})
859 if not uploaded_files:
860 self.send_json_response({'error':'No files uploaded'}, status_code=400); return
861 self.send_json_response({'message':f"Uploaded {len(uploaded_files)} files","uploaded_files":uploaded_files})
862
863 def handle_build_index(self, index_id: str):
864 try:

Callers 1

do_POSTMethod · 0.95

Calls 2

send_json_responseMethod · 0.95
add_document_to_indexMethod · 0.80

Tested by

no test coverage detected