Release JustWatch Unofficial API for Kodi - DEMO
#1
JustWatch Unofficial API for Kodi - DEMO

https://transfer.sh/58fy09Rl8l/script.ju...l-demo.zip

I wrote an addon to show streaming links for content as provided by JustWatch.com for my own addon.

I don't find it especially useful and I chose not to include it but I did put a fair amount of effort into writing it up.

So I decided to release the code as a Demo in case others find it useful.

The code is functional however in an unfinished state.

You can call it like this - RunScript(script.justwatch.unofficial,1,query=Ready Player One&year=2018)

Where the format is query=&year= but this is easily changed in the default.py to suit whichever way you may want to call it.

The skin xml uses an include from Estuary and is not tested with other skins.

The positioning is not relative so any skin resolutions other than 1080 will not display correctly.

The addon is based on the Unofficial API from dawoudt - https://github.com/dawoudt/JustWatchAPI


Screenshot

Image
Reply
#2
here's some of my notes, currently the listitem has a property set 'link' which points to "standard_web" from the "urls" dict of the content provided

i was going to expand on this before i binned the project

that urls dict also provides "deeplinks" for many platforms which can be used to start the content

additionally, at least in the case of slyguy hulu, the content id can be use to start playback from the slyguy Hulu addon for Kodi - as far as i am aware this is true for most addons

if you wanted to start that deep link on Android to start playback in the official app kodi would be capable as you can start it from "adb shell am start"

the command to send to a FireOS device that will open the Official Hulu App (for android) and begin play back of the retrieved result is -

am start "intent:#Intent;launchFlags=0x00800000;package=com.hulu.plus;action=hulu.intent.action.PLAY_CONTENT;S.content_id=c8d12d56-b18d-4625-bd4e-c9d52593f174;end"

the same should work on a normal android device using the "deeplink_android_tv" url

this was intended to be used in conjunction with a Trakt API so that when viewing lists like Trending you may actually have a chance to watch something from the list

here's the links from the example "Ready Player One 2018"

json:
        {
            "jw_entity_id": "tm225321",
            "monetization_type": "flatrate",
            "provider_id": 15,
            "package_short_name": "hlu",
            "currency": "USD",
            "urls": {
                "standard_web": "https://www.hulu.com/watch/c8d12d56-b18d-4625-bd4e-c9d52593f174",
                "deeplink_android_tv": "intent:#Intent;launchFlags=0x00800000;package=com.hulu.livingroomplus;action=hulu.intent.action.PLAY_CONTENT;S.content_id=c8d12d56-b18d-4625-bd4e-c9d52593f174;end",
                "deeplink_fire_tv": "intent:#Intent;launchFlags=0x00800000;package=com.hulu.plus;action=hulu.intent.action.PLAY_CONTENT;S.content_id=c8d12d56-b18d-4625-bd4e-c9d52593f174;end",
                "deeplink_tvos": "hulu:///videos/c8d12d56-b18d-4625-bd4e-c9d52593f174?play=false",
                "deeplink_tizenos": "{\"id\":\"LBUAQX1exg.Hulu\",\"action_data\":\"{\\\"contentId\\\": \\\"c8d12d56-b18d-4625-bd4e-c9d52593f174\\\", \\\"autoplay\\\": false}\"}",
                "deeplink_webos": "{ \"id\": \"hulu\", \"params\": { \"contentTarget\": \"\" }}",
                "deeplink_xbox": "hulu:///videos/c8d12d56-b18d-4625-bd4e-c9d52593f174?play=false",
                "deeplink_rokuos": "launch/2285?contentID=c8d12d56-b18d-4625-bd4e-c9d52593f174"
            },
            "available_from": "0001-01-01T00:00:00Z",
            "available_to": "0001-01-01T00:00:00Z",
            "presentation_type": "hd",
            "country": "US"
        },



to start playback from kodi using a deeplink is not straightforward as you have to pass "extras" to the app but it is doable

here's a code snippet showing how to start it, the above example deeplink was reformatted to something kodi can use


python:
        content_id='c8d12d56-b18d-4625-bd4e-c9d52593f174'
        extras='[{"type":"string","key":"content_id","value":"%s"}]' % content_id
        startplayback = 'StartAndroidActivity("%s","%s",,,,"%s")' % ('com.hulu.plus','hulu.intent.action.PLAY_CONTENT',extras)
        xbmc.executebuiltin(startplayback)
Reply

Logout Mark Read Team Forum Stats Members Help
JustWatch Unofficial API for Kodi - DEMO0