Jump to content

Emby Homepage "Spotlight Widget" Proof of Concept


Recommended Posts

KobayashiM
Posted
On 1/30/2026 at 5:12 AM, emLmSx said:

Yes, I agree, this is not the latest version. I have the latest version installed on a different server, so I asked how to do this and where it is.

image.png.eacb4c6aef64483e7f08a4f7b0989634.png

I was looking for the same thing and just changed this parameter from 94% to 100%

KobayashiM
Posted

@sh0rtyI love the latest version but I also like how the old version was essentially a banner at the top instead of fullscreen. Is there a clean way to have this middle-ground?  I messed around with the parameters and got it close but when I scale the browser window to 1920x1080 it gets quite cramped. The old version scaled very well.

4K Screen:

image.thumb.png.a180343edff7f6a111c180f4d8736d20.png

 

1080 Screen:

image.thumb.png.1500de6ba9be8a5ab5d6adedfcb10bfc.png

 

sh0rty
Posted
15 minutes ago, KobayashiM said:

@sh0rtyI love the latest version but I also like how the old version was essentially a banner at the top instead of fullscreen. Is there a clean way to have this middle-ground?  I messed around with the parameters and got it close but when I scale the browser window to 1920x1080 it gets quite cramped. The old version scaled very well.

https://github.com/v1rusnl/EmbySpotlight/blob/c02707fb365b45744a9e3790816e5cadf65e6155/Spotlight.js This is the last banner version. 

Regarding your 1080p screen, you can modify line 1026 in the latest version.
Replace

@media (max-width: 1600px), (orientation: portrait) {

with

@media (max-height: 1080px) {

This will hide the overview text in every display size with a height < 1080px.

image.thumb.png.4a68993b26766122e4315e6d9c03d80d.png

 

Or you just move .spotlight .banner-overview (line 999) to the right. For this, simply replace

left: 4vw;

with 

right: 4vw;

in line 999.

image.thumb.png.92776b240db35f423e48f82484685829.png

KobayashiM
Posted

Thanks! I moved the overview text to the right but in cases where the description is long it overlapped some of the other screen elements so I opted to hide it altogether.

I also centered the Play button in 1080 mode but in 4K mode it doesn't stay centered vertically. Couldn't figure out how to make that relative to the container height so still messing with that.

For some reason I lost the ratings badges lol. Not a big deal for me though. It's been fun tinkering with this.

image.thumb.png.321ebbf5186ba7878fa648b152fc109e.png

  • Like 1
Posted

@sh0rtyHi, please tell me where to find the height to reduce it a little. Thank you

sh0rty
Posted
7 minutes ago, emLmSx said:

@sh0rtyHi, please tell me where to find the height to reduce it a little. Thank you

Line 755 + 773. Best bet is when both values are the same. 

Posted

Okay, I get the gray part. I just need to reduce the height. Thanks again

 

image.thumb.png.4e77a77d3d56f960c3ac3ed290adea00.png

sh0rty
Posted

You want to reduce the height of the vignette (the grey overlay)?

Posted
16 часов назад ш0рти сказал:

Вы хотите, чтобы вас выкинули виньетки (серой Накладки)?

Привет, я нашел высоту и хотел попросить вас добавить логотип кинопоиска. Спасибо

sh0rty
Posted

На данный момент нет, так как я не пользуюсь kinopoisk. Надеюсь, что команда Emby когда-нибудь создаст официальный виджет Spotlight.

sh0rty
Posted
7 hours ago, emLmSx said:

Привет, я нашел высоту и хотел попросить вас добавить логотип кинопоиска. Спасибо

😋 Latest version in Github

image.png.9e39991ef9fe7ef4f2d7a703a3637438.png

  • Thanks 1
sh0rty
Posted (edited)

I also added Allociné and local Rating Cache to minimize API-Calls/WebFetches. Please read the release notes for that.

Edited by sh0rty
  • Like 1
yocker
Posted

@sh0rtyHas been bitten by the bug! ;) 

  • Haha 2
Posted
07.02.2026 в 23.48 ш0рти сказал:

😋 Последная вёрсия в Гитхубе

image.png.9e39991ef9fe7ef4f2d7a703a3637438.png

Ох да, большое спасибо

sh0rty
Posted (edited)

New version in GH.
- RT Verifiied Hot badge is now validated via CORS proxy (when enabled)
- Added Oscar wins and nominations via Wikidata SPARQL API.

image.thumb.png.5c88311fdaf353f1647883e83e1c01b0.png

 

The more I tinker with it, the more I'm asking myself why lots of things aren't already present in Emby @GrimReaper. 80% of the widget content is via API calls,  except two RT badge verifications and Allociné.

Edited by sh0rty
  • Like 2
GrimReaper
Posted (edited)

Are keywords (or is there an endpoint that'd make them) included in MDBList response? 

Edited by GrimReaper
sh0rty
Posted

@GrimReaperYes, if you use append-to-response, e.g. for Godfather: https://api.mdblist.com/tmdb/movie/238?append_to_response=keyword&apikey=YOUR_API_KEY
TMDB API delivers keywords also, but much less.

{
  "title": "The Godfather",
  "year": 1972,
  "released": "1972-03-14",
  "released_digital": "2016-06-30",
  "description": "Spanning the years 1945 to 1955, a chronicle of the fictional Italian-American Corleone crime family. When organized crime family patriarch, Vito Corleone barely survives an attempt on his life, his youngest son, Michael steps in to take care of the would-be killers, launching a campaign of bloody revenge.",
  "runtime": 175,
  "score": 93,
  "score_average": 93,
  "ids": {
    "imdb": "tt0068646",
    "trakt": 196,
    "tmdb": 238,
    "tvdb": {},
    "mal": {},
    "mdblist": "a2d7"
  },
  "type": "movie",
  "updated": "2026-02-04T17:49:38+00:00",
  "ratings": [
    {
      "source": "imdb",
      "value": 9.2,
      "score": 92,
      "votes": 2201816,
      "url": 60
    },
    {
      "source": "metacritic",
      "value": 100,
      "score": 100,
      "votes": 16,
      "url": "/the-godfather"
    },
    {
      "source": "metacriticuser",
      "value": 9.2,
      "score": 92,
      "votes": 4378,
      "url": {}
    },
    {
      "source": "trakt",
      "value": 88,
      "score": 88,
      "votes": 35657,
      "url": {}
    },
    {
      "source": "tomatoes",
      "value": 97,
      "score": 97,
      "votes": 153,
      "url": "/m/the_godfather"
    },
    {
      "source": "popcorn",
      "value": 98,
      "score": 98,
      "votes": 41094,
      "url": "/m/the_godfather"
    },
    {
      "source": "tmdb",
      "value": 86,
      "score": 86,
      "votes": 22417,
      "url": {}
    },
    {
      "source": "letterboxd",
      "value": 4.5,
      "score": 90,
      "votes": 2435315,
      "url": "/film/the-godfather/"
    },
    {
      "source": "rogerebert",
      "value": 4,
      "score": {},
      "votes": {},
      "url": "the-godfather-1972"
    },
    {
      "source": "myanimelist",
      "value": {},
      "score": {},
      "votes": {},
      "url": {}
    }
  ],
  "genres": [
    {
      "id": 4,
      "title": "Crime"
    },
    {
      "id": 6,
      "title": "Drama"
    }
  ],
  "streams": [],
  "watch_providers": [
    {
      "id": 257,
      "name": "fuboTV"
    },
    {
      "id": 582,
      "name": "Paramount+ Amazon Channel"
    },
    {
      "id": 633,
      "name": "Paramount+ Roku Premium Channel"
    },
    {
      "id": 2303,
      "name": "Paramount Plus Premium"
    }
  ],
  "production_companies": [
    {
      "id": 10211,
      "name": "Alfran Productions"
    },
    {
      "id": 4,
      "name": "Paramount"
    }
  ],
  "language": "en",
  "spoken_language": "en",
  "country": "US",
  "certification": "R",
  "commonsense": true,
  "age_rating": 16,
  "commonsense_media": {
    "common_sense": 16,
    "common_sense_selection": false,
    "parental_violence": 5,
    "parental_nudity": 4,
    "parental_language": 4,
    "parental_drinking": 3
  },
  "status": "Released",
  "trailer": "https://youtube.com/watch?v=Ew9ngL1GZvs",
  "poster": "https://image.tmdb.org/t/p/original/3bhkrj58Vtu7enYsRolD1fZdja1.jpg",
  "backdrop": "https://image.tmdb.org/t/p/w1920_and_h800_multi_faces/tSPT36ZKlP2WVHJLM4cQPLSzv3b.jpg",
  "keywords": [
    {
      "id": 1498,
      "name": "italy"
    },
    {
      "id": 309,
      "name": "loss-of-loved-one"
    },
    {
      "id": 9518,
      "name": "love-at-first-sight"
    },
    {
      "id": 1029,
      "name": "europe"
    },
    {
      "id": 1162,
      "name": "patriarch"
    },
    {
      "id": 1566,
      "name": "organized-crime"
    },
    {
      "id": 1756,
      "name": "mafia"
    },
    {
      "id": 301,
      "name": "lawyer"
    },
    {
      "id": 1716,
      "name": "crime-family"
    },
    {
      "id": 6759,
      "name": "rise-to-power"
    },
    {
      "id": 1470,
      "name": "1940s"
    },
    {
      "id": 617,
      "name": "1950s"
    },
    {
      "id": 91,
      "name": "based-on-novel-or-book"
    },
    {
      "id": 38390,
      "name": "belongs-to-collection"
    },
    {
      "id": 7744,
      "name": "symbolism"
    },
    {
      "id": 43291,
      "name": "has-trailer"
    },
    {
      "id": 40344,
      "name": "metacritic-must-see"
    },
    {
      "id": 87461,
      "name": "gambling-syndicate"
    },
    {
      "id": 48041,
      "name": "part-of-trilogy"
    },
    {
      "id": 59747,
      "name": "death-of-title-character"
    },
    {
      "id": 47430,
      "name": "first-of-series"
    },
    {
      "id": 21766,
      "name": "mob-hit"
    },
    {
      "id": 198137,
      "name": "severed-horse-s-head"
    },
    {
      "id": 3853,
      "name": "sicilian-mafia"
    },
    {
      "id": 2992,
      "name": "4k-blu-ray"
    },
    {
      "id": 43511,
      "name": "dolby-vision"
    },
    {
      "id": 137,
      "name": "religion"
    },
    {
      "id": 353,
      "name": "revenge-motive"
    },
    {
      "id": 299665,
      "name": "religious-hypocrisy"
    },
    {
      "id": 298722,
      "name": "gun-violence"
    },
    {
      "id": 6915,
      "name": "gang-violence"
    },
    {
      "id": 5803,
      "name": "mafia-war"
    },
    {
      "id": 296173,
      "name": "mafia"
    },
    {
      "id": 298118,
      "name": "patriarch"
    },
    {
      "id": 298117,
      "name": "crime-family"
    },
    {
      "id": 296942,
      "name": "organized-crime"
    },
    {
      "id": 296148,
      "name": "gangster"
    },
    {
      "id": 295238,
      "name": "father-son-relationship"
    },
    {
      "id": 295885,
      "name": "wedding"
    },
    {
      "id": 295387,
      "name": "revenge"
    },
    {
      "id": 295374,
      "name": "murder"
    },
    {
      "id": 296403,
      "name": "corrupt-cop"
    },
    {
      "id": 297142,
      "name": "crime-boss"
    },
    {
      "id": 297556,
      "name": "epic"
    },
    {
      "id": 296248,
      "name": "1940s"
    },
    {
      "id": 296778,
      "name": "1950s"
    },
    {
      "id": 297311,
      "name": "manhattan-new-york-city"
    },
    {
      "id": 301550,
      "name": "bronx-new-york-city"
    },
    {
      "id": 296146,
      "name": "new-york-city"
    },
    {
      "id": 295210,
      "name": "family-relationships"
    },
    {
      "id": 295720,
      "name": "betrayal"
    },
    {
      "id": 296358,
      "name": "dysfunctional-family"
    },
    {
      "id": 298851,
      "name": "italian-american"
    },
    {
      "id": 335620,
      "name": "2k-blu-ray"
    },
    {
      "id": 301806,
      "name": "dead-horse"
    },
    {
      "id": 298119,
      "name": "rise-to-power"
    },
    {
      "id": 16721,
      "name": "mercilessness"
    },
    {
      "id": 143096,
      "name": "mob-summit"
    },
    {
      "id": 296171,
      "name": "mobster"
    },
    {
      "id": 24153,
      "name": "mob-enforcer"
    },
    {
      "id": 34872,
      "name": "mob-war"
    },
    {
      "id": 11117,
      "name": "mob-violence"
    },
    {
      "id": 336111,
      "name": "oscar-winner"
    },
    {
      "id": 336213,
      "name": "oscar-nominated"
    },
    {
      "id": 336110,
      "name": "best-picture-winner"
    },
    {
      "id": 336214,
      "name": "best-picture-nominated"
    },
    {
      "id": 336113,
      "name": "golden-globe-winner"
    },
    {
      "id": 336216,
      "name": "golden-globe-nominated"
    },
    {
      "id": 404292,
      "name": "first-in-collection"
    },
    {
      "id": 19631,
      "name": "certified-fresh"
    },
    {
      "id": 296442,
      "name": "police-officer-killed"
    },
    {
      "id": 295207,
      "name": "brother-sister-relationship"
    },
    {
      "id": 295297,
      "name": "brother-brother-relationship"
    },
    {
      "id": 19850,
      "name": "based-on-novel"
    },
    {
      "id": 298466,
      "name": "casino"
    },
    {
      "id": 297115,
      "name": "italy"
    },
    {
      "id": 27780,
      "name": "italian-restaurant"
    },
    {
      "id": 295781,
      "name": "assassination-attempt"
    },
    {
      "id": 295566,
      "name": "brutality"
    },
    {
      "id": 21783,
      "name": "tommy-gun"
    },
    {
      "id": 44256,
      "name": "pistol"
    },
    {
      "id": 300317,
      "name": "adopted-son"
    },
    {
      "id": 50105,
      "name": "loss-of-husband"
    },
    {
      "id": 298122,
      "name": "honor"
    },
    {
      "id": 45598,
      "name": "loss-of-father"
    },
    {
      "id": 89231,
      "name": "gangster-as-protagonist"
    },
    {
      "id": 421,
      "name": "gangster"
    },
    {
      "id": 486100,
      "name": "oscar-best-director-nominee"
    },
    {
      "id": 486101,
      "name": "national-film-preservation-board-winner"
    },
    {
      "id": 491874,
      "name": "dvd"
    },
    {
      "id": 491873,
      "name": "blu-ray"
    },
    {
      "id": 296607,
      "name": "love-at-first-sight"
    },
    {
      "id": 10472,
      "name": "loss-of-son"
    },
    {
      "id": 24091,
      "name": "loss-of-wife"
    },
    {
      "id": 296617,
      "name": "sibling-rivalry"
    },
    {
      "id": 295274,
      "name": "father-daughter-relationship"
    },
    {
      "id": 296925,
      "name": "catholic"
    },
    {
      "id": 296111,
      "name": "baptism"
    },
    {
      "id": 298406,
      "name": "catholic-church"
    },
    {
      "id": 11805,
      "name": "wedding-reception"
    },
    {
      "id": 47464,
      "name": "famous-line"
    },
    {
      "id": 296316,
      "name": "lawyer"
    },
    {
      "id": 10103,
      "name": "famous-score"
    },
    {
      "id": 295667,
      "name": "heart-attack"
    },
    {
      "id": 295768,
      "name": "fugitive"
    },
    {
      "id": 296444,
      "name": "police-brutality"
    },
    {
      "id": 298351,
      "name": "undertaker"
    },
    {
      "id": 296911,
      "name": "domestic-violence"
    },
    {
      "id": 53459,
      "name": "horse-killed"
    },
    {
      "id": 297622,
      "name": "car-bomb"
    },
    {
      "id": 295371,
      "name": "extramarital-affair"
    },
    {
      "id": 295322,
      "name": "funeral"
    },
    {
      "id": 44401,
      "name": "title-spoken-by-character"
    },
    {
      "id": 295542,
      "name": "neo-noir"
    },
    {
      "id": 295236,
      "name": "dancing"
    },
    {
      "id": 38022,
      "name": "cannoli"
    },
    {
      "id": 296566,
      "name": "immigrant"
    },
    {
      "id": 45225,
      "name": "heroin-trafficking"
    },
    {
      "id": 298423,
      "name": "irish-american"
    },
    {
      "id": 45208,
      "name": "mafioso"
    },
    {
      "id": 152528,
      "name": "gangster-crime"
    },
    {
      "id": 11128,
      "name": "loss-of-brother"
    },
    {
      "id": 295336,
      "name": "police-officer"
    },
    {
      "id": 296472,
      "name": "vengeance"
    },
    {
      "id": 24334,
      "name": "american-mafia"
    },
    {
      "id": 298687,
      "name": "racketeering"
    },
    {
      "id": 27954,
      "name": "drug-trafficking"
    },
    {
      "id": 45064,
      "name": "national-film-registry"
    },
    {
      "id": 295695,
      "name": "traitor"
    },
    {
      "id": 298547,
      "name": "godfather"
    },
    {
      "id": 46957,
      "name": "first-part"
    },
    {
      "id": 303653,
      "name": "crooked-lawyer"
    },
    {
      "id": 296436,
      "name": "police-corruption"
    },
    {
      "id": 295483,
      "name": "horse"
    },
    {
      "id": 295306,
      "name": "hospital"
    },
    {
      "id": 47297,
      "name": "world-war-two-veteran"
    },
    {
      "id": 295654,
      "name": "no-opening-credits"
    },
    {
      "id": 37952,
      "name": "female-nudity"
    },
    {
      "id": 295390,
      "name": "blood"
    },
    {
      "id": 43729,
      "name": "sex-scene"
    },
    {
      "id": 295991,
      "name": "marriage"
    },
    {
      "id": 295628,
      "name": "massage"
    },
    {
      "id": 48633,
      "name": "tollbooth"
    },
    {
      "id": 50711,
      "name": "stabbed-in-the-hand"
    },
    {
      "id": 50307,
      "name": "shot-in-the-eye"
    },
    {
      "id": 47279,
      "name": "ethnic-slur"
    },
    {
      "id": 295230,
      "name": "mansion"
    },
    {
      "id": 45922,
      "name": "las-vegas-nevada"
    },
    {
      "id": 298457,
      "name": "courtship"
    },
    {
      "id": 295590,
      "name": "racial-slur"
    },
    {
      "id": 25883,
      "name": "movie-studio"
    },
    {
      "id": 25007,
      "name": "garrote"
    },
    {
      "id": 18835,
      "name": "falling-down-stairs"
    },
    {
      "id": 295304,
      "name": "wheelchair"
    },
    {
      "id": 13740,
      "name": "invalid"
    },
    {
      "id": 296124,
      "name": "los-angeles-california"
    },
    {
      "id": 295209,
      "name": "fish"
    },
    {
      "id": 295773,
      "name": "village"
    },
    {
      "id": 296479,
      "name": "cemetery"
    },
    {
      "id": 295204,
      "name": "singer"
    },
    {
      "id": 18816,
      "name": "vegetable-garden"
    },
    {
      "id": 16293,
      "name": "paparazzi"
    },
    {
      "id": 295696,
      "name": "ambush"
    },
    {
      "id": 17283,
      "name": "stable"
    },
    {
      "id": 295252,
      "name": "teacher"
    },
    {
      "id": 92479,
      "name": "bagman"
    },
    {
      "id": 45259,
      "name": "fbi-surveillance"
    },
    {
      "id": 51188,
      "name": "crime-literature-on-screen"
    },
    {
      "id": 152515,
      "name": "sicilian-american"
    },
    {
      "id": 302165,
      "name": "sicilian-mafia"
    },
    {
      "id": 84974,
      "name": "capo"
    },
    {
      "id": 84990,
      "name": "mob-lawyer"
    },
    {
      "id": 22553,
      "name": "bulletproof-vest"
    },
    {
      "id": 301445,
      "name": "crime-syndicate"
    },
    {
      "id": 158592,
      "name": "epic-drama"
    },
    {
      "id": 198654,
      "name": "tragedy-drama"
    },
    {
      "id": 295644,
      "name": "cigar-smoking"
    },
    {
      "id": 298977,
      "name": "american-dream"
    },
    {
      "id": 295518,
      "name": "kiss"
    },
    {
      "id": 44776,
      "name": "hollywood-california"
    },
    {
      "id": 46875,
      "name": "large-format-camera"
    },
    {
      "id": 47253,
      "name": "overhearing-sex"
    },
    {
      "id": 44553,
      "name": "shot-in-the-head"
    },
    {
      "id": 47723,
      "name": "title-same-as-book"
    },
    {
      "id": 24413,
      "name": "german-american"
    },
    {
      "id": 20851,
      "name": "ethnic-stereotype"
    },
    {
      "id": 301769,
      "name": "ethnocentrism"
    },
    {
      "id": 51069,
      "name": "20th-century-literature-on-screen"
    },
    {
      "id": 51189,
      "name": "american-crime-literature-on-screen"
    },
    {
      "id": 84975,
      "name": "caporegime"
    },
    {
      "id": 162732,
      "name": "consigliere"
    },
    {
      "id": 22456,
      "name": "double-barreled-shotgun"
    },
    {
      "id": 61465,
      "name": "jewish-mobster"
    },
    {
      "id": 45213,
      "name": "mafia-don"
    },
    {
      "id": 296412,
      "name": "shotgun"
    },
    {
      "id": 296306,
      "name": "assault"
    },
    {
      "id": 21784,
      "name": "beretta"
    },
    {
      "id": 23458,
      "name": "restroom"
    },
    {
      "id": 296012,
      "name": "pregnancy"
    },
    {
      "id": 295539,
      "name": "shootout"
    },
    {
      "id": 300010,
      "name": "movie-mogul"
    },
    {
      "id": 27165,
      "name": "eyeglasses"
    },
    {
      "id": 303205,
      "name": "new-hampshire"
    },
    {
      "id": 44519,
      "name": "orange"
    },
    {
      "id": 296413,
      "name": "double-cross"
    },
    {
      "id": 10300,
      "name": "war-hero"
    },
    {
      "id": 19557,
      "name": "phone-booth"
    },
    {
      "id": 20250,
      "name": "garbage-can"
    },
    {
      "id": 299979,
      "name": "nevada"
    },
    {
      "id": 297104,
      "name": "20th-century"
    },
    {
      "id": 430265,
      "name": "coppola-and-pacino"
    },
    {
      "id": 465103,
      "name": "coppola-and-brando"
    },
    {
      "id": 387029,
      "name": "coppola-and-duvall"
    },
    {
      "id": 465104,
      "name": "caan-and-duvall"
    },
    {
      "id": 465105,
      "name": "coppola-and-caan"
    },
    {
      "id": 465106,
      "name": "coppola-and-shire"
    },
    {
      "id": 430264,
      "name": "coppola-and-keaton"
    },
    {
      "id": 53338,
      "name": "lasagna"
    },
    {
      "id": 267806,
      "name": "throwing-money-on-the-ground"
    },
    {
      "id": 56060,
      "name": "gray-tabby-cat"
    },
    {
      "id": 22767,
      "name": "bouquet"
    },
    {
      "id": 114741,
      "name": "kissing-hand"
    },
    {
      "id": 301300,
      "name": "mortician"
    },
    {
      "id": 467009,
      "name": "woltz-international-pictures"
    },
    {
      "id": 297116,
      "name": "female-singer"
    },
    {
      "id": 84435,
      "name": "live-band"
    },
    {
      "id": 226263,
      "name": "lockheed-constellation"
    },
    {
      "id": 60637,
      "name": "asking-for-a-favor"
    },
    {
      "id": 79982,
      "name": "woman-smoker"
    },
    {
      "id": 467010,
      "name": "father-and-bride-dance"
    },
    {
      "id": 466230,
      "name": "four-tier-wedding-cake"
    },
    {
      "id": 297429,
      "name": "pipe-smoking"
    },
    {
      "id": 45217,
      "name": "mob-execution"
    },
    {
      "id": 112073,
      "name": "rehearsing-a-speech"
    },
    {
      "id": 467011,
      "name": "daughter-brutalized"
    },
    {
      "id": 47236,
      "name": "man-slaps-a-man"
    },
    {
      "id": 48938,
      "name": "open-air-market"
    },
    {
      "id": 46102,
      "name": "male-singer"
    },
    {
      "id": 467012,
      "name": "bridal-purse"
    },
    {
      "id": 21274,
      "name": "military-dress-uniform"
    },
    {
      "id": 53113,
      "name": "christmas-shopping"
    },
    {
      "id": 156440,
      "name": "drinking-from-a-pitcher"
    },
    {
      "id": 45345,
      "name": "covered-in-blood"
    },
    {
      "id": 45026,
      "name": "shot-multiple-times"
    },
    {
      "id": 467013,
      "name": "girl-standing-on-grandfather-s-feet"
    },
    {
      "id": 50965,
      "name": "year-1945"
    },
    {
      "id": 57269,
      "name": "lighting-a-cigarette-for-someone"
    },
    {
      "id": 295504,
      "name": "bodyguard"
    },
    {
      "id": 20989,
      "name": "bluff"
    },
    {
      "id": 264729,
      "name": "snub-nose-revolver"
    },
    {
      "id": 64693,
      "name": "zippo-lighter"
    },
    {
      "id": 82589,
      "name": "trembling-with-fear"
    },
    {
      "id": 45234,
      "name": "son-murdered"
    },
    {
      "id": 467014,
      "name": "husband-diliberately-starts-fight-with-wife"
    },
    {
      "id": 56075,
      "name": "picture-on-front-page-of-newspaper"
    },
    {
      "id": 467015,
      "name": "supervised-courtship"
    },
    {
      "id": 296250,
      "name": "playing-piano"
    },
    {
      "id": 50987,
      "name": "machine-gunned"
    },
    {
      "id": 215936,
      "name": "lying-in-the-gutter"
    },
    {
      "id": 91932,
      "name": "evasive-driving"
    },
    {
      "id": 467016,
      "name": "bride-and-groom-dance"
    },
    {
      "id": 467017,
      "name": "louis-italian-american-restaurant"
    },
    {
      "id": 56582,
      "name": "red-rose"
    },
    {
      "id": 13057,
      "name": "newspaper-headline"
    },
    {
      "id": 93908,
      "name": "wife-murdered"
    },
    {
      "id": 46752,
      "name": "thompson-sub-machine-gun-with-drum-magazine"
    },
    {
      "id": 78534,
      "name": "garroted"
    },
    {
      "id": 113253,
      "name": "hesitation"
    },
    {
      "id": 301273,
      "name": "sudden-death"
    },
    {
      "id": 83053,
      "name": "u-turn"
    },
    {
      "id": 427115,
      "name": "home-from-the-hospital"
    },
    {
      "id": 44271,
      "name": "bare-chested-male"
    },
    {
      "id": 467018,
      "name": "tomato-garden"
    },
    {
      "id": 299129,
      "name": "hiking"
    },
    {
      "id": 467019,
      "name": "john-j-bartek-moving-company"
    },
    {
      "id": 57030,
      "name": "graveside-ceremony"
    },
    {
      "id": 65102,
      "name": "kicked-while-down"
    },
    {
      "id": 300578,
      "name": "barbershop"
    },
    {
      "id": 41158,
      "name": "male-protagonist"
    },
    {
      "id": 295515,
      "name": "male-female-relationship"
    },
    {
      "id": 46094,
      "name": "male-body"
    },
    {
      "id": 44836,
      "name": "moaning"
    },
    {
      "id": 94479,
      "name": "female-topless-nudity"
    },
    {
      "id": 300061,
      "name": "tragic-romance"
    },
    {
      "id": 46869,
      "name": "screenplay-adapted-by-author"
    },
    {
      "id": 295854,
      "name": "blood-splatter"
    },
    {
      "id": 46276,
      "name": "nickname-as-title"
    },
    {
      "id": 296895,
      "name": "elevator"
    },
    {
      "id": 296134,
      "name": "bar"
    },
    {
      "id": 44388,
      "name": "two-word-title"
    },
    {
      "id": 21740,
      "name": "revolving-door"
    },
    {
      "id": 89181,
      "name": "open-hydrant"
    },
    {
      "id": 295775,
      "name": "strangulation"
    },
    {
      "id": 36794,
      "name": "foreplay"
    },
    {
      "id": 84108,
      "name": "beaten-with-a-belt"
    },
    {
      "id": 45605,
      "name": "el-train"
    },
    {
      "id": 16031,
      "name": "knife-in-hand"
    },
    {
      "id": 297844,
      "name": "melancholy"
    },
    {
      "id": 46718,
      "name": "reference-to-ingrid-bergman"
    },
    {
      "id": 141599,
      "name": "corleone-italy"
    },
    {
      "id": 298645,
      "name": "north-america"
    },
    {
      "id": 296151,
      "name": "drugs"
    },
    {
      "id": 296409,
      "name": "revolver"
    },
    {
      "id": 296016,
      "name": "bathtub"
    },
    {
      "id": 296689,
      "name": "movie-theater"
    },
    {
      "id": 96431,
      "name": "smashing-a-camera"
    },
    {
      "id": 12538,
      "name": "broken-jaw"
    },
    {
      "id": 94147,
      "name": "radio-city-music-hall-manhattan-new-york-city"
    },
    {
      "id": 50310,
      "name": "shot-in-the-throat"
    },
    {
      "id": 45111,
      "name": "shot-in-the-back"
    },
    {
      "id": 295318,
      "name": "urination"
    },
    {
      "id": 15736,
      "name": "sicily-italy"
    },
    {
      "id": 298139,
      "name": "paraplegic"
    },
    {
      "id": 302152,
      "name": "cosa-nostra"
    },
    {
      "id": 295605,
      "name": "ex-convict"
    },
    {
      "id": 14771,
      "name": "protection-racket"
    },
    {
      "id": 296037,
      "name": "hotel"
    },
    {
      "id": 46461,
      "name": "shot-in-the-forehead"
    },
    {
      "id": 302247,
      "name": "criminal-empire"
    },
    {
      "id": 497333,
      "name": "clandestine-empire"
    },
    {
      "id": 497334,
      "name": "secret-empire"
    },
    {
      "id": 295395,
      "name": "violence"
    },
    {
      "id": 46497,
      "name": "man-uses-a-wheelchair"
    },
    {
      "id": 55654,
      "name": "statue-of-liberty-new-york-city"
    },
    {
      "id": 97532,
      "name": "patriarchal-family"
    },
    {
      "id": 349463,
      "name": "grand"
    },
    {
      "id": 315735,
      "name": "aggressive"
    },
    {
      "id": 429433,
      "name": "daughter-stars-in-film-directed-by-father"
    },
    {
      "id": 295961,
      "name": "psychological-thriller"
    },
    {
      "id": 13511,
      "name": "psychological-drama"
    },
    {
      "id": 171790,
      "name": "1970s-movie"
    },
    {
      "id": 295685,
      "name": "historical-fiction"
    },
    {
      "id": 33283,
      "name": "fiction"
    },
    {
      "id": 523877,
      "name": "l-rb"
    },
    {
      "id": 464023,
      "name": "tomate"
    },
    {
      "id": 32833,
      "name": "crime-drama"
    }
  ]
}

 

  • Thanks 1
GrimReaper
Posted (edited)

I was thinking you could leverage those keywords for the two RT badges criteria:

Screenshot_20260210_135311_com_opera_browser_BrowserActivity.jpg

Edited by GrimReaper
sh0rty
Posted (edited)
4 hours ago, GrimReaper said:

I was thinking you could leverage those keywords for the two RT badges criteria:

 

Unfortunately this does not work out for Certified Fresh and specially Verified Hot if you want the Ratings to be 100%. Rotten has a real strange way of designating the badges to media. It's dependant on the release type (limited vs. wide release, min count of reviews depending on Box Office etc). All these things are not available via TMDB/MDBList APIs. These infos are not even availably on the RT Homepage itself 🤣 . Also some movies got the Verified Hot badge randomly without having min. score of 90% Pocornmeter, e.g. One Battle After Another. 

See https://www.rottentomatoes.com/about and https://editorial.rottentomatoes.com/article/audience-score-update/
 

But not using a CORS proxy is perfectly fine as the script then defaults to simple math + the overrides section, where user can set "false negatives" like One Battle After Another manually via TMDB ID.

Edited by sh0rty
GrimReaper
Posted
1 hour ago, sh0rty said:

Unfortunately this does not work out for Certified Fresh and specially Verified Hot if you want the Ratings to be 100%. Rotten has a real strange way of designating the badges to media. It's dependant on the release type (limited vs. wide release, min count of reviews depending on Box Office etc). All these things are not available via TMDB/MDBList APIs.

I'm trying to figure out what I'm missing here (or we're misunderstanding each other): you're getting if an item is certified-fresh or certified-hot from MDBList if queried for keywords in the initial call, why not utilize that and simplify the logic/process? 

5 hours ago, sh0rty said:
{
      "id": 19631,
      "name": "certified-fresh"
    }

 

sh0rty
Posted (edited)
37 minutes ago, GrimReaper said:

I'm trying to figure out what I'm missing here (or we're misunderstanding each other): you're getting if an item is certified-fresh or certified-hot from MDBList if queried for keywords in the initial call, why not utilize that and simplify the logic/process? 

 

Ah ok, I get what you mean. It's a good idea. Main reason for moving RT badge calculation by MDBList + math in second place (still working) after CORS is that I don't trust an API that gives out 

    {
      "source": "tomatoes",
      "value": {},
      "score": {},
      "votes": {},
      "url": {}
    },
    {
      "source": "popcorn",
      "value": {},
      "score": {},
      "votes": {},
      "url": {}
    },

for such an iconic movie like Return of the Jedi and therefor also no keywords "certified-fresh" or "certified-hot". Checked that couple of days ago when I was fiddling around this damn "verified-hot" badge. Specially old movies have no scores and your mentioned corresponding keywords via MDBList API. Perhaps that changes in time. This is RT itself:
image.png.b4ea735b5566df4d43250bb6fb83cf14.png

Compared to that, the CORS solution is bulletproof, but I wanted to have the old functions still as backup in the code without relying just on keywords as I'm not sure these are present for all movies. I totally understand when someone does not want to set up a CORS proxy or feels not experienced enough for it. So the current solution covers it all, even when someone does not want the custom ratings at all. Hope we're cool now 😋

Edited by sh0rty
  • Thanks 1
sh0rty
Posted (edited)

New version. Added Emmy Wins/Nominations via Wikidata SPARQL API. As with the Oscars, the results are just as good as the data in wikidata.

image.thumb.png.64908fcfa5363363d5bf8c0fc0875d02.png

Edited by sh0rty
  • Agree 1
sh0rty
Posted

New version. Added Golden Globes Wins/Nominations via Wikidata SPARQL API + show trophys instead of text. The results are just as good as the data in wikidata, anyone can contribute.

image.thumb.png.4032ee6931bbc87d36c7ad5fbd418eff.png

  • Like 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...