[PR #166] [MERGED] [cleanup] Flatten the pseudo-src layout #168

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

📋 Pull Request Information

Original PR: https://github.com/Glitchy-Sheep/boosty-downloader/pull/166
Author: @Glitchy-Sheep
Created: 8/20/2026
Status: ✅ Merged
Merged: 8/20/2026
Merged by: @Glitchy-Sheep

Base: main ← Head: chore/flatten-src


📝 Commits (1)

  • 8dafd39 chore: Flatten the pseudo-src layout

📊 Changes

136 files changed (+295 additions, -296 deletions)

View changed files

📝 boosty_downloader/application/__init__.py (+0 -0)
📝 boosty_downloader/application/di/__init__.py (+0 -0)
📝 boosty_downloader/application/di/app_environment.py (+5 -5)
📝 boosty_downloader/application/di/download_context.py (+5 -5)
📝 boosty_downloader/application/di/initialized_app.py (+5 -5)
📝 boosty_downloader/application/exceptions/__init__.py (+0 -0)
📝 boosty_downloader/application/exceptions/application_errors.py (+0 -0)
📝 boosty_downloader/application/failure_streak.py (+0 -0)
📝 boosty_downloader/application/filtering.py (+1 -1)
📝 boosty_downloader/application/mappers/__init__.py (+0 -0)
📝 boosty_downloader/application/mappers/audio.py (+2 -2)
📝 boosty_downloader/application/mappers/external_video.py (+2 -2)
📝 boosty_downloader/application/mappers/file.py (+2 -2)
📝 boosty_downloader/application/mappers/html_converter.py (+2 -2)
📝 boosty_downloader/application/mappers/image.py (+2 -2)
📝 boosty_downloader/application/mappers/link_header_text.py (+2 -2)
📝 boosty_downloader/application/mappers/list.py (+4 -4)
📝 boosty_downloader/application/mappers/ok_boosty_video.py (+4 -4)
📝 boosty_downloader/application/mappers/post_mapper.py (+8 -8)
📝 boosty_downloader/application/ok_video_ranking.py (+1 -1)

...and 80 more files

📄 Description

[cleanup] Flatten the pseudo-src layout

Summary

Final cleanup PR (audit этап 2). boosty_downloader/src/{application,cli,domain,infrastructure} moves up to boosty_downloader/*. The diff is large (136 files) but almost entirely mechanical renames: +295/-296 lines.

Why

  • The src/ segment looked like a real src-layout but was not one: it sat inside the package and gave zero import isolation - a false signal to anyone reading the repo
  • Every one of 285 import statements carried the dead .src. segment; module paths now read as architecture: boosty_downloader.application.use_cases
  • The upcoming layer-boundary work (import-linter contracts, composition root) writes rules against these package names
  • This PR conflicts with every open branch by design, so it goes last in the stage, with an empty queue

What changed

  • git mv of the four layer directories; the empty src/__init__.py dropped (some pairs show as add+delete instead of rename - those are empty __init__.py files, content identical)
  • Substring rewrite of every boosty_downloader.src. reference in tracked files - including the plain-string Jinja PackageLoader path in renderer.py that an import-only regex would have missed, failing only at render time
  • Docs tree updated (docs/development/README.md); configs, CI and packaging reference only the top package and needed no changes

Verification

  • task check + task test green: 174 passed + 1 xfail (the e2e runs the full download pipeline against a local server on the flattened package)
  • Integration tests collect 6/6
  • task build: wheel carries all 7 Jinja templates (CI now asserts this); clean-venv install -> --version works, rendering through the installed flat package works
  • No changelog entry: internal layout only (ci/skip-changelog)

🔄 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/166 **Author:** [@Glitchy-Sheep](https://github.com/Glitchy-Sheep) **Created:** 8/20/2026 **Status:** ✅ Merged **Merged:** 8/20/2026 **Merged by:** [@Glitchy-Sheep](https://github.com/Glitchy-Sheep) **Base:** `main` ← **Head:** `chore/flatten-src` --- ### 📝 Commits (1) - [`8dafd39`](https://github.com/Glitchy-Sheep/boosty-downloader/commit/8dafd397453632afa1c27c49a7d8f20da16ebcd9) chore: Flatten the pseudo-src layout ### 📊 Changes **136 files changed** (+295 additions, -296 deletions) <details> <summary>View changed files</summary> 📝 `boosty_downloader/application/__init__.py` (+0 -0) 📝 `boosty_downloader/application/di/__init__.py` (+0 -0) 📝 `boosty_downloader/application/di/app_environment.py` (+5 -5) 📝 `boosty_downloader/application/di/download_context.py` (+5 -5) 📝 `boosty_downloader/application/di/initialized_app.py` (+5 -5) 📝 `boosty_downloader/application/exceptions/__init__.py` (+0 -0) 📝 `boosty_downloader/application/exceptions/application_errors.py` (+0 -0) 📝 `boosty_downloader/application/failure_streak.py` (+0 -0) 📝 `boosty_downloader/application/filtering.py` (+1 -1) 📝 `boosty_downloader/application/mappers/__init__.py` (+0 -0) 📝 `boosty_downloader/application/mappers/audio.py` (+2 -2) 📝 `boosty_downloader/application/mappers/external_video.py` (+2 -2) 📝 `boosty_downloader/application/mappers/file.py` (+2 -2) 📝 `boosty_downloader/application/mappers/html_converter.py` (+2 -2) 📝 `boosty_downloader/application/mappers/image.py` (+2 -2) 📝 `boosty_downloader/application/mappers/link_header_text.py` (+2 -2) 📝 `boosty_downloader/application/mappers/list.py` (+4 -4) 📝 `boosty_downloader/application/mappers/ok_boosty_video.py` (+4 -4) 📝 `boosty_downloader/application/mappers/post_mapper.py` (+8 -8) 📝 `boosty_downloader/application/ok_video_ranking.py` (+1 -1) _...and 80 more files_ </details> ### 📄 Description # [cleanup] Flatten the pseudo-src layout ## Summary Final cleanup PR (audit этап 2). `boosty_downloader/src/{application,cli,domain,infrastructure}` moves up to `boosty_downloader/*`. The diff is large (136 files) but almost entirely mechanical renames: +295/-296 lines. ## Why - The `src/` segment looked like a real src-layout but was not one: it sat inside the package and gave zero import isolation - a false signal to anyone reading the repo - Every one of 285 import statements carried the dead `.src.` segment; module paths now read as architecture: `boosty_downloader.application.use_cases` - The upcoming layer-boundary work (import-linter contracts, composition root) writes rules against these package names - This PR conflicts with every open branch by design, so it goes last in the stage, with an empty queue ## What changed - `git mv` of the four layer directories; the empty `src/__init__.py` dropped (some pairs show as add+delete instead of rename - those are empty `__init__.py` files, content identical) - Substring rewrite of every `boosty_downloader.src.` reference in tracked files - including the plain-string Jinja `PackageLoader` path in `renderer.py` that an import-only regex would have missed, failing only at render time - Docs tree updated (`docs/development/README.md`); configs, CI and packaging reference only the top package and needed no changes ## Verification - `task check` + `task test` green: 174 passed + 1 xfail (the e2e runs the full download pipeline against a local server on the flattened package) - Integration tests collect 6/6 - `task build`: wheel carries all 7 Jinja templates (CI now asserts this); clean-venv install -> `--version` works, rendering through the installed flat package works - No changelog entry: internal layout only (`ci/skip-changelog`) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-13 19:48:16 +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#168
No description provided.