[PR #87] [MERGED] Add audio downloading support #103

Closed
opened 2026-10-13 19:47:19 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Glitchy-Sheep/boosty-downloader/pull/87
Author: @Glitchy-Sheep
Created: 1/5/2026
Status: ✅ Merged
Merged: 1/6/2026
Merged by: @Glitchy-Sheep

Base: main ← Head: fix/add-audio-fragments-support


📝 Commits (10+)

  • 71eb8db refactor: ♻️ Better naming for cache functions
  • e85b0c5 refactor: ♻️ Refactor rich logger and add exception method to satisfy linter
  • a474260 feat: ✨ Refactor post cache and add migration mechanism with supported audio_downloaded field
  • 90a5dea refactor: 🚚 Rename package interfaces -> cli (more concise)
  • d979100 refactor: ♻️ Refactor and simplify download_single_post.py use case
  • ce92130 feat: ✨ Add audio chunk downloading support
  • 60a91dc feat: ✨ Add downloaded audio chunks html rendering support
  • ffa0738 fix: 🚨 Fix linter warnings using pydantic Field
  • 252ed96 fix: 🚨 Fix typing issues
  • aeffbf7 chore: 🔖 Bump version to 2.1.0

📊 Changes

45 files changed (+786 additions, -556 deletions)

View changed files

📝 CHANGELOG.md (+5 -0)
📝 boosty_downloader/main.py (+17 -17)
📝 boosty_downloader/src/application/di/app_environment.py (+4 -4)
📝 boosty_downloader/src/application/di/download_context.py (+1 -1)
📝 boosty_downloader/src/application/filtering.py (+1 -0)
📝 boosty_downloader/src/application/mappers/__init__.py (+2 -0)
➕ boosty_downloader/src/application/mappers/audio.py (+16 -0)
📝 boosty_downloader/src/application/mappers/html_converter.py (+6 -0)
📝 boosty_downloader/src/application/mappers/post_mapper.py (+3 -0)
📝 boosty_downloader/src/application/use_cases/download_single_post.py (+95 -136)
📝 boosty_downloader/src/cli/__init__.py (+0 -0)
📝 boosty_downloader/src/cli/cli_options.py (+2 -2)
📝 boosty_downloader/src/cli/console_progress_reporter.py (+0 -0)
📝 boosty_downloader/src/cli/help_panels.py (+0 -0)
📝 boosty_downloader/src/domain/post.py (+2 -0)
📝 boosty_downloader/src/domain/post_data_chunks.py (+8 -0)
➕ boosty_downloader/src/infrastructure/boosty_api/models/base.py (+21 -0)
📝 boosty_downloader/src/infrastructure/boosty_api/models/post/base_post_data.py (+2 -0)
📝 boosty_downloader/src/infrastructure/boosty_api/models/post/extra.py (+2 -9)
📝 boosty_downloader/src/infrastructure/boosty_api/models/post/post.py (+2 -11)

...and 25 more files

📄 Description

📌 Add audio downloading support

📝 Description

Added audio chunk downloading support with html rendering

🔄 Changelog

  • ✨ Added:
    • Audio downloading support
    • Audio rendering in the post.html
  • 🛠 Fixed:
    • Problem during downloading posts with audio fragments (validation failed)
  • 🔄 Changed:
    • Now the caching database layer has automigration from old versions of the application to the new ones (not introducing breaking changes)
    • Refactored post caching layer
    • Refactored logger

Closes: #61 #74

✅ Checklist

  • Locally tested (make test and your own judgment)
  • Documentation updated (if necessary)
  • Code follows the project's style guidelines (make lint && make format)

⚠ Notes

Added a new migration mechanism for flexible caching database changes, enabling more solutions for local-only problems in the future


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Glitchy-Sheep/boosty-downloader/pull/87 **Author:** [@Glitchy-Sheep](https://github.com/Glitchy-Sheep) **Created:** 1/5/2026 **Status:** ✅ Merged **Merged:** 1/6/2026 **Merged by:** [@Glitchy-Sheep](https://github.com/Glitchy-Sheep) **Base:** `main` ← **Head:** `fix/add-audio-fragments-support` --- ### 📝 Commits (10+) - [`71eb8db`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/71eb8db05e2d869e7a39fd1bccc6608b4b586940) refactor: :recycle: Better naming for cache functions - [`e85b0c5`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/e85b0c5f63249001fd6cf8063ef599c571adc789) refactor: :recycle: Refactor rich logger and add exception method to satisfy linter - [`a474260`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/a474260bf10a8ab5e59244b552a4cc71d7b26aba) feat: :sparkles: Refactor post cache and add migration mechanism with supported audio_downloaded field - [`90a5dea`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/90a5dea922c765921259d6e15bece65e2b10494b) refactor: :truck: Rename package interfaces -> cli (more concise) - [`d979100`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/d979100f0ce74eda0619b5a9d0b31aa12c5c3f06) refactor: :recycle: Refactor and simplify download_single_post.py use case - [`ce92130`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/ce921309597ab1ca39217c6ff8b457dec78ae66e) feat: :sparkles: Add audio chunk downloading support - [`60a91dc`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/60a91dc1c40ef3f25e975609ffbe306ce6e5397a) feat: :sparkles: Add downloaded audio chunks html rendering support - [`ffa0738`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/ffa0738eabb15f6fe7a1b0b65940a893a9f6ac38) fix: :rotating_light: Fix linter warnings using pydantic Field - [`252ed96`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/252ed963a91025f419396daca6b23d14ee6606f9) fix: :rotating_light: Fix typing issues - [`aeffbf7`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/aeffbf75375153a24f4176c4d19217f1949c5513) chore: :bookmark: Bump version to 2.1.0 ### 📊 Changes **45 files changed** (+786 additions, -556 deletions) <details> <summary>View changed files</summary> 📝 `CHANGELOG.md` (+5 -0) 📝 `boosty_downloader/main.py` (+17 -17) 📝 `boosty_downloader/src/application/di/app_environment.py` (+4 -4) 📝 `boosty_downloader/src/application/di/download_context.py` (+1 -1) 📝 `boosty_downloader/src/application/filtering.py` (+1 -0) 📝 `boosty_downloader/src/application/mappers/__init__.py` (+2 -0) ➕ `boosty_downloader/src/application/mappers/audio.py` (+16 -0) 📝 `boosty_downloader/src/application/mappers/html_converter.py` (+6 -0) 📝 `boosty_downloader/src/application/mappers/post_mapper.py` (+3 -0) 📝 `boosty_downloader/src/application/use_cases/download_single_post.py` (+95 -136) 📝 `boosty_downloader/src/cli/__init__.py` (+0 -0) 📝 `boosty_downloader/src/cli/cli_options.py` (+2 -2) 📝 `boosty_downloader/src/cli/console_progress_reporter.py` (+0 -0) 📝 `boosty_downloader/src/cli/help_panels.py` (+0 -0) 📝 `boosty_downloader/src/domain/post.py` (+2 -0) 📝 `boosty_downloader/src/domain/post_data_chunks.py` (+8 -0) ➕ `boosty_downloader/src/infrastructure/boosty_api/models/base.py` (+21 -0) 📝 `boosty_downloader/src/infrastructure/boosty_api/models/post/base_post_data.py` (+2 -0) 📝 `boosty_downloader/src/infrastructure/boosty_api/models/post/extra.py` (+2 -9) 📝 `boosty_downloader/src/infrastructure/boosty_api/models/post/post.py` (+2 -11) _...and 25 more files_ </details> ### 📄 Description # 📌 Add audio downloading support ## 📝 Description Added audio chunk downloading support with html rendering ## 🔄 Changelog <!-- Please provide a list of general changes made in this PR --> - **✨ Added:** - Audio downloading support - Audio rendering in the post.html - **🛠 Fixed:** - Problem during downloading posts with audio fragments (validation failed) - **🔄 Changed:** - Now the caching database layer has automigration from old versions of the application to the new ones (not introducing breaking changes) - Refactored post caching layer - Refactored logger ## 🎯 Related Issue Closes: #61 #74 ## ✅ Checklist - [ ] Locally tested (`make test` and your own judgment) - [x] Documentation updated (if necessary) - [x] Code follows the project's style guidelines (`make lint && make format`) ## ⚠ Notes Added a new migration mechanism for flexible caching database changes, enabling more solutions for local-only problems in the future --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-13 19:47:19 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Glitchy-Sheep/boosty-downloader#103
No description provided.