|
Some checks failed
gitea/file-organizer/pipeline/head There was a failure building this commit
|
||
|---|---|---|
| .vscode | ||
| config | ||
| docs | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| Dockerfile | ||
| entrypoint.sh | ||
| Jenkinsfile | ||
| LICENSE | ||
| README.md | ||
| requirements.txt | ||
file-organizer
This is a custom made software to perform maintenance on downloaded files for DarkBird's anime website.
System Overview
The application consist of a simple API with a single endpoint which starts a job and returns its ID. Then the job is orchestrated on a different thread following these steps:
- Filtering:
Fetch from the qbittorrent API the files that are currently being downloaded in order to filter them out of the process. - Deduplication:
Invoke a Czkawka process to identify duplicate files, keep the appropiate version for each episode. - Moving:
Using regex, identify the directory where each file should be located, and the new name it should have. - Log storage:
Store all the logs for the current job in order to be able to debug and keep trazability of the process.
Development
git clone https://github.com/Jose134/file-organizer.git
cd file-organizer
pip install -r requirements.txt[dev]
Roadmap:
- Be able to move and rename files based on a regex
- Read qbittorrent credentials from .env file
- Implement API endpoint using FastAPI
- Run organization job on a separate thread
- Deduplicate files using Czkawka
- Add unit tests
- Add logging
- Make it run in docker
- Create another endpoint to retrieve the logs of a job
