megadrive / stremio-letterboxd

https://letterboxd.almosteffective.com/
18 stars 1 forks source link

Add support for RPDB rating. #41

Closed ericvlog closed 2 months ago

ericvlog commented 2 months ago

Hello, thanks for such wonderful addons,

recently RPDB rating open for all free tier users, that mean free users can have poster rating without subscription premium.

can add this feature on your addons ?

Appreciate your considering.

thanks.

megadrive commented 2 months ago

This is an interesting option, it would mean creating posters on the fly and serving them from a CDN or something so it's quick.

Potentially adding the option for Letterboxd ratings could be a good idea too.

I'll look into it!

megadrive commented 2 months ago

@ericvlog I don't see a free tier on https://ratingposterdb.com

Can you share where you saw this?

jaruba commented 2 months ago

@megadrive there is a free version: https://www.reddit.com/r/StremioAddons/comments/1f12nz9/free_rpdb_is_now_generally_available/

you just need to create a Patreon account, join RPDB for free on Patreon, then press the "Login" button on the RatingPosterDB website to get the free key

the website was not updated yet to reflect this yet as the free version was released just y-day

jaruba commented 2 months ago

you should allow users to set their own api key for RPDB, as you can manage the settings of the posters externally on: https://manager.ratingposterdb.com/

adding RPDB to any addon is easy as long as you have the imdb id of the item, you just need to use this as the poster: https://api.ratingposterdb.com/${api_key}/imdb/poster-default/${imdb_id}.jpg?fallback=true (and replace ${api_key} and ${imdb_id} with the proper values)

if some user edits their poster settings externally with the manager, then RPDB handles all of that internally based on the API key with this same poster URL

megadrive commented 2 months ago

https://github.com/megadrive/stremio-letterboxd/commit/1f803fa7c0f6831418540c27b0f0e7e2ea83fc14

Adds support. Please test on the Dev deployment: https://letterboxd-dev.almosteffective.com/

Allowing users to set their own will be next.

ericvlog commented 2 months ago

1f803fa

Adds support. Please test on the Dev deployment: https://letterboxd-dev.almosteffective.com/

Allowing users to set their own will be next.

I already test with select option RPDB , but it just no show rating.

jaruba commented 2 months ago

I tested it and it works for me

Screenshot 2024-08-30 at 13 45 09

@megadrive is it possible to have a setting where to put a custom rpdb key too? you can use this key for testing:

t1-ci90c15a-5e29-4498-8359-75cb9c8a54a9

I gave it to a few others for testing too and will probably remove it later on

setting a custom api key allows the rpdb manager to function: https://manager.ratingposterdb.com/

so you can change various poster settings and they get uptated for your account automatically

jaruba commented 2 months ago

btw, i know how you can fill that right side with more data about the movies / series: for series:

https://v3-cinemeta.strem.io/catalog/series/last-videos/lastVideosIds=tt7078710,tt1877889.json

for movies:

https://v3-cinemeta.strem.io/catalog/movie/last-videos/lastVideosIds=tt2250912,tt6320628.json

this returns the cinemeta catalog responses, which are much more detailed, responses come with an array ordered in the same order as the requested IMDB IDs, if an imdb id was not found, it will use null as the array element in the response

these endpoints take up to 100 IMDB IDs in each request, each IMDB ID should be split by ,

ericvlog commented 2 months ago

I tested it and it works for me

I already know why my side no working, because I used my previous list of letterboxd on stremio, now i test at list i never use before and it worked!

Maybe need wait stremio cache expired, below 2 list from letterboxd RPDB...1 can 1 cannot.

image

megadrive commented 2 months ago

btw, i know how you can fill that right side with more data about the movies / series: for series:

https://v3-cinemeta.strem.io/catalog/series/last-videos/lastVideosIds=tt7078710,tt1877889.json

for movies:

https://v3-cinemeta.strem.io/catalog/movie/last-videos/lastVideosIds=tt2250912,tt6320628.json

this returns the cinemeta catalog responses, which are much more detailed, responses come with an array ordered in the same order as the requested IMDB IDs, if an imdb id was not found, it will use null as the array element in the response

these endpoints take up to 100 IMDB IDs in each request, each IMDB ID should be split by ,

Hi Jaruba! This is already implemented by an env var that users can use when selfhosting: https://github.com/megadrive/stremio-letterboxd/blob/dev/src/env.ts#L14

I think Sleeyax or yourself even told me about this endpoint many months ago in the Stremio Addons Discord. :)

Unfortunately with my current hosting it adds quite a bit of extra egress that I need to pay for, whereas sending the data defined in MetaPreview in the docs keeps it fairly linear and predictable.

megadrive commented 2 months ago

d7df17615d88097b26e59dde0bfaf9b98e088a3c...1fc8d24e9676af2ece3d0acae29f96b0f916b09b adds provided RPDB API key support.

jaruba commented 2 months ago

@megadrive please tell me when the dev version will go live, so i can add it to the list of addons that support rpdb too

megadrive commented 2 months ago

@jaruba merged :)