mirror of
https://github.com/Yuvi9587/Kemono-Downloader.git
synced 2025-12-17 07:26:22 +00:00
94 lines
3.2 KiB
Markdown
94 lines
3.2 KiB
Markdown
# 🛠️ KemonoDownloader Refactor Notes
|
||
|
||
## What's Going On
|
||
|
||
This project used to be one giant messy App Script. It worked, but it was hard to maintain or expand. So I cleaned it up and split everything into smaller, more manageable files to make it easier to read, update, and add new stuff later.
|
||
|
||
**⚠️ Heads up:** Since I'm still in the middle of refactoring things, some features might be broken or not working right now. The layout is better, but I still need to update some parts of the logic and dependencies.
|
||
|
||
---
|
||
|
||
## 📁 Folder Layout
|
||
|
||
```
|
||
KemonoDownloader/
|
||
├── main.py # Where the app starts
|
||
├── assets/ # Icons and other static files
|
||
│ └── Kemono.ico
|
||
├── data/
|
||
│ └── creators.json
|
||
├── logs/ # Error logs and other output
|
||
│ └── uncaught_exceptions.log
|
||
└── src/ # Main code lives here
|
||
├── __init__.py
|
||
├── ui/ # UI-related code
|
||
│ ├── __init__.py
|
||
│ ├── main_window.py
|
||
│ └── dialogs/
|
||
│ ├── __init__.py
|
||
│ ├── ConfirmAddAllDialog.py
|
||
│ ├── CookieHelpDialog.py
|
||
│ ├── DownloadExtractedLinksDialog.py
|
||
│ ├── DownloadFinishedDialog.py
|
||
│ └── ... (more dialogs)
|
||
├── core/ # The brain of the app
|
||
│ ├── __init__.py
|
||
│ ├── manager.py
|
||
│ ├── workers.py
|
||
│ └── api_client.py
|
||
├── services/ # Downloading stuff happens here
|
||
│ ├── __init__.py
|
||
│ ├── drive_downloader.py
|
||
│ └── multipart_downloader.py
|
||
├── utils/ # Helper functions
|
||
│ ├── __init__.py
|
||
│ ├── file_utils.py
|
||
│ ├── network_utils.py
|
||
│ └── text_utils.py
|
||
├── config/ # Constants and settings
|
||
│ ├── __init__.py
|
||
│ └── constants.py
|
||
└── i18n/ # Translations (if needed)
|
||
├── __init__.py
|
||
└── translator.py
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ Why Bother Refactoring?
|
||
|
||
- Everything’s now broken into smaller parts, so it’s easier to work with.
|
||
- Easier to test, fix, and add stuff.
|
||
- Prepping the project to grow without becoming a mess again.
|
||
- Separated the UI from the app logic so they don’t get tangled.
|
||
|
||
---
|
||
|
||
## 🚧 What’s Still Broken
|
||
|
||
- Some features don’t work yet or haven’t been tested since the changes.
|
||
- Still need to:
|
||
- Reconnect the UI to the updated logic.
|
||
- Move over some of the old script code into proper modules.
|
||
- Make sure settings and cookies work properly in the new setup.
|
||
|
||
---
|
||
|
||
## 📌 To-Do List
|
||
|
||
- Test all the dialogs and UI stuff.
|
||
- Make sure the download services and API calls are working.
|
||
- Reconnect the UI with the new logic in `core/manager.py`.
|
||
- Add more logging and maybe some unit tests too.
|
||
|
||
---
|
||
|
||
## 🐞 Found a Bug?
|
||
|
||
If something's busted:
|
||
|
||
- Feel free to open an issue if you're using this.
|
||
- Or just message me. Feedback helps a lot while I’m still figuring things out.
|
||
|
||
Thanks for checking it out! Still a work in progress, but getting there.
|