/// <summary> /// Call Eztv API for Json array of episodes for show with Imdb ID set /// </summary> /// <param name="show">Television Show model representing show to query Eztv for episodes</param> /// <param name="minSeeds">string minimum number of seeds for episode to be included</param> /// <returns>List of EztvResult representing episodes available to download</returns> public static List <EztvResult> GetEztvEpisodes(this TelevisionShow show, string minSeeds = null) { string finalJson = string.Empty; List <EztvResult> finalList = new List <EztvResult>(); if (!string.IsNullOrEmpty(show.ImdbID)) { string baseUrl = $@"https://eztv.ag/api/get-torrents?imdb_id={ show.ImdbID }"; if (minSeeds == null) { WebRequest wRequest = WebRequest.Create(baseUrl); WebResponse response = wRequest.GetResponse(); Stream ds = response.GetResponseStream(); using (StreamReader r = new StreamReader(ds)) { finalJson = r.ReadToEnd(); } var root = JsonConvert.DeserializeObject <EztvRootModel>(finalJson); foreach (EztvResult eztv in root.torrents) { finalList.Add(eztv); } } } return(finalList); }
public ActionResult DeleteConfirmed(int id) { TelevisionShow televisionShow = db.TelevisionShows.Find(id); db.TelevisionShows.Remove(televisionShow); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "pk_ShowID,ShowName,ShowDriveLetter,ShowHomePath,ShowNumSeasons,ShowNumEpisodes,ShowAlbumArtPath,IsEnabled,TvdbID,ImdbID,fk_MediaType")] TelevisionShow televisionShow) { if (ModelState.IsValid) { db.Entry(televisionShow).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(televisionShow)); }
public ActionResult CreateShow([Bind(Include = "ShowName,ShowDriveLetter,ShowHomePath,ShowNumSeasons,ShowNumEpisodes,ShowAlbumArtPath,IsEnabled,TvdbID,ImdbID,fk_MediaType")] TelevisionShow televisionShow) { if (ModelState.IsValid) { db.TelevisionShows.Add(televisionShow); db.SaveChanges(); return(RedirectToAction("SeasonInfo", "Media", new { Id = db.TelevisionShows.First(s => s.ShowName == televisionShow.ShowName) })); } return(View(televisionShow)); }
private IProduction ParseTelevisionShow(Match regexMatch) { var tvShow = new TelevisionShow(); tvShow.Title = ParseTitle(regexMatch); tvShow.Year = ParseYear(regexMatch); tvShow.SeriesNumber = ParseSeriesNumber(regexMatch); tvShow.EpisodeNumber = ParseEpisodeNumber(regexMatch); tvShow.EpisodeTitle = ParseEpisodeTitle(regexMatch); return(tvShow); }
// GET: TelevisionShows/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TelevisionShow televisionShow = db.TelevisionShows.Find(id); if (televisionShow == null) { return(HttpNotFound()); } return(View(televisionShow)); }
public void TestParseCreatesValidTelevisionShowObjectWithNonWordCharacters() { var movieString = @"# ""'Allo 'Allo!"" (1982) {A Marriage of Inconvenience (#5.6)}"; var expected = new TelevisionShow { Title = "'Allo 'Allo!", Year = 1982, EpisodeTitle = "A Marriage of Inconvenience", SeriesNumber = 5, EpisodeNumber = 6 }; var logger = new Mock <ILog>(); var actual = new ProductionParser(logger.Object).Parse(movieString); Assert.AreEqual(expected, actual); }
//Show view to create new season public ActionResult AddSeason(int?id) { using (MediaManagerDB shows_db = new MediaManagerDB()) { if (id.HasValue) { TelevisionShow shows = shows_db.TelevisionShows.Where(showDetails => showDetails.pk_ShowID == id).FirstOrDefault(); return(View(shows)); } else { return(View(new TelevisionShow { pk_ShowID = 0, ShowName = null, ShowHomePath = null })); } } }
public void TestParseCreatesValidTelevisionShowObjectWithNoEpisodeTitle() { var productionDefinition = @"# ""1 quart de 3"" (2008) {(#1.1)}"; var expected = new TelevisionShow() { Title = "1 quart de 3", Year = 2008, SeriesNumber = 1, EpisodeNumber = 1, EpisodeTitle = string.Empty }; var logger = new Mock<ILog>(); var actual = new ProductionParser(logger.Object).Parse(productionDefinition); Assert.AreEqual(expected, actual); }
public void TestParseCreatesValidTelevisionShowObjectWithNoSeriesOrEpisodeNumbers() { var productionDefinition = @"# ""'t Schaep Met De 5 Pooten"" (1969) {Liedjes uit 't Schaep Met 5 Pooten}"; var expected = new TelevisionShow { Title = "'t Schaep Met De 5 Pooten", Year = 1969, EpisodeTitle = "Liedjes uit 't Schaep Met 5 Pooten", SeriesNumber = 0, EpisodeNumber = 0 }; var logger = new Mock <ILog>(); var actual = new ProductionParser(logger.Object).Parse(productionDefinition); Assert.AreEqual(expected, actual); }
public void TestParseCreatesValidTelevisionShowObjectWithNoEpisodeTitle() { var productionDefinition = @"# ""1 quart de 3"" (2008) {(#1.1)}"; var expected = new TelevisionShow() { Title = "1 quart de 3", Year = 2008, SeriesNumber = 1, EpisodeNumber = 1, EpisodeTitle = string.Empty }; var logger = new Mock <ILog>(); var actual = new ProductionParser(logger.Object).Parse(productionDefinition); Assert.AreEqual(expected, actual); }
/// <summary> /// Activates the show in the SDN Media Manager allowing it to be searched and watched /// </summary> /// <param name="show">Model of show to activate</param> /// <param name="conn">DBContext connection to use to activate show</param> /// <returns>true if activated successfully</returns> public static bool ActivateShow(this TelevisionShow show, MediaManagerDB conn) { bool finalResult; using (conn) { var db = conn.ActivateShow(show.pk_ShowID); if (db == 1) { finalResult = true; } else { finalResult = false; } } return(finalResult); }
public ActionResult CreateShow([Bind(Include = "pk_ShowID,ShowName,ShowDriveLetter,ShowHomePath,ShowNumSeasons,ShowNumEpisodes,ShowAlbumArtPath,IsEnabled,TvdbID,ImdbID,fk_MediaType")] TelevisionShow televisionShow) { MediaManagerDB db = new MediaManagerDB(); if (ModelState.IsValid) { televisionShow.ShowAlbumArtPath = televisionShow.ShowAlbumArtPath.Replace("~art", televisionShow.ShowHomePath + @"\art"); televisionShow.ShowNumSeasons = 0; televisionShow.ShowNumEpisodes = 0; televisionShow.ShowDriveLetter = televisionShow.ShowHomePath[0].ToString(); db.TelevisionShows.Add(televisionShow); db.SaveChanges(); //var showID = db.TelevisionShows.Where(s => s.ShowName == televisionShow.ShowName).First().pk_ShowID; int.TryParse(db.GetShowIdByName(televisionShow.ShowName, null).ToString(), out int showID); return(RedirectToAction("SeasonInfo", "Media", new { id = showID })); } return(View(televisionShow)); }
public static async Task Main(string[] args) { using (EpisodateClient client = new EpisodateClient()) { PopularShows popularShows = await client.GetPopularShowsAsync().ConfigureAwait(false); if (popularShows == null) { Console.WriteLine("Request failed!"); Console.WriteLine("Check your connection and restart!"); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } for (int i = 0; i < popularShows.ShowsCollection.Length; i++) { TelevisionShow show = popularShows.ShowsCollection[i]; Console.WriteLine(show.Name); Console.WriteLine(show.CurrentStatus); } Console.ReadKey(); } }
/// <summary> /// Get total file size of all show episodes /// </summary> /// <param name="uShow">Show to sum episode file sizes</param> /// <param name="seasonNumber">optional season number to limit sum of episode filesizes to</param> /// <param name="episodeNumber">optional number of single episode of which to get filesize</param> /// <returns>long int total bytes of all episodes for show</returns> public static long ShowFileSize(this TelevisionShow uShow, int?seasonNumber, int?episodeNumber) { long finalSize = 0; using (MediaManagerDB db = new MediaManagerDB()) { foreach (TelevisionShow show in db.TelevisionShows.Where(s => s.ShowName == uShow.ShowName)) { if (!seasonNumber.HasValue) { foreach (TelevisionSeason season in show.TelevisionSeasons) { finalSize += season.SeasonFileSize(); } } else { foreach (TelevisionSeason season in show.TelevisionSeasons.Where(s => s.SeasonNum == seasonNumber)) { if (!episodeNumber.HasValue) { finalSize += season.SeasonFileSize(); } else { foreach (TelevisionEpisode episode in season.TelevisionEpisodes.Where(e => e.EpisodeNum == episodeNumber)) { finalSize += GetFileSize(episode.EpisodePath); } } } } } } return(finalSize); }
public void TestParseCreatesValidTelevisionShowObjectWithNonWordCharacters() { var movieString = @"# ""'Allo 'Allo!"" (1982) {A Marriage of Inconvenience (#5.6)}"; var expected = new TelevisionShow { Title = "'Allo 'Allo!", Year = 1982, EpisodeTitle = "A Marriage of Inconvenience", SeriesNumber = 5, EpisodeNumber = 6 }; var logger = new Mock<ILog>(); var actual = new ProductionParser(logger.Object).Parse(movieString); Assert.AreEqual(expected, actual); }
public void TestParseCreatesValidTelevisionShowObjectWithNoSeriesOrEpisodeNumbers() { var productionDefinition = @"# ""'t Schaep Met De 5 Pooten"" (1969) {Liedjes uit 't Schaep Met 5 Pooten}"; var expected = new TelevisionShow { Title = "'t Schaep Met De 5 Pooten", Year = 1969, EpisodeTitle = "Liedjes uit 't Schaep Met 5 Pooten", SeriesNumber = 0, EpisodeNumber = 0 }; var logger = new Mock<ILog>(); var actual = new ProductionParser(logger.Object).Parse(productionDefinition); Assert.AreEqual(expected, actual); }
private IProduction ParseTelevisionShow(Match regexMatch) { var tvShow = new TelevisionShow(); tvShow.Title = ParseTitle(regexMatch); tvShow.Year = ParseYear(regexMatch); tvShow.SeriesNumber = ParseSeriesNumber(regexMatch); tvShow.EpisodeNumber = ParseEpisodeNumber(regexMatch); tvShow.EpisodeTitle = ParseEpisodeTitle(regexMatch); return tvShow; }