public Collection <ApiTvShow> GetTvShowsRefresh() { var shows = new Collection <ApiTvShow>(); var properties = new JsonArray(new[] { "title", "plot", "genre", "fanart", "thumbnail", "rating", "mpaa", "studio", "playcount", "premiered", "episode" }); 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 genre in (JsonArray)result["tvshows"]) { try { var tvShow = new ApiTvShow { Title = genre["title"].ToString(), Plot = genre["plot"].ToString(), Rating = genre["rating"].ToString(), IdScraper = "", Mpaa = genre["mpaa"].ToString(), Genre = _parent.JsonArrayToString((JsonArray)genre["genre"]), Studio = _parent.JsonArrayToString((JsonArray)genre["studio"]), IdShow = (long)(JsonNumber)genre["tvshowid"], TotalCount = (long)(JsonNumber)genre["episode"], Path = "", Premiered = genre["premiered"].ToString(), Thumb = genre["thumbnail"].ToString(), Fanart = genre["fanart"].ToString(), Hash = Xbmc.Hash(genre["thumbnail"].ToString()) }; shows.Add(tvShow); } catch (Exception) { } } } } return(shows); }
public Collection <ApiTvShow> GetTvShows() { var shows = new Collection <ApiTvShow>(); if (!_parent.IsConnected()) { return(shows); } var dblines = _parent.IPimpDBCommand(new CommandInfoIPimp { Action = "getallseries" }, "series"); if (dblines == null) { return(shows); } foreach (JsonObject dbline in dblines) { var tvshow = new ApiTvShow { Fanart = (string)dbline["fanart"], Hash = MediaPortal.Hash((string)dbline["name"]), Genre = ((string)dbline["genre"]).Trim('|').Replace("|", " / "), IdShow = Convert.ToInt32(dbline["id"], CultureInfo.InvariantCulture), Mpaa = (string)dbline["mpaa"], Plot = (string)dbline["plot"], Premiered = (string)dbline["firstaired"], Rating = ((string)dbline["rating"]).Replace(',', '.'), Studio = (string)dbline["studio"], Title = (string)dbline["name"], TotalCount = Convert.ToInt32(dbline["episodecount"], CultureInfo.InvariantCulture), Thumb = (string)dbline["thumb"], Path = "", IdScraper = "" }; shows.Add(tvshow); } return(shows); }
public Yatse2TvShow(ApiTvShow apiTvShow) { if (apiTvShow == null) { return; } Title = apiTvShow.Title; IdShow = apiTvShow.IdShow; IdScraper = apiTvShow.IdScraper; Plot = apiTvShow.Plot; Premiered = apiTvShow.Premiered; Rating = apiTvShow.Rating; Genre = apiTvShow.Genre; Mpaa = apiTvShow.Mpaa; Studio = apiTvShow.Studio; Path = apiTvShow.Path; TotalCount = apiTvShow.TotalCount; Hash = apiTvShow.Hash; Thumb = apiTvShow.Thumb; Fanart = apiTvShow.Fanart; }
public ApiTvShow ToApi() { var api = new ApiTvShow { Fanart = Fanart, Hash = Hash, Thumb = Thumb, Genre = Genre, Path = Path, Title = Title, IdScraper = IdScraper, IdShow = IdShow, Mpaa = Mpaa, Plot = Plot, Premiered = Premiered, Rating = Rating, Studio = Studio, TotalCount = TotalCount }; return(api); }
public Collection <ApiTvShow> GetTvShows() { var shows = new Collection <ApiTvShow>(); var dblines = _parent.DBCommand("video", "SELECT tvshow.idShow,tvshow.c00,tvshow.c01,tvshow.c04,tvshow.c05,tvshow.c08,tvshow.c12,tvshow.c13,tvshow.c14,path.strPath as strPath,counts.totalcount as totalCount FROM tvshow join tvshowlinkpath on tvshow.idShow=tvshowlinkpath.idShow join path on path.idpath=tvshowlinkpath.idPath left outer join ( select tvshow.idShow as idShow,count(1) as totalcount,count(files.playCount) as watchedcount from tvshow join tvshowlinkepisode on tvshow.idShow = tvshowlinkepisode.idShow join episode on episode.idEpisode = tvshowlinkepisode.idEpisode join files on files.idFile = episode.idFile group by tvshow.idShow) counts on tvshow.idShow = counts.idShow"); if (dblines == null) { return(shows); } foreach (var dbline in dblines) { if (dbline.Length < 11) { _parent.Log("Invalid request DATA : " + dbline); continue; } dbline[3] = dbline[3].Length > 3 ? dbline[3] : "0.0"; var show = new ApiTvShow { IdShow = Xbmc.StringToNumber(dbline[0]), Title = dbline[1], Plot = dbline[2], Rating = dbline[3].Substring(0, 3).Trim('.'), Premiered = dbline[4], Genre = dbline[5], IdScraper = dbline[6], Mpaa = dbline[7], Studio = dbline[8], Path = dbline[9], TotalCount = Xbmc.StringToNumber(dbline[10]) }; show.Hash = Xbmc.Hash(show.Path); show.Thumb = @"special://profile/Thumbnails/Video/" + show.Hash[0] + "/" + show.Hash + ".tbn"; show.Fanart = @"special://profile/Thumbnails/Video/Fanart/" + show.Hash + ".tbn"; shows.Add(show); } return(shows); }
public Collection <ApiTvShow> GetTvShows() { var shows = new Collection <ApiTvShow>(); var dblines = _parent.DBCommand("video", "SELECT idShow,c00,c01,c04,c05,c08,c12,c13,c14,strPath,totalCount FROM tvshowview"); if (dblines == null) { return(shows); } foreach (var dbline in dblines) { if (dbline.Length < 11) { _parent.Log("Invalid request DATA : " + dbline); continue; } dbline[3] = dbline[3].Length > 3 ? dbline[3] : "0.0"; var show = new ApiTvShow { IdShow = XbmcHttp.StringToNumber(dbline[0]), Title = dbline[1], Plot = dbline[2], Rating = dbline[3].Substring(0, 3).Trim('.'), Premiered = dbline[4], Genre = dbline[5], IdScraper = dbline[6], Mpaa = dbline[7], Studio = dbline[8], Path = dbline[9], TotalCount = XbmcHttp.StringToNumber(dbline[10]) }; show.Hash = XbmcHttp.Hash(show.Path); show.Thumb = @"special://profile/Thumbnails/Video/" + show.Hash[0] + "/" + show.Hash + ".tbn"; show.Fanart = @"special://profile/Thumbnails/Video/Fanart/" + show.Hash + ".tbn"; shows.Add(show); } return(shows); }
public Collection <ApiTvShow> GetTvShows() { //var MovieId = GetMainSelection("TV"); var shows = new Collection <ApiTvShow>(); try { _parent.Trace("Getting TV Shows" + _parent.IP); string NPurl = "http://" + _parent.IP + ":" + _parent.Port + "/emby/Users/" + Globals.CurrentUserID + "/Items?Recursive=true&IncludeItemTypes=Series"; var request = WebRequest.CreateHttp(NPurl); request.Method = "get"; request.Timeout = 150000; _parent.Trace("Single TV Show 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 Show Selection Result ------" + json); var deserializer = new JavaScriptSerializer(); var ItemData = deserializer.Deserialize <TVShows.Rootobject>(json); _parent.Trace("---------------Get Single TV Show Selection: Issue: Results.Taglines: " + ItemData.TotalRecordCount); foreach (var genre in ItemData.Items) { try { var SingleTVData = GetSingleTVFromSeries(genre.Id); 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); } return(shows); }
public Collection <ApiTvShow> GetTvShowsRefresh() { var shows = new Collection <ApiTvShow>(); var properties = new JsonArray(new[] { "title", "art", "plot", "genre", "fanart", "thumbnail", "rating", "mpaa", "studio", "playcount", "premiered", "episode", "file" }); var param = new JsonObject(); param["properties"] = properties; // First 100 Date sorted var param2 = new JsonObject(); param2.Add("start", 0); param2.Add("end", 10); //Number of TV Shows Quick Refresh Gets 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 genre in (JsonArray)result["tvshows"]) { try { var clearlogo = "NONE"; var banner = "NONE"; // go through art and see. JsonObject results = (JsonObject)genre["art"]; if (results != null) { if (results["clearlogo"] != null) { clearlogo = results["clearlogo"].ToString(); } if (results["banner"] != null) { banner = results["banner"].ToString(); } } var tvShow = new ApiTvShow { Title = genre["title"].ToString(), Plot = genre["plot"].ToString(), Rating = genre["rating"].ToString(), IdScraper = "", Mpaa = genre["mpaa"].ToString(), Genre = _parent.JsonArrayToString((JsonArray)genre["genre"]), Studio = _parent.JsonArrayToString((JsonArray)genre["studio"]), IdShow = (long)(JsonNumber)genre["tvshowid"], TotalCount = (long)(JsonNumber)genre["episode"], Path = genre["file"].ToString(), Premiered = genre["premiered"].ToString(), Thumb = genre["thumbnail"].ToString(), Fanart = genre["fanart"].ToString(), Logo = clearlogo, Banner = banner, Hash = Xbmc.Hash(genre["thumbnail"].ToString()) }; shows.Add(tvShow); } catch (Exception ex) { _parent.Log("GetTVShowsRefresh : Exception Caught: Json seems to equal :" + ex); } } } } return(shows); }
public Collection <ApiTvShow> GetTvShows() { //var MovieId = GetMainSelection("TV"); var shows = new Collection <ApiTvShow>(); return(shows); // try { getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Sub%20Type]=[TV%20Show]"); _parent.Trace("GetTVEpisodes : Parent IP: " + _parent.IP); // 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; } } long PlayCount = 0; string Plays = ""; if (Field.TryGetValue("Number Plays", out Plays)) { PlayCount = long.TryParse(Plays, out PlayCount) ? PlayCount : 0; } long SeasonNumber = 0; string Season = ""; if (Field.TryGetValue("Season", out Season)) { SeasonNumber = long.TryParse(Season, out SeasonNumber) ? SeasonNumber : 0; } long EpisodeNumber = 0; string EpisodeNo = ""; if (Field.TryGetValue("Episode", out EpisodeNo)) { EpisodeNumber = long.TryParse(EpisodeNo, out EpisodeNumber) ? EpisodeNumber : 0; } string FileKey = ""; string Thumb2 = ""; string Fanart2 = ""; string LogoArt = ""; string BannerArt = ""; 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 LogoPath = Path.Combine(filePath, "logo.png"); var ThumbPath = Path.Combine(filePath, "poster.jpg"); var BannerPath = Path.Combine(filePath, "banner.jpg"); System.IO.FileInfo fi = new System.IO.FileInfo(fanartPath); System.IO.FileInfo fiLogo = new System.IO.FileInfo(LogoPath); System.IO.FileInfo fiThumb = new System.IO.FileInfo(ThumbPath); System.IO.FileInfo fiBanner = new System.IO.FileInfo(BannerPath); // _parent.Trace("JRiver: ** filePath ** :" + filePath); // _parent.Trace("JRiver: ** fanArt.Jpg ** :" + fanartPath); // _parent.Trace("JRiver: ** Logo.Png ** :" + LogoPath); if (fi.Exists) { Fanart2 = fanartPath; //if fanart.jpg exisits in directory with movie use this otherwise default to JRiver Thumb } if (fiLogo.Exists) { LogoArt = LogoPath; } if (fiThumb.Exists) { Thumb2 = ThumbPath; } if (fiBanner.Exists) { BannerArt = BannerPath; } } string ShowName = Field.ValueOrDefault("Series"); if (ShowName == "") { ShowName = "Unknown Series"; } long idShow = Xbmc.IDstringtoNumber(ShowName); var tvShow = new ApiTvShow { Title = ShowName, Plot = Field.ValueOrDefault("Comment"), Rating = "", Mpaa = Field.ValueOrDefault("MPAA Rating"), Studio = Field.ValueOrDefault("Studio"), Path = Field.ValueOrDefault("Filename"), IdScraper = "", Genre = Field.ValueOrDefault("Genre"), IdShow = idShow, TotalCount = 0, Premiered = Field.ValueOrDefault("Date (readable)"), Thumb = Thumb2, Fanart = Fanart2, Banner = BannerArt, Logo = LogoArt, Hash = Xbmc.Hash(FileKey) }; if (isTVshow && !shows.Any(a => a.IdShow == idShow)) { _parent.Trace("JRiver: New Show Found: Adding Show:" + ShowName); shows.Add(tvShow); } } } catch (Exception ex) { _parent.Trace("TV Shows REFRESH Exception Caught " + ex); } return(shows); }
public Collection <ApiTvShow> GetTvShowsRefresh() { //var MovieId = GetMainSelection("TV"); var shows = new Collection <ApiTvShow>(); return(shows); // No refresh possible for Jriver that I can see try { getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Sub%20Type]=[TV%20Show]"); _parent.Trace("GetTVEpisodes : Parent IP: " + _parent.IP); // 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; } } long PlayCount = 0; string Plays = ""; if (Field.TryGetValue("Number Plays", out Plays)) { PlayCount = long.TryParse(Plays, out PlayCount) ? PlayCount : 0; } long SeasonNumber = 0; string Season = ""; if (Field.TryGetValue("Season", out Season)) { SeasonNumber = long.TryParse(Season, out SeasonNumber) ? SeasonNumber : 0; } long EpisodeNumber = 0; string EpisodeNo = ""; if (Field.TryGetValue("Episode", out EpisodeNo)) { EpisodeNumber = long.TryParse(EpisodeNo, out EpisodeNumber) ? EpisodeNumber : 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 ?? ""; } string tvdb = "0"; if (Field.TryGetValue("TheTVDB Series ID", out tvdb)) { _parent.Trace("TVDB found"); } _parent.Trace(" *****************"); _parent.Trace(Field.ValueOrDefault("Series")); _parent.Trace(Field.ValueOrDefault("Comment")); _parent.Trace(Field.ValueOrDefault("MPAA Rating")); _parent.Trace(Field.ValueOrDefault("Studio")); _parent.Trace("2" + Field.ValueOrDefault("Genre")); _parent.Trace("3" + Field.ValueOrDefault("Filename")); _parent.Trace("4" + Field.ValueOrDefault("Genre")); _parent.Trace("5" + Xbmc.IDtoNumber(tvdb).ToString()); _parent.Trace("6" + Field.ValueOrDefault(@"Date (readable)")); _parent.Trace(Thumb2); _parent.Trace(Fanart2); _parent.Trace(Xbmc.Hash(FileKey)); var tvShow = new ApiTvShow { Title = Field.ValueOrDefault("Series"), Plot = Field.ValueOrDefault("Comment"), Rating = "", Mpaa = Field.ValueOrDefault("MPAA Rating"), Studio = Field.ValueOrDefault("Studio"), Path = Field.ValueOrDefault("Filename"), IdScraper = "", Genre = Field.ValueOrDefault("Genre"), IdShow = Xbmc.IDtoNumber(tvdb), TotalCount = 0, Premiered = Field.ValueOrDefault("Date (readable)"), Thumb = Thumb2, Fanart = Fanart2, Banner = "NoBannerAddCodetoCheckPath", Logo = "NoLogoCheckCodetoCheckLogo", Hash = Xbmc.Hash(FileKey) }; if (isTVshow && !shows.Contains(tvShow)) { shows.Add(tvShow); } } } catch (Exception ex) { _parent.Trace("TV Shows REFRESH Exception Caught " + ex); } return(shows); }