Exemplo n.º 1
0
 private static string makeDescription(ProgramResponseInstance pri)
 {
     if (pri.descriptions != null)
     {
         if (pri.descriptions.description1000 != null && pri.descriptions.description1000.Count > 0)
         {
             var ldesc = pri.descriptions.description1000;
             return(ldesc[0].description);
         }
         else if (pri.descriptions.description1000 != null && pri.descriptions.description1000.Count > 0)
         {
             var ldesc = pri.descriptions.description1000;
             return(ldesc[0].description);
         }
         else
         {
             return("");
         }
     }
     else
     {
         // no description
         return("");
     }
 }
Exemplo n.º 2
0
        private static int makeEpisodeNumber(ProgramResponseInstance pri)
        {
            int en = 0;

            if (pri.metadata != null && pri.metadata.Count > 0)
            {
                // just take the first one
                ProgramResponseInstance.Gracenote tri = pri.metadata[0].Gracenote;
                en = tri.episode;
            }
            return(en);
        }
Exemplo n.º 3
0
        private static string makeEpisodeNumberDisplay(ProgramResponseInstance pri)
        {
            string en = "";

            if (pri.metadata != null && pri.metadata.Count > 0)
            {
                // just take the first one
                ProgramResponseInstance.Gracenote tri = pri.metadata[0].Gracenote;
                en = String.Format("S{0:D2}E{1:D2}", tri.season, tri.episode);
            }
            return(en);
        }
Exemplo n.º 4
0
        private static int makeSeriesNumber(ProgramResponseInstance pri)
        {
            int sn = 0;

            if (pri.metadata != null && pri.metadata.Count > 0)
            {
                // just take the first metadata
                ProgramResponseInstance.Gracenote tri = pri.metadata[0].Gracenote;
                sn = tri.season;
            }
            return(sn);
        }
Exemplo n.º 5
0
 private static string makeTitle(ProgramResponseInstance pri)
 {
     // titles is supposed to be mandatory
     if (pri.titles != null && pri.titles.Count == 1)
     {
         ProgramResponseInstance.Title t = pri.titles[0];
         return(t.title120);
     }
     else
     {
         Logger.Warn("Could not find title for program: {0}", pri.programID);
         return("Unknown title");
     }
 }
Exemplo n.º 6
0
        private static string[] makeActors(ProgramResponseInstance pri)
        {
            List <string> actors = new List <string>();

            if (pri.cast == null)
            {
                return(actors.ToArray());
            }
            foreach (ProgramResponseInstance.Cast cast in pri.cast)
            {
                actors.Add(cast.name);
            }
            return(actors.ToArray());
        }
Exemplo n.º 7
0
        private static string[] makeDirectors(ProgramResponseInstance pri)
        {
            List <string> directors = new List <string>();

            if (pri.crew == null)
            {
                return(directors.ToArray());
            }
            foreach (ProgramResponseInstance.Crew crew in pri.crew)
            {
                if (crew.role.ToLower().StartsWith("direct"))
                {
                    directors.Add(crew.name);
                }
            }
            return(directors.ToArray());
        }
Exemplo n.º 8
0
        public static GuideProgram makeGuideProgram(
            SchedulesResponse sr,
            SchedulesResponse.Program srp,
            ProgramResponseInstance pri)
        {
            try {
                var gp = new GuideProgram();


                gp.Title       = makeTitle(pri);
                gp.SubTitle    = pri.episodeTitle150;
                gp.Description = makeDescription(pri);
                DateTime startTime = DateTime.Parse(srp.airDateTime);
                gp.StartTime            = startTime;
                gp.StopTime             = startTime.AddSeconds(srp.duration);
                gp.EpisodeNumber        = makeEpisodeNumber(pri);
                gp.SeriesNumber         = makeSeriesNumber(pri);
                gp.EpisodeNumberDisplay = makeEpisodeNumberDisplay(pri);
                gp.Rating = makeRatings(srp);
                // srp.Premiere is for miniseries or movies
                if (srp.premiere.HasValue)
                {
                    gp.IsPremiere = (true == srp.premiere.Value);
                }
                // so use srp.new to determine if it's a repeat... srp.repeat is only for sporting events
                gp.IsRepeat = true;                  // default to a repeat
                if ([email protected])
                {
                    gp.IsRepeat = [email protected];
                }
                gp.PreviouslyAiredTime = DateTime.Parse(srp.airDateTime);
                gp.Actors    = makeActors(pri);
                gp.Category  = makeCategory(pri);
                gp.Directors = makeDirectors(pri);

                return(gp);
            } catch (Exception ex) {
                Logger.Error("Error while creating guide program instances: {0}\n{1}", ex.Message, ex.StackTrace);
                throw;
            }
        }
Exemplo n.º 9
0
        private static string makeCategory(ProgramResponseInstance pri)
        {
            string cat = "";

            if (pri.genres == null)
            {
                return(cat);
            }
            foreach (string genre in pri.genres)
            {
                cat += genre;
                cat += ",";
            }

            if (cat.Length > 0)
            {
                // remove trailing comma
                cat = cat.Remove(cat.Length - 1);
            }

            return(cat);
        }