Skip to content

Commit

Permalink
Fix filename logic for archive
Browse files Browse the repository at this point in the history
  • Loading branch information
vegito22 committed Nov 12, 2024
1 parent 1d414f2 commit 467c82a
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions llmstack/data/sources/files/archive.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,20 @@
logger = logging.getLogger(__name__)


def extract_archive_files(mime_type, file_name, file_data):
def extract_archive_files(mime_type, archive_filename, file_data):
extracted_files = []
if mime_type == "application/zip":
with zipfile.ZipFile(io.BytesIO(base64.b64decode(file_data))) as archive:
archive_name = archive_filename.split(".zip")[0]
for file_info in archive.infolist():
if file_info.is_dir() or file_info.file_size == 0 or file_info.filename.startswith("__MACOSX"):
continue
with archive.open(file_info) as file:
file_mime_type = mimetypes.guess_type(file_info.filename)[0]
filename = file_info.filename
filename = "/".join(filename.split("/")[1:])
if filename.startswith(archive_name):
filename_parts = filename.split("/")
filename = "/".join(filename_parts[1:]) if len(filename_parts) > 1 else filename
data_uri = f"data:{file_mime_type};name={filename};base64,{base64.b64encode(file.read()).decode()}"
extracted_files.append(data_uri)
elif mime_type in ["application/x-tar", "application/gzip", "application/x-bzip2"]:
Expand Down

0 comments on commit 467c82a

Please sign in to comment.