feat: merge upstream v7.1.7 (Audionut/Upload-Assistant)#192
Conversation
# Conflicts: # src/takescreens.py # src/trackers/BJS.py
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughVersion v7.1.7 release: bump version and release notes; normalize description metadata types; fix screenshot frame-info key lookups; refactor BJS torrent processing to fetch/parse torrent pages and extract item names; GPW now records skip reason; SP adds upload additional-data helper. Changesv7.1.7 Release Changes
Sequence Diagram(s)sequenceDiagram
participant search_existing
participant _fetch_torrent_page
participant _extract_item_name
search_existing->>_fetch_torrent_page: request /torrents.php?torrentid=... (task_info)
_fetch_torrent_page-->>search_existing: return {success, soup | error, task_info}
search_existing->>_extract_item_name: provide soup, torrent_id
_extract_item_name-->>search_existing: return item_name (file/folder label) or ''
search_existing->>search_existing: build result (use item_name or fallback description/title)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Tip 💬 Introducing Slack Agent: The best way for teams to turn conversations into code.Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.
Built for teams:
One agent for your entire SDLC. Right inside Slack. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
data/version.py (1)
2772-2772:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winCritical: Active version assignment not updated to v7.1.7.
Line 2772 still assigns
__version__ = "v7.1.6", but this is the active version that will be used at runtime (as noted in the comment above). Since you've added v7.1.7 release notes at the top and this PR merges upstream v7.1.7, this line must also be updated to match.🐛 Proposed fix
-__version__ = "v7.1.6" +__version__ = "v7.1.7"🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@data/version.py` at line 2772, The runtime version variable __version__ is still set to "v7.1.6" but should be updated to match the new release; change the assignment of __version__ in data/version.py (the __version__ variable near the end of the file) to "v7.1.7" so the active runtime version matches the added v7.1.7 release notes.
🧹 Nitpick comments (1)
src/trackers/BJS.py (1)
597-616: ⚡ Quick winUse the search-row title as a fallback before dropping the candidate.
_extract_torrent_ids()still carriesdescription_text, but this path only keeps a result when_extract_item_name()succeeds. Iffiles_{torrent_id}is absent or the file-list markup differs for some torrents, those dupes disappear entirely even though the search row already provided a usable name.Suggested fix
- item_name = self._extract_item_name(soup_obj, torrent_id) + item_name = self._extract_item_name(soup_obj, torrent_id) or str(task_info.get("description_text") or "")🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/trackers/BJS.py` around lines 597 - 616, The code currently only appends a candidate when _extract_item_name(soup_obj, torrent_id) returns a truthy name, causing items to be dropped when file-list markup differs; update the logic in the block that computes item_name (around _extract_item_name and found_items) to treat the search-row title/description_text from task_info as a fallback: if item_name is falsy, set item_name = task_info.get("description_text") or task_info.get("title") (or another search-row field present in task_info) before deciding to append, and still include size, link and torrent_description when adding to found_items; ensure you reference _extract_item_name and the found_items append path so the fallback is applied only there.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/trackers/BJS.py`:
- Around line 470-486: The TV branch in _should_process_torrent currently
ignores current_resolution and params["upload_resolution"], causing
different-resolution dupes to be treated as matches; update
_should_process_torrent to also require resolution equality (compare
current_resolution against params["upload_resolution"]) before returning True
for season or episode matches. Specifically, inside the TV block in
_should_process_torrent: after confirming season matches (int(current_season) ==
int(params["upload_season_num"])), add a check that either
params["upload_resolution"] is empty/None or equals current_resolution; then
apply the existing is_pack/episode logic (params["is_tv_pack"] -> is_pack, else
allow pack OR episode match only if resolution check passed). Ensure the
resolution comparison is done before any True return paths so 1080p uploads
won't match 720p/2160p rows.
---
Outside diff comments:
In `@data/version.py`:
- Line 2772: The runtime version variable __version__ is still set to "v7.1.6"
but should be updated to match the new release; change the assignment of
__version__ in data/version.py (the __version__ variable near the end of the
file) to "v7.1.7" so the active runtime version matches the added v7.1.7 release
notes.
---
Nitpick comments:
In `@src/trackers/BJS.py`:
- Around line 597-616: The code currently only appends a candidate when
_extract_item_name(soup_obj, torrent_id) returns a truthy name, causing items to
be dropped when file-list markup differs; update the logic in the block that
computes item_name (around _extract_item_name and found_items) to treat the
search-row title/description_text from task_info as a fallback: if item_name is
falsy, set item_name = task_info.get("description_text") or
task_info.get("title") (or another search-row field present in task_info) before
deciding to append, and still include size, link and torrent_description when
adding to found_items; ensure you reference _extract_item_name and the
found_items append path so the fallback is applied only there.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: c8431257-612d-4091-8ad5-64bbf564df8e
📒 Files selected for processing (6)
data/version.pysrc/get_desc.pysrc/takescreens.pysrc/trackers/BJS.pysrc/trackers/GPW.pysrc/trackers/SP.py
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Merge des commits upstream v7.1.7 dans master.
Commits intégrés depuis origin_origin/master :
Résolution des conflits :
src/takescreens.py: utilisation destr()pour les clés deframe_info_map(fix upstream Fix key type for frame_info retrieval Audionut/Upload-Assistant#1363)src/trackers/BJS.py: adoption du refactor upstream (nouveau layout) + conservation du fix localget_runtime(coercion sécurisée devideo_duration)Summary by CodeRabbit
Chores
Bug Fixes
Refactor