private void toolStripMenuItemRun_Click(object sender, EventArgs e) { rtActivityLog.Clear(); this.Cursor = Cursors.WaitCursor; var builder = new XmlTVBuilder(config, cache, null); builder.ActivityLogUpdate += updateActivityLog; builder.StatusUpdate += statusUpdate; builder.Init(); builder.LoadXmlTV(config.XmlTVFileName); builder.RunProcess(); builder.SaveXmlTV(); this.Cursor = Cursors.Default; builder = null; tsProgress.Value = 0; tsStatus.Text = Strings.tsStatusDefaultText; }
private static void Main(string[] args) { cliVersion = typeof(SDGrabSharp.CLI.Program).Assembly.GetName().Version.ToString(); commonVersion = typeof(SDGrabSharp.Common.XmlTVBuilder).Assembly.GetName().Version.ToString(); jsonVersion = typeof(SchedulesDirect.SDJson).Assembly.GetName().Version.ToString(); xmltvVersion = typeof(XMLTV.XmlTV).Assembly.GetName().Version.ToString(); // Read arguments var argData = processArgs(args); // Check specified config file exists if (!File.Exists(argData.configFile)) { Console.WriteLine(string.Format(Strings.ConfigNotFound, argData.configFile)); Environment.Exit(1); } Console.WriteLine($"SDGrabSharp CLI {cliVersion}. Common lib {commonVersion}. JSONLib {jsonVersion}. XMLTVLib {xmltvVersion}"); // Check any specified XMLTV files exist var badXmlTV = false; foreach (var xmlTvFile in argData.xmlTVList) { if (!File.Exists(xmlTvFile)) { Console.WriteLine(string.Format(Strings.XmlTVFileNotFound, xmlTvFile)); badXmlTV = true; } } if (badXmlTV) { Environment.Exit(1); } // Initialize objects config = new Config(); cache = new DataCache(config.CacheExpiryHours); // Load configuration LoadConfig(argData.configFile); // Initialize XMLTV builder builder = new XmlTVBuilder(config, cache); // If not quiet mode, add feedback event if (!argData.quiet) { builder.ActivityLogUpdate += updateActivityLog; } needcr = false; // Initialize data builder.Init(); // Load existing XML TV file builder.LoadXmlTV(config.XmlTVFileName); // Run process builder.RunProcess(); // Import extra xml files foreach (var xmlTvFile in argData.xmlTVList) { if (!builder.mergeXmlTV(xmlTvFile)) { if (builder.GetXmlTVErrors().Any()) { foreach (var error in builder.GetXmlTVErrors()) { Console.WriteLine($"{error.code}: {error.description}"); } } Console.WriteLine(string.Format(Strings.XmlTVMergeFailed, xmlTvFile)); Environment.Exit(1); } } // Save final XMLTV builder.SaveXmlTV(); if (needcr) { Console.WriteLine(""); } Console.WriteLine(Strings.ProcessComplete); Environment.Exit(0); }