mirror of
https://github.com/Glitchy-Sheep/boosty-downloader.git
synced 2026-10-14 21:33:23 +00:00
[PR #56] [MERGED] NEXT GEN UPDATE: Major project structure refactor, UX Enhanced #81
Labels
No labels
api-drift
bug
ci
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Glitchy-Sheep/boosty-downloader#81
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Glitchy-Sheep/boosty-downloader/pull/56
Author: @Glitchy-Sheep
Created: 8/5/2025
Status: ✅ Merged
Merged: 8/10/2025
Merged by: @Glitchy-Sheep
Base:
dev← Head:refactor/major-project-structure-refactor📝 Commits (10+)
b5251e1refactor: 🚚 Initial attempt to create a better project structurefbac343refactor: ♻️ Fix / Optimize import pathsbe3de02refactor: ♻️ Define domain models for downloading posts and represent its different parts815f18cfeat: ✨ Add a more robust exception system for the file downloader1af5148feat: ✨ Introduce a better HTML generator which is independent of boosty/domain related stuffc8d366frefactor: ♻️ Big a$$ commit (large structure refactor)e62ecc5fix: 🐛 Fix file downloading process with signed_query attachedce3e894feat: ✨ Use basic rich reporter implementation4df753ffix: 🐛 Fix downloading progress advancing, integrate caching layereba2098feat: ✨ Add error handling with clean up📊 Changes
97 files changed (+3662 additions, -1179 deletions)
View changed files
📝
boosty_downloader/main.py(+236 -151)📝
boosty_downloader/src/application/__init__.py(+0 -0)📝
boosty_downloader/src/application/di/__init__.py(+0 -0)➕
boosty_downloader/src/application/di/app_environment.py(+114 -0)➕
boosty_downloader/src/application/di/download_context.py(+32 -0)📝
boosty_downloader/src/application/exceptions/__init__.py(+0 -0)➕
boosty_downloader/src/application/exceptions/application_errors.py(+54 -0)➕
boosty_downloader/src/application/filtering.py(+49 -0)➕
boosty_downloader/src/application/mappers/__init__.py(+30 -0)➕
boosty_downloader/src/application/mappers/external_video.py(+20 -0)➕
boosty_downloader/src/application/mappers/file.py(+16 -0)➕
boosty_downloader/src/application/mappers/html_converter.py(+71 -0)➕
boosty_downloader/src/application/mappers/image.py(+13 -0)➕
boosty_downloader/src/application/mappers/link_header_text.py(+156 -0)➕
boosty_downloader/src/application/mappers/list.py(+69 -0)➕
boosty_downloader/src/application/mappers/ok_boosty_video.py(+38 -0)➕
boosty_downloader/src/application/mappers/post_mapper.py(+67 -0)📝
boosty_downloader/src/application/ok_video_ranking.py(+27 -27)📝
boosty_downloader/src/application/use_cases/__init__.py(+0 -0)➕
boosty_downloader/src/application/use_cases/check_total_posts.py(+62 -0)...and 77 more files
📄 Description
📌 NEXT GEN UPDATE: Major Project Structure Refactor, UX Enhanced
📝 Description
This is a milestone update for the project.
I’ve rethought the overall project design, moving toward a more DDD-like architecture to make the codebase cleaner, modular, and maintainable.
Ambiguous imports are now resolved, and the infamous god-object-manager pattern is gone.
The new structure is more extensible, and it allowed me to implement upcoming features more smoothly - this is no longer a personal MVP, it's now becoming a usable tool. (I hope, lol)
Also introduces new features, caching improvements, and a better UX overall.
🔄 Changelog
✨ Features
🔔 Automatic update checker
You'll now be notified when a new version is available on PyPI.
📦 Improved caching layer
videos,files) to avoid unnecessary re-downloads.🎨 Enhanced HTML generation
post_contentnow shows images and videos.📊 Improved CLI UX
🧱 New project structure
🔃 Retry Logic
🐛 Fixes
Ctrl+Cinterruption with clean ups.🔄 Changed
🗑 Removed
BURN IT WITH FIRE AHAHAHA📷 Screenshots
New project structure overview
✅ Checklist
make testand manual check)make lint && make format)⚠ Notes
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.