File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed
llmstack/data/sources/files Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change 22
22
logger = logging .getLogger (__name__ )
23
23
24
24
25
- def extract_archive_files (mime_type , file_name , file_data ):
25
+ def extract_archive_files (mime_type , archive_filename , file_data ):
26
26
extracted_files = []
27
27
if mime_type == "application/zip" :
28
28
with zipfile .ZipFile (io .BytesIO (base64 .b64decode (file_data ))) as archive :
29
+ archive_name = archive_filename .split (".zip" )[0 ]
29
30
for file_info in archive .infolist ():
30
31
if file_info .is_dir () or file_info .file_size == 0 or file_info .filename .startswith ("__MACOSX" ):
31
32
continue
32
33
with archive .open (file_info ) as file :
33
34
file_mime_type = mimetypes .guess_type (file_info .filename )[0 ]
34
35
filename = file_info .filename
35
- filename = "/" .join (filename .split ("/" )[1 :])
36
+ if filename .startswith (archive_name ):
37
+ filename_parts = filename .split ("/" )
38
+ filename = "/" .join (filename_parts [1 :]) if len (filename_parts ) > 1 else filename
36
39
data_uri = f"data:{ file_mime_type } ;name={ filename } ;base64,{ base64 .b64encode (file .read ()).decode ()} "
37
40
extracted_files .append (data_uri )
38
41
elif mime_type in ["application/x-tar" , "application/gzip" , "application/x-bzip2" ]:
You can’t perform that action at this time.
0 commit comments