jellyfin / TMDbLib

C#.Net library for TheMovieDB
MIT License
344 stars 128 forks source link

GET /tv/{tv_id}/watch/providers does not return WatchProviderItem for 'ads' or 'free' #361

Closed mpfc75 closed 3 years ago

mpfc75 commented 3 years ago

I am testing TV watch providers in 1.7.6-alpha (I haven't tried any of the previous 1.7.x versions).

TMDbLib gives back WatchProviderItem values for Buy, Flatrate, Rent but I don't get any for Ads or Free.

The TMDB API returns 'ads' in country key CA and both 'ads' and 'free' in country key US for show 61662 (Schitt's Creek) as shown in the following extract from Postman:

https://api.themoviedb.org/3/tv/61662/watch/providers

{
    "id": 61662,
    "results": {

        << some countries deleted from this example >>

        "CA": {
            "link": "https://www.themoviedb.org/tv/61662-schitt-s-creek/watch?locale=CA",
            "buy": [
                {
                    "display_priority": 2,
                    "logo_path": "/q6tl6Ib6X5FT80RMlcDbexIo4St.jpg",
                    "provider_id": 2,
                    "provider_name": "Apple iTunes"
                },
                {
                    "display_priority": 3,
                    "logo_path": "/p3Z12gKq2qvJaUOMeKNU2mzKVI9.jpg",
                    "provider_id": 3,
                    "provider_name": "Google Play Movies"
                }
            ],
            "ads": [
                {
                    "display_priority": 11,
                    "logo_path": "/4CQeOt3H52x1Uo6ulO5RvbbP21Z.jpg",
                    "provider_id": 146,
                    "provider_name": "iciTouTV"
                },
                {
                    "display_priority": 32,
                    "logo_path": "/645d5qpsT02a1s3lBZugN8454ad.jpg",
                    "provider_id": 314,
                    "provider_name": "CBC Gem"
                }
            ],
            "flatrate": [
                {
                    "display_priority": 0,
                    "logo_path": "/9A1JSVmSxsyaBK4SUFsYVqbAYfW.jpg",
                    "provider_id": 8,
                    "provider_name": "Netflix"
                },
                {
                    "display_priority": 1,
                    "logo_path": "/68MNrwlkpF7WnmNPXLah69CR5cb.jpg",
                    "provider_id": 119,
                    "provider_name": "Amazon Prime Video"
                }
            ]
        },

        << some countries deleted from this example >>

        "US": {
            "link": "https://www.themoviedb.org/tv/61662-schitt-s-creek/watch?locale=US",
            "flatrate": [
                {
                    "display_priority": 0,
                    "logo_path": "/9A1JSVmSxsyaBK4SUFsYVqbAYfW.jpg",
                    "provider_id": 8,
                    "provider_name": "Netflix"
                },
                {
                    "display_priority": 3,
                    "logo_path": "/2wPRZit7b8u79GsqTdygmGL6kBW.jpg",
                    "provider_id": 257,
                    "provider_name": "fuboTV"
                },
                {
                    "display_priority": 41,
                    "logo_path": "/qZdEeINwQotbr1Rq15dL5G2BaAh.jpg",
                    "provider_id": 358,
                    "provider_name": "DIRECTV"
                },
                {
                    "display_priority": 93,
                    "logo_path": "/maVzhbLzY1EZs9P0ZBB067Vy4VW.jpg",
                    "provider_id": 299,
                    "provider_name": "Sling TV"
                },
                {
                    "display_priority": 165,
                    "logo_path": "/xiUQmGI2bi8Rn6C5u2bArB4YHMp.jpg",
                    "provider_id": 486,
                    "provider_name": "Spectrum On Demand"
                }
            ],
            "buy": [
                {
                    "display_priority": 2,
                    "logo_path": "/q6tl6Ib6X5FT80RMlcDbexIo4St.jpg",
                    "provider_id": 2,
                    "provider_name": "Apple iTunes"
                },
                {
                    "display_priority": 3,
                    "logo_path": "/p3Z12gKq2qvJaUOMeKNU2mzKVI9.jpg",
                    "provider_id": 3,
                    "provider_name": "Google Play Movies"
                },
                {
                    "display_priority": 10,
                    "logo_path": "/sVBEF7q7LqjHAWSnKwDbzmr2EMY.jpg",
                    "provider_id": 10,
                    "provider_name": "Amazon Video"
                },
                {
                    "display_priority": 18,
                    "logo_path": "/eqr1RvnDiHcM7UxmaZOIjdTmyx3.jpg",
                    "provider_id": 105,
                    "provider_name": "FandangoNOW"
                },
                {
                    "display_priority": 24,
                    "logo_path": "/pgaPsqgFh2grkcr7ROkoBajHJnf.jpg",
                    "provider_id": 7,
                    "provider_name": "Vudu"
                },
                {
                    "display_priority": 35,
                    "logo_path": "/paq2o2dIfQnxcERsVoq7Ys8KYz8.jpg",
                    "provider_id": 68,
                    "provider_name": "Microsoft Store"
                }
            ],
            "ads": [
                {
                    "display_priority": 19,
                    "logo_path": "/2irzpx5DK6PhmTOz4qiskLmVnT3.jpg",
                    "provider_id": 238,
                    "provider_name": "IMDb TV"
                }
            ],
            "free": [
                {
                    "display_priority": 23,
                    "logo_path": "/hPVhTOfXdQgqoqvphRIbOrObuCF.jpg",
                    "provider_id": 206,
                    "provider_name": "CW Seed"
                }
            ]
        },
        << some countries deleted from this example >>

    }
}
LordMike commented 3 years ago

Ooh, if we're missing some properties, we should get them added.

Can you make a PR that adds these?

mpfc75 commented 3 years ago

Mike, I have sent an email to the address listed for you on GitHub.

LordMike commented 3 years ago

I'm pushing 1.7.7-alpha soon. :)