public static void CreateNfoFile(SeriesInfo seriesInfo, EpisodeInfo episodeInfo, string folderPath, string fileName, TVRenameShow tvRenameShow)
        {
            // create document
            XDocument infoDoc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"));
            XElement rootElem = new XElement("episodedetails");

            // populate with correct nodes from series info and episode info
            rootElem.Add(new XElement("title", episodeInfo.EpisodeName ?? string.Empty));
            rootElem.Add(new XElement("rating", episodeInfo.Rating > 0 ? episodeInfo.Rating.ToString() : string.Empty));
            rootElem.Add(new XElement("season", episodeInfo.SeasonNumber));
            if (tvRenameShow.UseDvdOrder)
            {
                rootElem.Add(new XElement("episode", episodeInfo.DvdEpisodeNumber));
            }
            else
            {
                rootElem.Add(new XElement("episode", episodeInfo.EpisodeNumber));
            }

            rootElem.Add(new XElement("plot", episodeInfo.Overview ?? string.Empty));
            rootElem.Add(new XElement("thumb", episodeInfo.ThumbnailUrl ?? string.Empty));
            rootElem.Add(new XElement("playcount", 0));
            rootElem.Add(new XElement("lastplayed", string.Empty));
            rootElem.Add(new XElement("credits", episodeInfo.Writer ?? string.Empty));
            rootElem.Add(new XElement("director", episodeInfo.Director ?? string.Empty));
            rootElem.Add(new XElement("aired", episodeInfo.FirstAired ?? string.Empty));
            //rootElem.Add(new XElement("premiered", episodeInfo.FirstAired ?? string.Empty));
            rootElem.Add(new XElement("mpaa", seriesInfo.MpaaClassification ?? string.Empty));
            rootElem.Add(new XElement("premiered", seriesInfo.DatePremiered ?? string.Empty));
            rootElem.Add(new XElement("studio", seriesInfo.Studio ?? string.Empty));

            // actors from series
            foreach (var actorInfo in seriesInfo.Actors)
            {
                XElement actorElem = new XElement("actor");
                actorElem.Add(new XElement("name", actorInfo.Name ?? string.Empty));
                actorElem.Add(new XElement("role", actorInfo.Role ?? string.Empty));
                actorElem.Add(new XElement("thumb", actorInfo.ThumbnailUrl ?? string.Empty));
                rootElem.Add(actorElem);
            }
            // actors from episode
            foreach (var actorInfo in episodeInfo.GuestActors)
            {
                XElement actorElem = new XElement("actor");
                actorElem.Add(new XElement("name", actorInfo.Name ?? string.Empty));
                actorElem.Add(new XElement("role", actorInfo.Role ?? string.Empty));
                actorElem.Add(new XElement("thumb", actorInfo.ThumbnailUrl ?? string.Empty));
                rootElem.Add(actorElem);
            }

            infoDoc.Add(rootElem);

            // write document out to correct directory
            ConsoleLogger.LogStart("Creating episode NFO file...");
            if (!CustomConfiguration.DisableAllFileSystemActions)
            {
                infoDoc.Save(folderPath + "\\" + fileName);
            }
            ConsoleLogger.LogEnd("done.");
        }
Exemplo n.º 2
0
        public BannerInfo GetSeasonBanner(int season, SeriesInfo seriesInfo)
        {
            try
            {
                return (from b in seriesInfo.Banners
                       where (b.BannerType == BannerType.Season) && (b.BannerSubType == BannerSubType.Season) && (b.Season == season) && (b.Language == ENGLISH_CODE)
                       orderby b.Rating descending, b.RatingCount descending
                       select b).First();
            }
            catch (Exception)
            {

                return null;
            }
        }