Skip to content

Commit 467c82a

Browse files
committed
Fix filename logic for archive
1 parent 1d414f2 commit 467c82a

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

llmstack/data/sources/files/archive.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,20 @@
2222
logger = logging.getLogger(__name__)
2323

2424

25-
def extract_archive_files(mime_type, file_name, file_data):
25+
def extract_archive_files(mime_type, archive_filename, file_data):
2626
extracted_files = []
2727
if mime_type == "application/zip":
2828
with zipfile.ZipFile(io.BytesIO(base64.b64decode(file_data))) as archive:
29+
archive_name = archive_filename.split(".zip")[0]
2930
for file_info in archive.infolist():
3031
if file_info.is_dir() or file_info.file_size == 0 or file_info.filename.startswith("__MACOSX"):
3132
continue
3233
with archive.open(file_info) as file:
3334
file_mime_type = mimetypes.guess_type(file_info.filename)[0]
3435
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
3639
data_uri = f"data:{file_mime_type};name={filename};base64,{base64.b64encode(file.read()).decode()}"
3740
extracted_files.append(data_uri)
3841
elif mime_type in ["application/x-tar", "application/gzip", "application/x-bzip2"]:

0 commit comments

Comments
 (0)