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); } }
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 }
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); } } }
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); } }
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 }
//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 }