jurialmunkey / plugin.video.themoviedb.helper

GNU General Public License v3.0
200 stars 95 forks source link

[Feature] Custom url lists #1173

Closed v4vale closed 3 months ago

v4vale commented 6 months ago

Describe the feature that you'd like

I would like to have the ability to populate a list from a custom URL. For this to work, the external URL should return data in a defined format, and the URL configuration should support some pseudo variables (e.g. pagination or sort). Regarding the format, I think a good starting point, which will also reduce the amount of work, could be the mdblist format, with maybe some extensions (e.g. episode or season support).

Why is this feature needed? What problem does it solve?

This would give a boost in the customization of our hubs and provide a simple but incredible powerful way for developer to provide a way to integrate their work in kodi without the additional work to create an ad-hoc plugin.

Steps to reproduce.

No response

Screenshots and Additional Info

No response

Checklist

jurialmunkey commented 3 months ago

^^^ This will get us partly the way there. Allows for a locally saved MDblist in JSON format to be loaded.

Plugin path to load a custom file is

plugin://plugin.video.themoviedb.helper/?info=mdblist_locallist&&path/to/your/json/file.json

Note the double ampersand && must be used to specify the path to the file.

The file follows the standard MDbList format as per their API https://docs.mdblist.com/docs/api#list-items

[
    {
        "id":496243,
        "rank":1,
        "adult":0,
        "title":"Parasite",
        "imdb_id":"tt6751668",
        "mediatype":"movie",
        "release_year":2019,
        "language":"en",
        "spoken_language":"en",
    },
    {
        "id":361743,
        "rank":2,
        "adult":0,
        "title":"Top Gun: Maverick",
        "imdb_id":"tt1745960",
        "mediatype":"movie",
        "release_year":2022,
        "language":"en",
        "spoken_language":"en",
    },
]

So for instance if you save that in addon_data/plugin.video.themoviedb.helper/lists/mylist.json then you can access it with the following path:

plugin://plugin.video.themoviedb.helper/?info=mdblist_locallist&&special://profile/addon_data/plugin.video.themoviedb.helper/lists/mylist.json
jurialmunkey commented 3 months ago

^^^ And this commit will allow for seasons or episodes.

Examples for TV show item, season item and episode item:

TV Show item

   {
        "id": 1399,
        "rank": 3,
        "title": "Game of Thrones",
        "mediatype": "show"
    }

Season item

    {
        "id": 1399,
        "rank": 4,
        "description": "Game of Thrones: Season 2",
        "mediatype": "season",
        "season": 2
    }

Episode item

    {
        "id": 1399,
        "rank": 5,
        "description": "Game of Thrones: Season 2 Episode 4",
        "mediatype": "episode",
        "season": 2,
        "episode": 4
    }
jurialmunkey commented 3 months ago

^^^ And custom list from a http url now supported

Example http json file https://raw.githubusercontent.com/jurialmunkey/plugin.video.themoviedb.helper/d056a28374973de7881200a76193108d430475c8/resources/jsondata/example_mdblist_locallist.json

Example path to load from http file

plugin://plugin.video.themoviedb.helper/?info=mdblist_locallist&&https://raw.githubusercontent.com/jurialmunkey/plugin.video.themoviedb.helper/d056a28374973de7881200a76193108d430475c8/resources/jsondata/example_mdblist_locallist.json