94 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

2025-07-01 23:13:50 +05:30
# 🛠️ KemonoDownloader Refactor Notes
2025-07-02 09:30:50 +05:30
## What's Going On
2025-07-01 23:13:50 +05:30
2025-07-02 09:30:50 +05:30
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.
2025-07-01 23:13:50 +05:30
2025-07-02 09:30:50 +05:30
**⚠️ 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.
2025-07-01 23:13:50 +05:30
---
2025-07-02 09:30:50 +05:30
## 📁 Folder Layout
2025-07-01 23:13:50 +05:30
2025-07-02 09:30:50 +05:30
```
2025-07-01 23:13:50 +05:30
KemonoDownloader/
2025-07-02 09:30:50 +05:30
├── main.py # Where the app starts
├── assets/ # Icons and other static files
2025-07-01 23:13:50 +05:30
│ └── Kemono.ico
2025-07-06 17:34:04 +05:30
├── data/
2025-07-03 18:41:50 +05:30
│ └── creators.json
2025-07-02 09:30:50 +05:30
├── logs/ # Error logs and other output
2025-07-01 23:13:50 +05:30
│ └── uncaught_exceptions.log
2025-07-02 09:30:50 +05:30
└── src/ # Main code lives here
2025-07-01 23:13:50 +05:30
├── __init__.py
2025-07-02 09:30:50 +05:30
├── ui/ # UI-related code
2025-07-01 23:13:50 +05:30
│ ├── __init__.py
│ ├── main_window.py
│ └── dialogs/
│ ├── __init__.py
│ ├── ConfirmAddAllDialog.py
│ ├── CookieHelpDialog.py
│ ├── DownloadExtractedLinksDialog.py
│ ├── DownloadFinishedDialog.py
2025-07-02 09:30:50 +05:30
│ └── ... (more dialogs)
├── core/ # The brain of the app
2025-07-01 23:13:50 +05:30
│ ├── __init__.py
│ ├── manager.py
│ ├── workers.py
│ └── api_client.py
2025-07-02 09:30:50 +05:30
├── services/ # Downloading stuff happens here
2025-07-01 23:13:50 +05:30
│ ├── __init__.py
│ ├── drive_downloader.py
│ └── multipart_downloader.py
2025-07-02 09:30:50 +05:30
├── utils/ # Helper functions
2025-07-01 23:13:50 +05:30
│ ├── __init__.py
│ ├── file_utils.py
│ ├── network_utils.py
│ └── text_utils.py
2025-07-02 09:30:50 +05:30
├── config/ # Constants and settings
2025-07-01 23:13:50 +05:30
│ ├── __init__.py
│ └── constants.py
2025-07-02 09:30:50 +05:30
└── i18n/ # Translations (if needed)
2025-07-01 23:13:50 +05:30
├── __init__.py
└── translator.py
```
---
2025-07-02 09:30:50 +05:30
## ✅ Why Bother Refactoring?
2025-07-01 23:13:50 +05:30
2025-07-02 09:30:50 +05:30
- Everythings now broken into smaller parts, so its 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 dont get tangled.
2025-07-01 23:13:50 +05:30
---
2025-07-02 09:30:50 +05:30
## 🚧 Whats Still Broken
2025-07-01 23:13:50 +05:30
2025-07-02 09:30:50 +05:30
- Some features dont work yet or havent 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.
2025-07-01 23:13:50 +05:30
---
2025-07-02 09:30:50 +05:30
## 📌 To-Do List
2025-07-01 23:13:50 +05:30
2025-07-02 09:30:50 +05:30
- 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.
2025-07-01 23:13:50 +05:30
---
2025-07-02 09:30:50 +05:30
## 🐞 Found a Bug?
2025-07-01 23:13:50 +05:30
2025-07-02 09:30:50 +05:30
If something's busted:
2025-07-01 23:13:50 +05:30
2025-07-02 09:30:50 +05:30
- Feel free to open an issue if you're using this.
- Or just message me. Feedback helps a lot while Im still figuring things out.
2025-07-01 23:13:50 +05:30
2025-07-03 18:41:50 +05:30
Thanks for checking it out! Still a work in progress, but getting there.