public static TmdbPerson[] GetPopular(int minPage, int maxPage) { var l = Tmdb.CollapsePagedJson( Tmdb.InvokePaged("/person/popular", minPage, maxPage)); return(JsonArray.ToArray(l, (d) => new TmdbPerson((IDictionary <string, object>)d))); }
public static TmdbMovie[] SearchMovies(string query, int minPage, int maxPage, int year = 0, int primaryReleaseYear = 0, string region = null, bool includeAdult = false) { var args = new JsonObject(); args.Add("query", query); if (!string.IsNullOrEmpty(region)) { args.Add("region", region); } if (includeAdult) { args.Add("include_adult", includeAdult); } if (0 < year) { args.Add("year", year); } if (0 < primaryReleaseYear) { args.Add("primary_release_year", primaryReleaseYear); } return(JsonArray.ToArray( Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang("/search/movie", minPage, maxPage, args)), (d) => new TmdbMovie((IDictionary <string, object>)d))); }
public TmdbMovieList[] GetLists(int minPage = 0, int maxPage = 999) { var l = Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang(string.Concat("/", string.Join("/", PathIdentity), "/lists"), minPage, maxPage)); return(JsonArray.ToArray(l, (d) => new TmdbMovieList((IDictionary <string, object>)d))); }
public TmdbMovie[] GetRatedMovies(TmdbRatedSortType sortBy = TmdbRatedSortType.Default) { var sessionId = Id; string sb = null; switch (sortBy) { case TmdbRatedSortType.DateCreated | TmdbRatedSortType.Ascending: sb = "created_at.asc"; break; default: // we want to cache the default return(RatedMovies); } var args = new JsonObject(); args.Add("sort_by", sb); var l = Tmdb.CollapsePagedJson(Tmdb.InvokePagedLang(string.Concat("/guest_session/", Id, "/rated/movies"), 0, 0, args)); if (null != l) { return(JsonArray.ToArray(l, (d) => new TmdbMovie((IDictionary <string, object>)d))); } return(null); }
static TmdbShow[] _GetShows(string method, int minPage, int maxPage) { var args = new JsonObject(); var l = Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang(string.Concat("/tv/", method), minPage, maxPage, args)); return(JsonArray.ToArray(l, (d) => new TmdbShow((IDictionary <string, object>)d))); }
public static TmdbCompany[] SearchCompanies(string query, int minPage, int maxPage) { var args = new JsonObject(); args.Add("query", query); return(JsonArray.ToArray( Tmdb.CollapsePagedJson( Tmdb.InvokePaged("/search/company", minPage, maxPage, args)), (d) => new TmdbCompany((IDictionary <string, object>)d))); }
public static TmdbKeyword[] SearchKeywords(string query, int minPage, int maxPage) { var args = new JsonObject(); args.Add("query", query); return(JsonArray.ToArray( Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang("/search/keyword", minPage, maxPage, args)), (d) => new TmdbKeyword((IDictionary <string, object>)d))); }
public static TmdbMovie[] DiscoverMovies(TmdbDiscoverMoviesInfo query, int minPage, int maxPage) { if (null == query) { query = new TmdbDiscoverMoviesInfo(); } return(JsonArray.ToArray( Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang("/discover/movie", minPage, maxPage, query.ToArguments())), (d) => new TmdbMovie((IDictionary <string, object>)d))); }
static TmdbMovie[] _GetMovies(string method, string region, int minPage, int maxPage) { var args = new JsonObject(); if (null != region) { args.Add("region", region); } var l = Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang(string.Concat("/movie/", method), minPage, maxPage, args)); return(JsonArray.ToArray(l, (d) => new TmdbMovie((IDictionary <string, object>)d))); }
public TmdbMovie[] GetMovies(bool includeAdult = false) { // this routine does not accept a page parameter but returns the results // in paged format var args = new JsonObject(); if (includeAdult) { args.Add("include_adult", true); } return(JsonArray.ToArray( Tmdb.CollapsePagedJson(Tmdb.InvokePagedLang(string.Concat("/keyword/", Id.ToString(), "/movies"), 0, 0, args)), (d) => new TmdbMovie((IDictionary <string, object>)d))); }
public static TmdbShow[] SearchShows(string query, int minPage, int maxPage, int firstAirDateYear = 0) { var args = new JsonObject(); args.Add("query", query); if (0 < firstAirDateYear) { args.Add("first_air_date_year", firstAirDateYear); } return(JsonArray.ToArray( Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang("/search/tv", minPage, maxPage, args)), (d) => new TmdbShow((IDictionary <string, object>)d))); }
public static TmdbPrimary[] GetTrending(TmdbTimeWindow window, int minPage = 0, int maxPage = 999) { string tw = "day"; switch (window) { case TmdbTimeWindow.Week: tw = "week"; break; } var l = Tmdb.CollapsePagedJson( Tmdb.InvokePaged(string.Concat("/trending/all/", tw), minPage, maxPage)); return(JsonArray.ToArray(l, (d) => _GetPrimaryTrending((IDictionary <string, object>)d))); }
void _EnsureFetchedRatedShows() { var l = GetField <IList <object> >("rated_shows"); if (null == l) { // this function does not actually accept a page parameter, but it returns the result // in paged form, so we use the paged routines with the default page (0) which does not // send a page parameter. l = Tmdb.CollapsePagedJson(Tmdb.InvokePagedLang(string.Concat("/guest_session/", Id, "/rated/tv"), 0, 0)); if (null != l) { Json.Add("rated_shows", l); } } }
public static TmdbMovie[] GetMovieChanges(DateTime startDate = default(DateTime), DateTime endDate = default(DateTime), int minPage = 0, int maxPage = 999) { var args = new JsonObject(); if (default(DateTime) != startDate) { args.Add("start_date", startDate.ToString("yyyy-MM-dd")); } if (default(DateTime) != endDate) { args.Add("end_date", endDate.ToString("yyyy-MM-dd")); } return(JsonArray.ToArray( Tmdb.CollapsePagedJson( Tmdb.InvokePaged("/movie/changes", minPage, maxPage, args)) , (d) => new TmdbMovie(d as IDictionary <string, object>))); }
public static TmdbPerson[] SearchPeople(string query, int minPage, int maxPage, string region = null, bool includeAdult = false) { var args = new JsonObject(); args.Add("query", query); if (!string.IsNullOrEmpty(region)) { args.Add("region", region); } if (includeAdult) { args.Add("include_adult", includeAdult); } return(JsonArray.ToArray( Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang("/search/person", minPage, maxPage, args)), (d) => new TmdbPerson((IDictionary <string, object>)d))); }
// TODO: refactor this. It's a duplicate from TmdbMedia and TmdbPerson, and TmdbSeason public KeyValuePair <string, TmdbChangeAction[]>[] GetChangesGroupedByKey(int minPage, int maxPage, DateTime startDate = default(DateTime), DateTime endDate = default(DateTime)) { var args = new JsonObject(); if (default(DateTime) != startDate) { args.Add("start_date", Tmdb.DateTimeToDate(startDate)); } if (default(DateTime) != endDate) { args.Add("end_date", Tmdb.DateTimeToDate(endDate)); } var l = Tmdb.CollapsePagedJson(Tmdb.InvokeFlatPaged(string.Concat("/", string.Join("/", PathIdentity), "/changes"), minPage, maxPage, args)); if (null != l) { var result = new KeyValuePair <string, TmdbChangeAction[]> [l.Count]; for (var i = 0; i < result.Length; i++) { var ci = l[i] as IDictionary <string, object>; if (null != ci) { string key = null; TmdbChangeAction[] value; object o; if (ci.TryGetValue("key", out o)) { key = o as string; } if (ci.TryGetValue("items", out o)) { var ll = o as IList <object>; value = JsonArray.ToArray(ll, (dd) => new TmdbChangeAction((IDictionary <string, object>)dd)); result[i] = new KeyValuePair <string, TmdbChangeAction[]>(key, value); } } } return(result); } return(null); }
public static TmdbPrimary[] Search(string query, int minPage, int maxPage, string region = null, bool includeAdult = false) { var args = new JsonObject(); args.Add("query", query); if (!string.IsNullOrEmpty(region)) { args.Add("region", region); } if (includeAdult) { args.Add("includeAdult", includeAdult); } var l = Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang("/search/multi", minPage, maxPage, args)); return(JsonArray.ToArray <TmdbPrimary>(l, (dd) => { var d = dd as IDictionary <string, object>; if (null != d) { object o; if (d.TryGetValue("media_type", out o)) { switch (o as string) { case "movie": return new TmdbMovie((IDictionary <string, object>)dd); case "tv": return new TmdbShow((IDictionary <string, object>)dd); case "person": return new TmdbPerson((IDictionary <string, object>)dd); } } } return null; } )); }
public static TmdbMovie[] GetGuestSessionRatedMovies(TmdbRatedSortType sortBy = TmdbRatedSortType.Default) { var sessionId = GuestSessionId; var args = new JsonObject(); string sb = null; switch (sortBy) { case TmdbRatedSortType.DateCreated | TmdbRatedSortType.Ascending: sb = "created_at.asc"; break; default: sb = "created_at.desc"; break; } args.Add("sort_by", sb); // this function does not actually accept a page parameter, but it returns the result // in paged form, so we use the paged routines with the default page (0) which does not // send a page parameter. return(JsonArray.ToArray( Tmdb.CollapsePagedJson(Tmdb.InvokePagedLang(string.Concat("/guest_session/", sessionId, "/rated/movies"), 0, 0, args)), (d) => new TmdbMovie((IDictionary <string, object>)d))); }
public TmdbTaggedImage[] GetTaggedImages(int minPage = 0, int maxPage = 999) { return(JsonArray.ToArray(Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang(string.Concat("/", string.Join("/", PathIdentity), "/tagged_images"))), (d) => new TmdbTaggedImage((IDictionary <string, object>)d))); }
public TmdbShow[] GetSimilar(int minPage = 0, int maxPage = 999) { return(JsonArray.ToArray(Tmdb.CollapsePagedJson( Tmdb.InvokePagedLang(string.Concat("/", string.Join("/", PathIdentity), "/similar"), minPage, maxPage)), (d) => new TmdbShow((IDictionary <string, object>)d))); }