public Collection <ApiTvSeason> GetTvSeasons() { var seasons = new Collection <ApiTvSeason>(); if (!_parent.IsConnected()) { return(seasons); } var dblines = _parent.IPimpDBCommand(new CommandInfoIPimp { Action = "getallseasons" }, "seasons"); if (dblines == null) { return(seasons); } foreach (JsonObject dbline in dblines) { var tvSeason = new ApiTvSeason { Fanart = (string)dbline["fanart"], Hash = MediaPortal.Hash((string)dbline["id"]), IdShow = 0, Thumb = (string)dbline["thumb"], EpisodeCount = Convert.ToInt32(dbline["episodecount"], CultureInfo.InvariantCulture), SeasonNumber = Convert.ToInt32(dbline["seasonnumber"], CultureInfo.InvariantCulture), Show = (string)dbline["show"] }; seasons.Add(tvSeason); } return(seasons); }
public Collection <ApiTvSeason> GetTvSeasons() { var seasons = new Collection <ApiTvSeason>(); var properties = new JsonArray(new[] { "title" }); var param = new JsonObject(); param["properties"] = properties; var result = (JsonObject)_parent.JsonCommand("VideoLibrary.GetTVShows", param); if (result != null) { if (result.Contains("tvshows")) { foreach (JsonObject show in (JsonArray)result["tvshows"]) { var properties2 = new JsonArray(new[] { "tvshowid", "fanart", "thumbnail", "season", "showtitle", "episode" }); var param2 = new JsonObject(); param2["properties"] = properties2; param2["tvshowid"] = (long)(JsonNumber)show["tvshowid"]; var result2 = (JsonObject)_parent.JsonCommand("VideoLibrary.GetSeasons", param2); if (result2 == null) { continue; } if (!result2.Contains("seasons")) { continue; } foreach (JsonObject genre in (JsonArray)result2["seasons"]) { try { var tvShow = new ApiTvSeason { SeasonNumber = (long)(JsonNumber)genre["season"], IdShow = (long)(JsonNumber)genre["tvshowid"], Show = genre["showtitle"].ToString(), Thumb = genre["thumbnail"].ToString(), EpisodeCount = (long)(JsonNumber)genre["episode"], Fanart = genre["fanart"].ToString(), Hash = Xbmc.Hash(genre["thumbnail"].ToString()) }; seasons.Add(tvShow); } catch (Exception) { } } } } } return(seasons); }
public Yatse2TvSeason(ApiTvSeason apiTvSeason) { if (apiTvSeason == null) { return; } IdShow = apiTvSeason.IdShow; SeasonNumber = apiTvSeason.SeasonNumber; Thumb = apiTvSeason.Thumb; Fanart = apiTvSeason.Fanart; EpisodeCount = apiTvSeason.EpisodeCount; Hash = apiTvSeason.Hash; Show = apiTvSeason.Show; }
public ApiTvSeason ToApi() { var api = new ApiTvSeason { Fanart = Fanart, Hash = Hash, Show = Show, Thumb = Thumb, IdShow = IdShow, EpisodeCount = EpisodeCount, SeasonNumber = SeasonNumber }; return(api); }
public Collection <ApiTvSeason> GetTvSeasons() { var seasons = new Collection <ApiTvSeason>(); const string req = "SELECT idShow, COUNT(idShow), c12, strPath,strTitle FROM episodeview GROUP BY idShow,c12"; var showHashes = new Hashtable(); var dblines = _parent.DBCommand("video", req); if (dblines == null) { return(seasons); } foreach (var dbline in dblines) { if (dbline.Length < 4) { _parent.Log("Invalid request DATA : " + dbline); continue; } var season = new ApiTvSeason { EpisodeCount = Xbmc.StringToNumber(dbline[1]), IdShow = Xbmc.StringToNumber(dbline[0]), SeasonNumber = Xbmc.StringToNumber(dbline[2]), Show = dbline[4] }; var temp = dbline[3]; season.Fanart = @"special://profile/Thumbnails/Video/Fanart/" + Xbmc.Hash(temp) + ".tbn"; char[] charsToTrim = { '/' }; temp = temp.TrimEnd(charsToTrim); var hash = Xbmc.Hash("season" + temp); season.Thumb = @"special://profile/Thumbnails/Video/" + hash[0] + "/" + hash + ".tbn"; season.Hash = temp; seasons.Add(season); } foreach (var season in seasons) { if (!showHashes.ContainsKey(season.IdShow)) { showHashes.Add(season.IdShow, season.Show); } } return(seasons); }
public Collection <ApiTvSeason> GetTvSeasons() { var seasons = new Collection <ApiTvSeason>(); try { _parent.Trace("Getting TV Seasons" + _parent.IP); string NPurl = "http://" + _parent.IP + ":" + _parent.Port + "/emby/Users/" + Globals.CurrentUserID + "/Items?Recursive=true&IncludeItemTypes=Season"; var request = WebRequest.CreateHttp(NPurl); request.Method = "get"; request.Timeout = 150000; _parent.Trace("Single TV Season Selection: " + _parent.IP + ":" + _parent.Port); var authString = _parent.GetAuthString(); request.Headers.Add("X-MediaBrowser-Token", Globals.EmbyAuthToken); request.Headers.Add("X-Emby-Authorization", authString); request.ContentType = "application/json; charset=utf-8"; request.Accept = "application/json; charset=utf-8"; var response = request.GetResponse(); if (((HttpWebResponse)response).StatusCode == HttpStatusCode.OK) { System.IO.Stream dataStream = response.GetResponseStream(); //REMOVETHIS System.IO.StreamReader reader = new System.IO.StreamReader(dataStream); using (var sr = new System.IO.StreamReader(response.GetResponseStream())) { string json = sr.ReadToEnd(); _parent.Trace("--------------GETTING Single TV Season Selection Result ------" + json); var deserializer = new JavaScriptSerializer(); var ItemData = deserializer.Deserialize <TVSeasons.Rootobject>(json); _parent.Trace("---------------Get Single TV Season Selection: Issue: Results.Taglines: " + ItemData.TotalRecordCount); foreach (var genre in ItemData.Items) { try { //var SingleTVData = GetSingleTVFromSeries(genre.Id); var tvShow = new ApiTvSeason { SeasonNumber = genre.IndexNumber, IdShow = Xbmc.IDtoNumber(genre.SeriesId), Show = genre.SeriesName ?? "", Thumb = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Primary" ?? "", EpisodeCount = genre.ChildCount, Fanart = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.SeriesId + "/Images/Backdrop" ?? "", Hash = Xbmc.Hash(genre.Id) }; seasons.Add(tvShow); /* * var tvShow = new ApiTvShow * { * * Title = genre.Name ?? "Unknown", * Plot = SingleTVData.Overview ?? "", * Rating = genre.CommunityRating.ToString() ?? "", * IdScraper = "", * Mpaa = SingleTVData.OfficialRating ?? "Unknown", * Genre = SingleTVData.Genres.FirstOrDefault().ToString() ?? "", * Studio = SingleTVData.Studios.FirstOrDefault().Name.ToString() ?? "", * IdShow = Xbmc.IDtoNumber(genre.Id), * TotalCount = genre.RecursiveItemCount, * Path = SingleTVData.Path ?? "", * Premiered = genre.PremiereDate.ToString() ?? "", * Thumb = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Primary" ?? "", * Fanart = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Backdrop" ?? "", * Hash = Xbmc.Hash(genre.Id) * * }; * * shows.Add(tvShow);*/ } catch (Exception ex) { _parent.Trace("TV Shows Exception Caught " + ex); } } } } } catch (Exception Ex) { _parent.Trace("Another tV SHows exception" + Ex); } /* * var properties = new Jayrock.Json.JsonArray(new[] { "title" }); * var param = new JsonObject(); * param["properties"] = properties; * * * var result = (JsonObject)_parent.JsonCommand("VideoLibrary.GetTVShows", param); * * * if (result != null) * { * if (result.Contains("tvshows")) * { * foreach (JsonObject show in (JsonArray)result["tvshows"]) * { * var properties2 = * new JsonArray(new[] { "tvshowid", "fanart", "thumbnail", "season", "showtitle", "episode" }); * var param2 = new JsonObject(); * param2["properties"] = properties2; * param2["tvshowid"] = (long)(JsonNumber)show["tvshowid"]; * var result2 = (JsonObject)_parent.JsonCommand("VideoLibrary.GetSeasons", param2); * if (result2 == null) continue; * if (!result2.Contains("seasons")) continue; * foreach (JsonObject genre in (JsonArray)result2["seasons"]) * { * try * { * var tvShow = new ApiTvSeason * { * SeasonNumber = (long)(JsonNumber)genre["season"], * IdShow = (long)(JsonNumber)genre["tvshowid"], * Show = genre["showtitle"].ToString(), * Thumb = genre["thumbnail"].ToString(), * EpisodeCount = (long)(JsonNumber)genre["episode"], * Fanart = genre["fanart"].ToString(), * Hash = Xbmc.Hash(genre["thumbnail"].ToString()) * }; * seasons.Add(tvShow); * } * catch (Exception) * { * } * } * } * } * } */ return(seasons); }
public Collection <ApiTvSeason> GetTvSeasonsRefresh() { var seasons = new Collection <ApiTvSeason>(); var properties = new JsonArray(new[] { "title" }); var param = new JsonObject(); param["properties"] = properties; // First 100 Date sorted var param2 = new JsonObject(); param2.Add("start", 0); param2.Add("end", 10); var param3 = new JsonObject(); param3.Add("order", "descending"); param3.Add("method", "dateadded"); param.Add("sort", param3); param.Add("limits", param2); var result = (JsonObject)_parent.JsonCommand("VideoLibrary.GetTVShows", param); if (result != null) { if (result.Contains("tvshows")) { foreach (JsonObject show in (JsonArray)result["tvshows"]) { var properties2 = new JsonArray(new[] { "tvshowid", "fanart", "thumbnail", "season", "showtitle", "episode" }); var param22 = new JsonObject(); param22["properties"] = properties2; param22["tvshowid"] = (long)(JsonNumber)show["tvshowid"]; var result2 = (JsonObject)_parent.JsonCommand("VideoLibrary.GetSeasons", param22); if (result2 == null) { continue; } if (!result2.Contains("seasons")) { continue; } foreach (JsonObject genre in (JsonArray)result2["seasons"]) { try { _parent.Trace("Kodi QuickRefresh Seasons: SeasonNumber:" + (long)(JsonNumber)genre["season"]); _parent.Trace("Kodi QuickRefresh Seasons: IdShow:" + (long)(JsonNumber)genre["tvshowid"]); _parent.Trace("Kodi QuickRefresh Seasons: Show:" + genre["showtitle"].ToString()); _parent.Trace("Kodi QuickRefresh Seasons: Thumb:" + genre["thumbnail"].ToString()); _parent.Trace("Kodi QuickRefresh Seasons: EpisodeCount:" + (long)(JsonNumber)genre["episode"]); _parent.Trace("Kodi QuickRefresh Seasons: Fanart:" + genre["fanart"].ToString()); _parent.Trace("Kodi QuickRefresh Seasons: Hash:" + genre["thumbnail"].ToString()); var tvShow = new ApiTvSeason { SeasonNumber = (long)(JsonNumber)genre["season"], IdShow = (long)(JsonNumber)genre["tvshowid"], Show = genre["showtitle"].ToString(), Thumb = genre["thumbnail"].ToString(), EpisodeCount = (long)(JsonNumber)genre["episode"], Fanart = genre["fanart"].ToString(), Hash = Xbmc.Hash(genre["thumbnail"].ToString()) }; seasons.Add(tvShow); } catch (Exception) { } } } } } return(seasons); }
public Collection <ApiTvSeason> GetTvSeasons() { var seasons = new Collection <ApiTvSeason>(); // return(seasons); // try { // Load full database... getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Sub%20Type]=[TV%20Show]"); // iterate through Items foreach (var Field in Allitems) { var result = ""; var isTVshow = false; if (Field.TryGetValue("Media Sub Type", out result)) { if (result == "TV Show") { isTVshow = true; } else { continue; } } var SeriesName = ""; if (Field.TryGetValue("Series", out result)) { SeriesName = result; } long SeasonNumber = 0; string Season = ""; if (Field.TryGetValue("Season", out Season)) { SeasonNumber = long.TryParse(Season, out SeasonNumber) ? SeasonNumber : 0; } string FileKey = ""; string Thumb2 = ""; string Fanart2 = ""; if (Field.TryGetValue("Key", out FileKey)) { Thumb2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Thumbnail&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; Fanart2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Full&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; } var filename = Field.ValueOrDefault("Filename"); if (filename != null & filename != "") { var filePath = Path.GetDirectoryName(Field.ValueOrDefault("Filename")); var fanartPath = Path.Combine(filePath, "fanart.jpg"); var ThumbPath = Path.Combine(filePath, "poster.jpg"); System.IO.FileInfo fi = new System.IO.FileInfo(fanartPath); System.IO.FileInfo fiThumb = new System.IO.FileInfo(ThumbPath); if (fi.Exists) { Fanart2 = fanartPath; //if fanart.jpg exisits in directory with movie use this otherwise default to JRiver Thumb } if (fiThumb.Exists) { Thumb2 = ThumbPath; } } string tvdb = "0"; string ShowName = Field.ValueOrDefault("Series"); if (ShowName == "") { ShowName = "Unknown Series"; } var tvShow = new ApiTvSeason { SeasonNumber = SeasonNumber, IdShow = Xbmc.IDstringtoNumber(ShowName), Show = SeriesName ?? "", Thumb = Thumb2 ?? "", EpisodeCount = 1, //bit of a hack but if date sorted - latest episode should be highest - so for most should be right. Fanart = Fanart2 ?? "", Hash = Xbmc.Hash(ShowName) }; // need to check is season and make sure isn't already added if (isTVshow && !seasons.Contains(tvShow)) { seasons.Add(tvShow); } } } catch (Exception ex) { _parent.Trace("TV Shows Exception Caught " + ex); } return(seasons); }
public Collection <ApiTvSeason> GetTvSeasonsRefresh() { var seasons = new Collection <ApiTvSeason>(); return(seasons); // no refresh possible for Jrvier try { // Load full database... getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Sub%20Type]=[TV%20Show]"); // iterate through Items foreach (var Field in Allitems) { var result = ""; var isTVshow = false; if (Field.TryGetValue("Media Sub Type", out result)) { if (result == "TV Show") { isTVshow = true; } } var SeriesName = ""; if (Field.TryGetValue("Series", out result)) { SeriesName = result; } long SeasonNumber = 0; string Season = ""; if (Field.TryGetValue("Season", out Season)) { SeasonNumber = long.TryParse(Season, out SeasonNumber) ? SeasonNumber : 0; } string tvdb = "0"; if (Field.TryGetValue("TheTVDB Series ID", out tvdb)) { tvdb = tvdb; } string FileKey = ""; string Thumb = ""; string Fanart = ""; if (Field.TryGetValue("Key", out FileKey)) { Thumb = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Thumbnail&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; Fanart = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Full&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; } //var SingleTVData = GetSingleTVFromSeries(genre.Id); //_parent.Trace("---Emby QuickRefresh GetTVSeasons--- Season Number:" + SeasonNumber); //_parent.Trace("---Emby QuickRefresh GetTVSeasons--- ID Show:" + Xbmc.IDtoNumber(SeriesName)); //_parent.Trace("---Emby QuickRefresh GetTVSeasons--- Series Name:" + SeriesName); //_parent.Trace("---Emby QuickRefresh GetTVSeasons--- Thumb:" + Thumb); //_parent.Trace("---Emby QuickRefresh GetTVSeasons--- Child Count:" + 1); //_parent.Trace("---Emby QuickRefresh GetTVSeasons--- Fanart:" + Fanart); //_parent.Trace("---Emby QuickRefresh GetTVSeasons--- Hash:" + Xbmc.Hash(SeriesName)); var tvShow = new ApiTvSeason { SeasonNumber = SeasonNumber, IdShow = Xbmc.IDtoNumber(tvdb), Show = SeriesName ?? "", Thumb = Thumb ?? "", EpisodeCount = 1, //bit of a hack but if date sorted - latest episode should be highest - so for most should be right. Fanart = Fanart ?? "", Hash = Xbmc.Hash(SeriesName) }; // need to check is season and make sure isn't already added if (isTVshow && !seasons.Contains(tvShow)) { seasons.Add(tvShow); } } } catch (Exception ex) { _parent.Trace("TV Shows Exception Caught " + ex); } return(seasons); }