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 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); }
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); }
public void StopAsync() { _parent.Log("Cancelling downloads"); _workerDownloads.CancelAsync(); }