コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: MpcHc.Remote.cs プロジェクト: vageesh79/FrontView
        public bool Command(string cmd, string parameter)
        {
            HttpWebRequest request;
            var            returnContent = false;

            var uri = @"http://" + _parent.IP + ":" + _parent.MpcHcPort + "/command.html?wm_command=" + cmd;

            if (!String.IsNullOrEmpty(parameter))
            {
                uri += "&" + parameter;
            }
            try
            {
                request         = (HttpWebRequest)WebRequest.Create(new Uri(uri));
                request.Method  = "GET";
                request.Timeout = 1000;
                _parent.Log("MPCCOMMAND : " + cmd);
                _parent.Trace(uri);
                using (var response = (HttpWebResponse)request.GetResponse())
                {
                    using (var stream = response.GetResponseStream())
                    {
                        if (stream != null)
                        {
                            using (var reader = new StreamReader(stream, Encoding.UTF8))
                            {
                                var reqContent = reader.ReadToEnd();
                                _parent.Trace(reqContent);
                                returnContent = true;
                            }
                        }
                    }
                }
            }
            catch (WebException e)
            {
                _parent.Log("ERROR - MPCCOMMAND : " + cmd + " - " + e.Message);
                if (e.Status == WebExceptionStatus.Timeout)
                {
                    _parent.MpcLoaded = false;
                }
            }
            return(returnContent);
        }
コード例 #3
0
ファイル: Xbmc.AudioLibrary.cs プロジェクト: kronic/Yatse2
        public Collection <ApiAudioGenre> GetGenres()
        {
            var genres  = new Collection <ApiAudioGenre>();
            var dblines = _parent.DBCommand("music", "SELECT idGenre,strGenre,COUNT(DISTINCT strAlbum) AS albumCount FROM albumview GROUP BY idGenre");

            if (dblines == null)
            {
                return(genres);
            }
            foreach (var dbline in dblines)
            {
                if (dbline.Length < 3)
                {
                    _parent.Log("Invalid request DATA : " + dbline);
                    continue;
                }
                var genre = new ApiAudioGenre {
                    IdGenre = Xbmc.StringToNumber(dbline[0]), Name = dbline[1], AlbumCount = Xbmc.StringToNumber(dbline[2])
                };
                genres.Add(genre);
            }
            return(genres);
        }
コード例 #4
0
 public void StopAsync()
 {
     _parent.Log("Cancelling downloads");
     _workerDownloads.CancelAsync();
 }