Exemple #1
0
        protected override bool generate(System.IO.Stream str, List <ProcessedEpisode> elist)
        {
            if (elist == null)
            {
                return(false);
            }

            try
            {
                XmlWriterSettings settings = new XmlWriterSettings
                {
                    Indent = true,
                    NewLineOnAttributes = true,
                    Encoding            = System.Text.Encoding.ASCII
                };
                using (XmlWriter writer = XmlWriter.Create(str, settings))
                {
                    writer.WriteStartDocument();
                    writer.WriteStartElement("rss");
                    XMLHelper.WriteAttributeToXML(writer, "version", "2.0");
                    writer.WriteStartElement("channel");
                    XMLHelper.WriteElementToXML(writer, "title", "Upcoming Shows");
                    XMLHelper.WriteElementToXML(writer, "title", "http://tvrename.com");
                    XMLHelper.WriteElementToXML(writer, "description", "Upcoming shows, exported by TVRename");

                    foreach (ProcessedEpisode ei in elist)
                    {
                        string niceName = TVSettings.Instance.NamingStyle.NameForExt(ei, null, 0);

                        writer.WriteStartElement("item");

                        XMLHelper.WriteElementToXML(writer, "title", ei.HowLong() + " " + ei.DayOfWeek() + " " + ei.TimeOfDay() + " " + niceName);
                        XMLHelper.WriteElementToXML(writer, "link", TheTVDB.Instance.WebsiteURL(ei.TheSeries.TVDBCode, ei.SeasonID, false));
                        XMLHelper.WriteElementToXML(writer, "description", niceName + "<br/>" + ei.Overview);

                        writer.WriteStartElement("pubDate");
                        DateTime?dt = ei.GetAirDateDT(true);
                        if (dt != null)
                        {
                            writer.WriteValue(dt.Value.ToString("r"));
                        }
                        writer.WriteEndElement(); //pubDate

                        writer.WriteEndElement(); // item
                    }
                    writer.WriteEndElement();     //channel
                    writer.WriteEndElement();     //rss
                    writer.WriteEndDocument();
                    writer.Close();
                }
                return(true);
            } // try
            catch (Exception e)
            {
                logger.Error(e);
                return(false);
            }
        }
Exemple #2
0
        public void WriteXML(XmlWriter writer)
        {
            writer.WriteStartElement("TheSearchers");
            XMLHelper.WriteElementToXML(writer, "Current", this.CurrentSearch);

            for (int i = 0; i < this.Count(); i++)
            {
                writer.WriteStartElement("Choice");
                XMLHelper.WriteAttributeToXML(writer, "Name", this.Choices[i].Name);
                XMLHelper.WriteAttributeToXML(writer, "URL2", this.Choices[i].URL2);
                writer.WriteEndElement();
            }
            writer.WriteEndElement(); // TheSearchers
        }
Exemple #3
0
        public override void Run()
        {
            if (Active())
            {
                try
                {
                    XmlWriterSettings settings = new XmlWriterSettings();
                    settings.Indent = true;
                    settings.NewLineOnAttributes = true;
                    using (XmlWriter writer = XmlWriter.Create(Location(), settings))
                    {
                        writer.WriteStartDocument();

                        writer.WriteStartElement("TVRename");
                        XMLHelper.WriteAttributeToXML(writer, "Version", "2.1");
                        writer.WriteStartElement(name());


                        foreach (Item action in TheActionList)
                        {
                            if (isOutput(action))
                            {
                                ActionCopyMoveRename acmr = (ActionCopyMoveRename)action;
                                writer.WriteStartElement("Item");

                                XMLHelper.WriteAttributeToXML(writer, "Operation", acmr.Name);
                                XMLHelper.WriteAttributeToXML(writer, "FromFolder", acmr.From.DirectoryName);
                                XMLHelper.WriteAttributeToXML(writer, "FromName", acmr.From.Name);
                                XMLHelper.WriteAttributeToXML(writer, "ToFolder", acmr.To.DirectoryName);
                                XMLHelper.WriteAttributeToXML(writer, "ToName", acmr.To.Name);
                                XMLHelper.WriteAttributeToXML(writer, "ShowName", acmr.Episode.TheSeries.Name);
                                XMLHelper.WriteAttributeToXML(writer, "Season", acmr.Episode.AppropriateSeasonNumber);
                                XMLHelper.WriteAttributeToXML(writer, "Episode", acmr.Episode.NumsAsString());

                                writer.WriteEndElement(); //Item
                            }
                        }

                        writer.WriteEndElement(); // Name
                        writer.WriteEndElement(); // tvrename
                        writer.WriteEndDocument();
                    }
                }
                catch (Exception e)
                {
                    Logger.Error(e);
                }
            }
        }
Exemple #4
0
        public override void Run(ItemList TheActionList)
        {
            if (TVSettings.Instance.ExportMissingXML)
            {
                XmlWriterSettings settings = new XmlWriterSettings();
                //XmlWriterSettings settings = gcnew XmlWriterSettings();
                settings.Indent = true;
                settings.NewLineOnAttributes = true;
                using (XmlWriter writer = XmlWriter.Create(Location(), settings))
                {
                    writer.WriteStartDocument();

                    writer.WriteStartElement("TVRename");
                    XMLHelper.WriteAttributeToXML(writer, "Version", "2.1");
                    writer.WriteStartElement("MissingItems");

                    foreach (Item Action in TheActionList)
                    {
                        if (Action is ItemMissing)
                        {
                            ItemMissing Missing = (ItemMissing)(Action);
                            writer.WriteStartElement("MissingItem");

                            XMLHelper.WriteElementToXML(writer, "id", Missing.Episode.SI.TVDBCode);
                            XMLHelper.WriteElementToXML(writer, "title", Missing.Episode.TheSeries.Name);
                            XMLHelper.WriteElementToXML(writer, "season", Helpers.pad(Missing.Episode.SeasonNumber));
                            XMLHelper.WriteElementToXML(writer, "episode", Helpers.pad(Missing.Episode.EpNum));
                            XMLHelper.WriteElementToXML(writer, "episodeName", Missing.Episode.Name);
                            XMLHelper.WriteElementToXML(writer, "description", Missing.Episode.Overview);

                            writer.WriteStartElement("pubDate");
                            DateTime?dt = Missing.Episode.GetAirDateDT(true);
                            if (dt != null)
                            {
                                writer.WriteValue(dt.Value.ToString("F"));
                            }
                            writer.WriteEndElement();

                            writer.WriteEndElement(); // MissingItem
                        }
                    }
                    writer.WriteEndElement(); // MissingItems
                    writer.WriteEndElement(); // tvrename
                    writer.WriteEndDocument();
                    writer.Close();
                }
            }
        }
        public override void Run()
        {
            if (!Active())
            {
                return;
            }

            try
            {
                XmlWriterSettings settings = new XmlWriterSettings
                {
                    Indent = true,
                    NewLineOnAttributes = true,
                    Encoding            = Encoding.ASCII
                };


                using (XmlWriter writer = XmlWriter.Create(Location(), settings))
                {
                    writer.WriteStartDocument();

                    writer.WriteStartElement("TVRename");
                    XMLHelper.WriteAttributeToXML(writer, "Version", "2.1");
                    writer.WriteStartElement("MissingItems");

                    foreach (Item action in this.TheActionList)
                    {
                        if (!(action is ItemMissing))
                        {
                            continue;
                        }

                        ItemMissing missing = (ItemMissing)(action);
                        writer.WriteStartElement("MissingItem");

                        XMLHelper.WriteElementToXML(writer, "id", missing.Episode.SI.TVDBCode);
                        XMLHelper.WriteElementToXML(writer, "title", missing.Episode.TheSeries.Name);
                        XMLHelper.WriteElementToXML(writer, "season", Helpers.pad(missing.Episode.AppropriateSeasonNumber));
                        XMLHelper.WriteElementToXML(writer, "episode", Helpers.pad(missing.Episode.AppropriateEpNum));
                        XMLHelper.WriteElementToXML(writer, "episodeName", missing.Episode.Name);
                        XMLHelper.WriteElementToXML(writer, "description", missing.Episode.Overview);

                        writer.WriteStartElement("pubDate");
                        DateTime?dt = missing.Episode.GetAirDateDT(true);
                        if (dt != null)
                        {
                            writer.WriteValue(dt.Value.ToString("F"));
                        }
                        writer.WriteEndElement();

                        writer.WriteEndElement(); // MissingItem
                    }
                    writer.WriteEndElement();     // MissingItems
                    writer.WriteEndElement();     // tvrename
                    writer.WriteEndDocument();
                }
            }
            catch (Exception e)
            {
                Logger.Error(e);
            }
        }
Exemple #6
0
        public void WriteXML(XmlWriter writer)
        {
            writer.WriteStartElement("Settings");
            this.TheSearchers.WriteXML(writer);
            XMLHelper.WriteElementToXML(writer, "BGDownload", this.BGDownload);
            XMLHelper.WriteElementToXML(writer, "OfflineMode", this.OfflineMode);
            writer.WriteStartElement("Replacements");
            foreach (Replacement R in this.Replacements)
            {
                writer.WriteStartElement("Replace");
                XMLHelper.WriteAttributeToXML(writer, "This", R.This);
                XMLHelper.WriteAttributeToXML(writer, "That", R.That);
                XMLHelper.WriteAttributeToXML(writer, "CaseInsensitive", R.CaseInsensitive ? "Y" : "N");
                writer.WriteEndElement(); //Replace
            }
            writer.WriteEndElement();     //Replacements

            XMLHelper.WriteElementToXML(writer, "ExportWTWRSS", this.ExportWTWRSS);
            XMLHelper.WriteElementToXML(writer, "ExportWTWRSSTo", this.ExportWTWRSSTo);
            XMLHelper.WriteElementToXML(writer, "ExportWTWXML", this.ExportWTWXML);
            XMLHelper.WriteElementToXML(writer, "ExportWTWXMLTo", this.ExportWTWXMLTo);
            XMLHelper.WriteElementToXML(writer, "WTWRecentDays", this.WTWRecentDays);
            XMLHelper.WriteElementToXML(writer, "ExportMissingXML", this.ExportMissingXML);
            XMLHelper.WriteElementToXML(writer, "ExportMissingXMLTo", this.ExportMissingXMLTo);
            XMLHelper.WriteElementToXML(writer, "ExportMissingCSV", this.ExportMissingCSV);
            XMLHelper.WriteElementToXML(writer, "ExportMissingCSVTo", this.ExportMissingCSVTo);
            XMLHelper.WriteElementToXML(writer, "ExportRenamingXML", this.ExportRenamingXML);
            XMLHelper.WriteElementToXML(writer, "ExportRenamingXMLTo", this.ExportRenamingXMLTo);
            XMLHelper.WriteElementToXML(writer, "ExportFOXML", this.ExportFOXML);
            XMLHelper.WriteElementToXML(writer, "ExportFOXMLTo", this.ExportFOXMLTo);
            XMLHelper.WriteElementToXML(writer, "StartupTab2", TabNameForNumber(this.StartupTab));
            XMLHelper.WriteElementToXML(writer, "NamingStyle", this.NamingStyle.StyleString);
            XMLHelper.WriteElementToXML(writer, "NotificationAreaIcon", this.NotificationAreaIcon);
            XMLHelper.WriteElementToXML(writer, "VideoExtensions", this.VideoExtensionsString);
            XMLHelper.WriteElementToXML(writer, "OtherExtensions", this.OtherExtensionsString);
            XMLHelper.WriteElementToXML(writer, "ExportRSSMaxDays", this.ExportRSSMaxDays);
            XMLHelper.WriteElementToXML(writer, "ExportRSSMaxShows", this.ExportRSSMaxShows);
            XMLHelper.WriteElementToXML(writer, "ExportRSSDaysPast", this.ExportRSSDaysPast);
            XMLHelper.WriteElementToXML(writer, "KeepTogether", this.KeepTogether);
            XMLHelper.WriteElementToXML(writer, "LeadingZeroOnSeason", this.LeadingZeroOnSeason);
            XMLHelper.WriteElementToXML(writer, "ShowInTaskbar", this.ShowInTaskbar);
            XMLHelper.WriteElementToXML(writer, "IgnoreSamples", this.IgnoreSamples);
            XMLHelper.WriteElementToXML(writer, "ForceLowercaseFilenames", this.ForceLowercaseFilenames);
            XMLHelper.WriteElementToXML(writer, "RenameTxtToSub", this.RenameTxtToSub);
            XMLHelper.WriteElementToXML(writer, "ParallelDownloads", this.ParallelDownloads);
            XMLHelper.WriteElementToXML(writer, "AutoSelectShowInMyShows", this.AutoSelectShowInMyShows);
            XMLHelper.WriteElementToXML(writer, "ShowEpisodePictures", this.ShowEpisodePictures);
            XMLHelper.WriteElementToXML(writer, "SpecialsFolderName", this.SpecialsFolderName);
            XMLHelper.WriteElementToXML(writer, "uTorrentPath", this.uTorrentPath);
            XMLHelper.WriteElementToXML(writer, "ResumeDatPath", this.ResumeDatPath);
            XMLHelper.WriteElementToXML(writer, "SearchRSS", this.SearchRSS);
            XMLHelper.WriteElementToXML(writer, "EpImgs", this.EpTBNs);
            XMLHelper.WriteElementToXML(writer, "NFOs", this.NFOs);
            XMLHelper.WriteElementToXML(writer, "XBMCImages", this.XBMCImages);
            XMLHelper.WriteElementToXML(writer, "pyTivoMeta", this.pyTivoMeta);
            XMLHelper.WriteElementToXML(writer, "pyTivoMetaSubFolder", this.pyTivoMetaSubFolder);
            XMLHelper.WriteElementToXML(writer, "FolderJpg", this.FolderJpg);
            XMLHelper.WriteElementToXML(writer, "FolderJpgIs", (int)this.FolderJpgIs);
            XMLHelper.WriteElementToXML(writer, "MonitoredFoldersScanType", (int)this.MonitoredFoldersScanType);
            XMLHelper.WriteElementToXML(writer, "SelectedXBMCType", (int)this.SelectedXBMCType);
            XMLHelper.WriteElementToXML(writer, "CheckuTorrent", this.CheckuTorrent);
            XMLHelper.WriteElementToXML(writer, "RenameCheck", this.RenameCheck);
            XMLHelper.WriteElementToXML(writer, "MissingCheck", this.MissingCheck);
            XMLHelper.WriteElementToXML(writer, "SearchLocally", this.SearchLocally);
            XMLHelper.WriteElementToXML(writer, "LeaveOriginals", this.LeaveOriginals);
            XMLHelper.WriteElementToXML(writer, "LookForDateInFilename", this.LookForDateInFilename);
            XMLHelper.WriteElementToXML(writer, "MonitorFolders", this.MonitorFolders);
            XMLHelper.WriteElementToXML(writer, "SABAPIKey", this.SABAPIKey);
            XMLHelper.WriteElementToXML(writer, "CheckSABnzbd", this.CheckSABnzbd);
            XMLHelper.WriteElementToXML(writer, "SABHostPort", this.SABHostPort);
            XMLHelper.WriteElementToXML(writer, "PreferredLanguage", this.PreferredLanguage);
            XMLHelper.WriteElementToXML(writer, "WTWDoubleClick", (int)this.WTWDoubleClick);
            XMLHelper.WriteElementToXML(writer, "EpJPGs", this.EpJPGs);
            XMLHelper.WriteElementToXML(writer, "SeriesJpg", this.SeriesJpg);
            XMLHelper.WriteElementToXML(writer, "Mede8erXML", this.Mede8erXML);
            XMLHelper.WriteElementToXML(writer, "ShrinkLargeMede8erImages", this.ShrinkLargeMede8erImages);
            XMLHelper.WriteElementToXML(writer, "FanArtJpg", this.FanArtJpg);
            XMLHelper.WriteElementToXML(writer, "DeleteEmpty", this.Tidyup.DeleteEmpty);
            XMLHelper.WriteElementToXML(writer, "DeleteEmptyIsRecycle", this.Tidyup.DeleteEmptyIsRecycle);
            XMLHelper.WriteElementToXML(writer, "EmptyIgnoreWords", this.Tidyup.EmptyIgnoreWords);
            XMLHelper.WriteElementToXML(writer, "EmptyIgnoreWordList", this.Tidyup.EmptyIgnoreWordList);
            XMLHelper.WriteElementToXML(writer, "EmptyIgnoreExtensions", this.Tidyup.EmptyIgnoreExtensions);
            XMLHelper.WriteElementToXML(writer, "EmptyIgnoreExtensionList", this.Tidyup.EmptyIgnoreExtensionList);
            XMLHelper.WriteElementToXML(writer, "EmptyMaxSizeCheck", this.Tidyup.EmptyMaxSizeCheck);
            XMLHelper.WriteElementToXML(writer, "EmptyMaxSizeMB", this.Tidyup.EmptyMaxSizeMB);

            writer.WriteStartElement("FNPRegexs");
            foreach (FilenameProcessorRE re in this.FNPRegexs)
            {
                writer.WriteStartElement("Regex");
                XMLHelper.WriteAttributeToXML(writer, "Enabled", re.Enabled);
                XMLHelper.WriteAttributeToXML(writer, "RE", re.RE);
                XMLHelper.WriteAttributeToXML(writer, "UseFullPath", re.UseFullPath);
                XMLHelper.WriteAttributeToXML(writer, "Notes", re.Notes);
                writer.WriteEndElement(); // Regex
            }
            writer.WriteEndElement();     // FNPRegexs

            writer.WriteStartElement("RSSURLs");
            foreach (string s in this.RSSURLs)
            {
                XMLHelper.WriteElementToXML(writer, "URL", s);
            }
            writer.WriteEndElement(); // RSSURLs

            if (ShowStatusColors != null)
            {
                writer.WriteStartElement("ShowStatusTVWColors");
                foreach (KeyValuePair <ShowStatusColoringType, System.Drawing.Color> e in this.ShowStatusColors)
                {
                    writer.WriteStartElement("ShowStatusTVWColor");
                    // TODO ... Write Meta Flags
                    XMLHelper.WriteAttributeToXML(writer, "IsMeta", e.Key.IsMetaType);
                    XMLHelper.WriteAttributeToXML(writer, "IsShowLevel", e.Key.IsShowLevel);
                    XMLHelper.WriteAttributeToXML(writer, "ShowStatus", e.Key.Status);
                    XMLHelper.WriteAttributeToXML(writer, "Color", Helpers.TranslateColorToHtml(e.Value));
                    writer.WriteEndElement(); //ShowStatusTVWColor
                }
                writer.WriteEndElement();     // ShowStatusTVWColors
            }

            writer.WriteEndElement(); // settings
        }
Exemple #7
0
        //StringNiceName(int season)
        //{
        //    // something like "Simpsons (S3)"
        //    return String.Concat(ShowName," (S",season,")");
        //}

        public void WriteXMLSettings(XmlWriter writer)
        {
            writer.WriteStartElement("ShowItem");

            XMLHelper.WriteElementToXML(writer, "UseCustomShowName", this.UseCustomShowName);
            XMLHelper.WriteElementToXML(writer, "CustomShowName", this.CustomShowName);
            XMLHelper.WriteElementToXML(writer, "ShowNextAirdate", this.ShowNextAirdate);
            XMLHelper.WriteElementToXML(writer, "TVDBID", this.TVDBCode);
            XMLHelper.WriteElementToXML(writer, "AutoAddNewSeasons", this.AutoAddNewSeasons);
            XMLHelper.WriteElementToXML(writer, "FolderBase", this.AutoAdd_FolderBase);
            XMLHelper.WriteElementToXML(writer, "FolderPerSeason", this.AutoAdd_FolderPerSeason);
            XMLHelper.WriteElementToXML(writer, "SeasonFolderName", this.AutoAdd_SeasonFolderName);
            XMLHelper.WriteElementToXML(writer, "DoRename", this.DoRename);
            XMLHelper.WriteElementToXML(writer, "DoMissingCheck", this.DoMissingCheck);
            XMLHelper.WriteElementToXML(writer, "CountSpecials", this.CountSpecials);
            XMLHelper.WriteElementToXML(writer, "DVDOrder", this.DVDOrder);
            XMLHelper.WriteElementToXML(writer, "ForceCheckNoAirdate", this.ForceCheckNoAirdate);
            XMLHelper.WriteElementToXML(writer, "ForceCheckFuture", this.ForceCheckFuture);
            XMLHelper.WriteElementToXML(writer, "UseSequentialMatch", this.UseSequentialMatch);
            XMLHelper.WriteElementToXML(writer, "PadSeasonToTwoDigits", this.PadSeasonToTwoDigits);
            XMLHelper.WriteElementToXML(writer, "BannersLastUpdatedOnDisk", this.BannersLastUpdatedOnDisk);


            writer.WriteStartElement("IgnoreSeasons");
            foreach (int i in this.IgnoreSeasons)
            {
                XMLHelper.WriteElementToXML(writer, "Ignore", i);
            }
            writer.WriteEndElement();

            writer.WriteStartElement("AliasNames");
            foreach (string str in this.AliasNames)
            {
                XMLHelper.WriteElementToXML(writer, "Alias", str);
            }
            writer.WriteEndElement();

            XMLHelper.WriteElementToXML(writer, "CustomSearchURL", this.CustomSearchURL);

            foreach (KeyValuePair <int, List <ShowRule> > kvp in this.SeasonRules)
            {
                if (kvp.Value.Count > 0)
                {
                    writer.WriteStartElement("Rules");
                    XMLHelper.WriteAttributeToXML(writer, "SeasonNumber", kvp.Key);

                    foreach (ShowRule r in kvp.Value)
                    {
                        r.WriteXML(writer);
                    }

                    writer.WriteEndElement(); // Rules
                }
            }
            foreach (KeyValuePair <int, List <String> > kvp in this.ManualFolderLocations)
            {
                if (kvp.Value.Count > 0)
                {
                    writer.WriteStartElement("SeasonFolders");

                    XMLHelper.WriteAttributeToXML(writer, "SeasonNumber", kvp.Key);

                    foreach (string s in kvp.Value)
                    {
                        writer.WriteStartElement("Folder");
                        XMLHelper.WriteAttributeToXML(writer, "Location", s);
                        writer.WriteEndElement(); // Folder
                    }

                    writer.WriteEndElement(); // Rules
                }
            }

            writer.WriteEndElement(); // ShowItem
        }