コード例 #1
0
    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;
    }   
コード例 #2
0
 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;
 }
コード例 #3
0
 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 = 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;
 }
コード例 #4
0
        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;
        }
コード例 #5
0
ファイル: Yatse2Media.cs プロジェクト: Ghawken/FrontView
 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;
     Banner = apiTvShow.Banner;
     Logo = apiTvShow.Logo;
 }
コード例 #6
0
ファイル: Yatse2Media.cs プロジェクト: Ghawken/FrontView
        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,
                Banner = Banner,
                Logo = Logo
            };
            return api;

        }
コード例 #7
0
    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;
    }
コード例 #8
0
        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?ExcludeLocationTypes=Virtual&Recursive=true&IncludeItemTypes=Series";

                var request = WebRequest.CreateHttp(NPurl);

                request.Method = "get";
                request.Timeout = 150000;
                _parent.Trace("Single TV Show Selection: " + NPurl);

                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 + "---***--- END --- END GetTvShows:");

                        var deserializer = new JavaScriptSerializer();

                        var ItemData = deserializer.Deserialize<TVShows.Rootobject>(json);
                        _parent.Trace("---------------GetTVShows:  TV Show Selection:  Issue: Results.Taglines: " + ItemData.TotalRecordCount);

                        foreach (var genre in ItemData.Items)
                        {
                            try
                            {

                                var SingleTVData = GetSingleTVFromSeries(genre.Id);

                                string TempTVGenre = "";
                                if (SingleTVData.Genres != null && SingleTVData.Genres.Length != 0)
                                {
                                    if (SingleTVData.Genres.FirstOrDefault() != null)
                                    {
                                        TempTVGenre = SingleTVData.Genres.FirstOrDefault().ToString();
                                    }
                                }
                                string TempTVStudios = "";
                                if (SingleTVData.Studios != null && SingleTVData.Studios.Length != 0)
                                {
                                    if (SingleTVData.Studios.FirstOrDefault() != null)
                                    {
                                        TempTVStudios = SingleTVData.Studios.FirstOrDefault().Name.ToString();
                                    }
                                }


                                var tvShow = new ApiTvShow
                                {

                                    Title = genre.Name ?? "Unknown",
                                    Plot = SingleTVData.Overview ?? "",
                                    Rating = genre.CommunityRating.ToString() ?? "",
                                    IdScraper = "",
                                    Mpaa = SingleTVData.OfficialRating ?? "Unknown",
                                    Genre = TempTVGenre,
                                    Studio = TempTVStudios,
                                    IdShow = Xbmc.IDtoNumber(genre.Id),
                                    TotalCount = (long)(int)genre.RecursiveItemCount,
                                    Path = SingleTVData.Path ?? "",
                                    Premiered = genre.PremiereDate.ToString("D") ?? "",
                                    Thumb = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Primary" ?? "",
                                    Fanart = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Backdrop" ?? "",
                                    Banner = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Banner" ?? "",
                                    Logo = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.Id + "/Images/Logo" ?? "",
                                    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;
        }
コード例 #9
0
        public Collection<ApiTvShow> GetTvShowsRefresh()
        {
            //var MovieId = GetMainSelection("TV");
            var shows = new Collection<ApiTvShow>();

            try
            {
                _parent.Trace("Getting TV Shows REFRESH in TVSHOWS Parent IP: " + _parent.IP);
                string NPurl = "http://" + _parent.IP + ":" + _parent.Port + "/emby/Users/" + Globals.CurrentUserID + "/Items?Limit=30&Recursive=true&ExcludeLocationTypes=Virtual&SortBy=DateCreated&SortOrder=Descending&IncludeItemTypes=Episode";
                var request = WebRequest.CreateHttp(NPurl);
                request.Method = "get";
                request.Timeout = 700000;
                _parent.Trace("Single REFRESH TV Episode Selection in TVSHOWS: " + _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();
                    using (var sr = new System.IO.StreamReader(response.GetResponseStream()))
                    {
                        string json = sr.ReadToEnd();
                        _parent.Trace("--------------GETTING REFRESH TV Episodes: in TV SHOWS Selection Result ------" + json);
                        var deserializer = new JavaScriptSerializer();
                        deserializer.MaxJsonLength = Int32.MaxValue;
                        var ItemData = deserializer.Deserialize<TVEpisodes.Rootobject>(json);
                        _parent.Trace("---------------Get Single REFRESH TV Shows in TVSHOWS REfresh Selection:  Issue: Results.Taglines: " + ItemData.Items.Count());

                        foreach (var genre in ItemData.Items)
                        {
                            try
                            {
                                //Use Path to pass data on Item Number to play as API Long can't hold
                                //var SingleTVData = GetSingleTVFromSeries(genre.Id);

                                //Convert Date to sql date to allow sql date sort
                                //
                                //               DateTime myDateTime = genre.PremiereDate;
                                //                string sqlFormattedDate = myDateTime.ToString("s");

                                var SingleTVData = GetSingleTVFromSeries(genre.SeriesId);

                                string TempTVGenre = "";
                                if (SingleTVData.Genres != null && SingleTVData.Genres.Length != 0)
                                {
                                    if (SingleTVData.Genres.FirstOrDefault() != null)
                                    {
                                        TempTVGenre = SingleTVData.Genres.FirstOrDefault().ToString();
                                    }
                                }

                                string TempTVStudios = "";
                                if (SingleTVData.Studios != null && SingleTVData.Studios.Length != 0)
                                {
                                    if (SingleTVData.Studios.FirstOrDefault() != null)
                                    {
                                        TempTVStudios = SingleTVData.Studios.FirstOrDefault().Name.ToString();
                                    }
                                }


                                var tvShow = new ApiTvShow
                                {

                                    Title = genre.SeriesName ?? "Unknown",
                                    Plot = SingleTVData.Overview ?? "",
                                    Rating = genre.CommunityRating.ToString() ?? "",
                                    IdScraper = "",
                                    Mpaa = SingleTVData.OfficialRating ?? "Unknown",
                                    Genre = TempTVGenre,
                                    Studio = TempTVStudios,
                                    IdShow = Xbmc.IDtoNumber(genre.SeriesId),
                                    TotalCount = (long)(int)SingleTVData.RecursiveItemCount,
                                    Path = SingleTVData.Path ?? "",
                                    Premiered = SingleTVData.PremiereDate.ToString("D") ?? "",
                                    Thumb = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.SeriesId + "/Images/Primary" ?? "",
                                    Fanart = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.SeriesId + "/Images/Backdrop" ?? "",
                                    Banner = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.ParentBackdropItemId + "/Images/Banner" ?? "",
                                    Logo = "http://" + _parent.IP + ":" + _parent.Port + "/Items/" + genre.ParentBackdropItemId + "/Images/Logo" ?? "",
                                    Hash = Xbmc.Hash(genre.SeriesId)

                                };

                                shows.Add(tvShow);
                            }
                            catch (Exception ex)
                            {
                                _parent.Trace("TV Shows REFRESH Exception Caught " + ex);
                            }
                        }

                    }
                }
            }

            catch (Exception Ex)
            {
                _parent.Trace("Another tV SHows exception" + Ex);
            }

            return shows;
        }