Kometa's imdb_search interests: filter needs a name -> in-id map to translate friendly interest
names into the in######## IDs IMDb's GraphQL advancedTitleSearch expects. That catalog changes over
time (IMDb currently exposes 313 interests; Kometa's historical hardcoded map had 211). Rather than
hand-maintain it, Kometa fetches a live copy at runtime from:
https://raw.githubusercontent.com/Kometa-Team/IMDb-Interests/main/INTERESTS.json
(see interests_url in modules/imdb.py), falling back to the bundled interest_options_fallback
snapshot if the fetch fails.
generate_interests.py— queries IMDb's public GraphQLinterestCategoriescatalog and writesINTERESTS.json({normalized_name: in-id}, keys lowercased with spaces/hyphens -> underscores).update-interests.yml— a scheduled GitHub Action (weekly + manual) that runs the generator and commitsINTERESTS.jsonwhen it changes.
- Create the
Kometa-Team/IMDb-Interestsrepo (default branchmain). - Copy
generate_interests.pyto the repo root. - Copy
update-interests.ymlto.github/workflows/update-interests.yml. - Run it once (manually via
workflow_dispatch, orpython generate_interests.py) to create the initialINTERESTS.json.
The same generator can be used to periodically refresh Kometa's bundled interest_options_fallback
in modules/imdb.py.