-
-
Notifications
You must be signed in to change notification settings - Fork 249
Use native 7z to extract files and calculate hashes #2232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Running Code Quality on PRs by uploading data to Trunk will soon be removed. You can still run checks on your PRs using trunk-action - see the migration guide for more information. |
☂️ Python Coverage
Overall Coverage
New FilesNo new covered files... Modified Files
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR replaces the py7zr Python library dependency with system-level 7zip CLI tool for calculating file hashes from 7zip archives. The change moves from a Python-based approach to executing the system's 7zip binary.
- Removes py7zr dependency from pyproject.toml and associated imports
- Implements new CLI-based 7zip processing using subprocess calls
- Updates Docker configurations to use appropriate 7zip packages
- Removes unrelated frontend navigation code
Reviewed Changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
File | Description |
---|---|
pyproject.toml | Removes py7zr dependency |
backend/utils/archive_7zip.py | Complete rewrite to use CLI 7z instead of py7zr library |
backend/handler/filesystem/roms_handler.py | Updates imports and function calls to use new CLI-based approach |
docker/Dockerfile | Changes from 7zip to p7zip package |
Dockerfile | Changes from p7zip to p7zip-full package |
frontend/src/views/Gallery/Search.vue | Removes navigation logic (unrelated to 7z changes) |
frontend/src/views/Gallery/Collection/BaseCollection.vue | Removes navigation logic (unrelated to 7z changes) |
frontend/src/components/Details/States.vue | Adds explicit TypeScript type annotation |
Description
Explain the changes or enhancements you are proposing with this pull request.
py7zr
adds 30MB+ to the image size in useless dependencies for "compatibility". This PR replaces it with the native7zip/p7zip
library, opting to call sub-processes and parse the output.Checklist
Please check all that apply.