Skip to content

[metadata.tvshows.themoviedatabase.org.python] v1.8.2#595

Merged
pkscout merged 1 commit intoxbmc:piersfrom
pkscout:piers-tmdb-tvshows
Mar 1, 2026
Merged

[metadata.tvshows.themoviedatabase.org.python] v1.8.2#595
pkscout merged 1 commit intoxbmc:piersfrom
pkscout:piers-tmdb-tvshows

Conversation

@pkscout
Copy link
Copy Markdown
Member

@pkscout pkscout commented Feb 28, 2026

Description

  • added option to separate posters and keyart
  • updated process for separating certain artwork types for better trimming
  • updated language files

Checklist:

  • My code follows the add-on rules and piracy stance of this project.
  • I have read the CONTRIBUTING document
  • Each add-on submission should be a single commit with using the following style: [plugin.video.foo] v1.0.0

Comment thread metadata.tvshows.themoviedb.org.python/libs/data_utils.py Outdated
Comment thread metadata.tvshows.themoviedb.org.python/libs/tmdb.py Outdated
Comment thread metadata.tvshows.themoviedb.org.python/libs/tmdb.py Outdated
@kodiai
Copy link
Copy Markdown

kodiai bot commented Feb 28, 2026

Kodiai Review Summary

What Changed

Adds option to separate posters/keyart and updates artwork categorization logic by moving image type separation from data_utils.py to tmdb.py.

Reviewed: core logic, docs

Strengths

  • ✅ Proper setting integration with new CATKEYART option following existing CATLANDSCAPE pattern
  • ✅ Consistent language file updates across all locales with appropriate msgid for new categorization option

Observations

Impact

[MAJOR] metadata.tvshows.themoviedb.org.python/libs/data_utils.py (217): Potential None value added to fanart_list
Appends fanart entry without checking if theurl is None, which occurs for SVG files (line 196-197 returns None, None)

[MAJOR] metadata.tvshows.themoviedb.org.python/libs/tmdb.py (488): Non-Pythonic None comparison in landscape categorization
Uses != None instead of is not None, violating PEP 8 and potentially causing incorrect categorization with objects that override __eq__

[MAJOR] metadata.tvshows.themoviedb.org.python/libs/tmdb.py (498): Non-Pythonic None comparison in keyart categorization
Uses == None instead of is None, violating PEP 8 and potentially causing incorrect categorization with objects that override __eq__

Verdict

🔴 Address before merging -- [3] blocking issue(s) found

Review Details
  • Files reviewed: 84

  • Lines changed: +650 -141

  • Profile: minimal (auto, lines changed: 791)

  • Author: core (adapted tone)

  • Findings: 0 critical, 6 major, 0 medium, 0 minor (includes 3 from summary observations)

  • Review completed: 2026-02-28T18:46:08.389Z

  • Review scope: Reviewed 50/84 files, prioritized by risk

  • Full review: 30 files | Abbreviated review: 20 files | Not reviewed: 34 files

Files not fully reviewed (sorted by risk score)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.kn_in/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.ko_kr/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.lt_lt/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.lv_lv/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.mi/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.mk_mk/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.ml_in/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.mn_mn/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.ms_my/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.mt_mt/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.my_mm/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.nb_no/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.nl_nl/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.pl_pl/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.pt_br/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.pt_pt/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.ro_ro/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.ru_ru/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.si_lk/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.sk_sk/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.sl_si/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.sq_al/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.sr_rs/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.sr_rs@latin/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.szl/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.ta_in/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.te_in/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.tg_tj/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.th_th/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.tr_tr/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.uz_uz/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.vi_vn/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/resources/language/resource.language.zh_tw/strings.po (risk: 37)
  • metadata.tvshows.themoviedb.org.python/changelog.txt (risk: 18)
- Keyword parsing: - focus hints: [METADATA.TVSHOWS.THEMOVIEDATABASE.ORG.PYTHON]

- added option to separate posters and keyart
- updated process for separating certain artwork types for better trimming
- updated language files

Update metadata.tvshows.themoviedb.org.python/libs/data_utils.py

Update metadata.tvshows.themoviedb.org.python/libs/tmdb.py

Update metadata.tvshows.themoviedb.org.python/libs/tmdb.py

Co-Authored-By: kodiai[bot] <260572656+kodiai[bot]@users.noreply.github.com>
@pkscout
Copy link
Copy Markdown
Member Author

pkscout commented Feb 28, 2026

@kodiai review

Copy link
Copy Markdown

@kodiai kodiai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kodiai response

Decision: APPROVE

Issues: none

@pkscout pkscout merged commit 327c3a9 into xbmc:piers Mar 1, 2026
@pkscout pkscout deleted the piers-tmdb-tvshows branch March 6, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant