Skip to content

[script.cu.lrclyrics] 6.7.1#2801

Open
ronie wants to merge 1 commit intoxbmc:matrixfrom
ronie:script.cu.lrclyrics-6.7.1
Open

[script.cu.lrclyrics] 6.7.1#2801
ronie wants to merge 1 commit intoxbmc:matrixfrom
ronie:script.cu.lrclyrics-6.7.1

Conversation

@ronie
Copy link
Member

@ronie ronie commented Feb 23, 2026

this update fix several broken scrapers.

Description

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: [script.foo.bar] 1.0.0

Additional information :

  • Submitting your add-on to this specific branch makes it available to any Kodi version equal or higher than the branch name with the applicable Kodi dependencies limits.
  • add-on development wiki page.
  • Kodi pydocs provide information about the Python API
  • PEP8 codingstyle which is considered best practise but not mandatory.
  • This add-on repository has automated code guideline check which could help you improve your coding. You can find the results of these check at Codacy. You can create your own account as well to continuously monitor your python coding before submitting to repo.
  • Development questions can be asked in the add-on development section on the Kodi forum.

@kodiai
Copy link

kodiai bot commented Feb 23, 2026

Kodiai Review Summary

What Changed

Fixes several broken lyrics scrapers (genius, musixmatch, supermusic, darklyrics) by updating HTML parsing patterns and switching to new API endpoints.

Reviewed: core logic, docs

Strengths

  • ✅ Raw string literals correctly used throughout for regex patterns, preventing future syntax warnings
  • ✅ Proper use of difflib for fuzzy matching artist/song names improves scraper robustness

Observations

Impact

[MAJOR] script.cu.lrclyrics/lib/culrcscrapers/genius/lyricsScraper.py (40): Hard-coded array index causes crash when API response structure differs
Crashes with IndexError when data['response']['sections'] has fewer than 2 elements or when structure is unexpected

[MAJOR] script.cu.lrclyrics/lib/culrcscrapers/supermusic/lyricsScraper.py (80): Copy-paste error fetches wrong URL in retry logic
Line 80 uses original url instead of newurl variable, causing incorrect page to be fetched when retrying

[MAJOR] script.cu.lrclyrics/lib/culrcscrapers/supermusic/lyricsScraper.py (85): Missing null check on BeautifulSoup find result
Crashes with AttributeError when soup.find('div', {'class': 'chord-text'}) returns None

Verdict

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

Review Details
  • Files reviewed: 89

  • Lines changed: +280 -2585

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

  • Author: core (adapted tone)

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

  • Review completed: 2026-02-23T23:17:22.747Z

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

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

Files not fully reviewed (sorted by risk score)
  • script.cu.lrclyrics/resources/language/resource.language.fo_fo/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.fr_ca/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.gl_es/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.he_il/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.hi_in/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.hu_hu/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.hy_am/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.is_is/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.ja_jp/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.lt_lt/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.lv_lv/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.mi/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.mk_mk/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.ml_in/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.mn_mn/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.ms_my/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.mt_mt/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.my_mm/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.nb_no/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.nl_nl/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.pt_pt/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.ro_ro/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.si_lk/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.sl_si/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.sq_al/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.sr_rs/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.sr_rs@latin/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.szl/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.ta_in/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.te_in/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.tg_tj/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.th_th/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.tr_tr/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.uk_ua/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.uz_uz/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.vi_vn/strings.po (risk: 34)
  • script.cu.lrclyrics/resources/language/resource.language.zh_tw/strings.po (risk: 34)
  • script.cu.lrclyrics/addon.xml (risk: 32)
  • script.cu.lrclyrics/changelog.txt (risk: 20)
- Keyword parsing: - focus hints: [SCRIPT.CU.LRCLYRICS]

@ronie ronie force-pushed the script.cu.lrclyrics-6.7.1 branch from c27b00f to d4ac5ad Compare February 23, 2026 23:30
@ronie
Copy link
Member Author

ronie commented Feb 23, 2026

fixes issues found by AI (nice feature btw)

@ronie ronie force-pushed the script.cu.lrclyrics-6.7.1 branch from d4ac5ad to 923dfca Compare February 25, 2026 23:22
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