private static int Main(string[] args) { if (args.Length != 2) { Console.WriteLine("UpdateLanguageFiles - wrong number of arguments: " + args.Length); return(1); } Console.Write("Updating language files..."); try { int noOfChanges = 0; var language = new Nikse.SubtitleEdit.Logic.Language(); language.General.Version = FindVersionNumber(); string currentLanguageAsXml = language.GetCurrentLanguageAsXml(); string oldLanguageAsXml = File.ReadAllText(args[0]); if (oldLanguageAsXml != currentLanguageAsXml) { File.WriteAllText(args[0], currentLanguageAsXml); noOfChanges++; Console.Write(" LanguageMaster.xml generated... "); } language.Save(args[0]); string languageDeserializerContent = Nikse.SubtitleEdit.Logic.LanguageDeserializerGenerator.GenerateCSharpXmlDeserializerForLanguage(); string languageDeserializerContentOld = string.Empty; if (File.Exists(args[1])) { languageDeserializerContentOld = File.ReadAllText(args[1]); } if (languageDeserializerContent != languageDeserializerContentOld) { File.WriteAllText(args[1], languageDeserializerContent); Console.Write(" LanguageDeserializer.cs generated... "); } if (noOfChanges == 0) { Console.WriteLine(" no changes"); } else { Console.WriteLine(); } return(0); } catch (Exception ex) { Console.WriteLine(); Console.WriteLine("UpdateLanguageFiles - " + ex.Message); return(2); } }
private static int Main(string[] args) { if (args.Length != 2) { Console.WriteLine("UpdateLanguageFiles - wrong number of arguments: " + args.Length); return 1; } Console.Write("Updating language files..."); try { int noOfChanges = 0; var language = new Nikse.SubtitleEdit.Logic.Language(); language.General.Version = FindVersionNumber(); string currentLanguageAsXml = language.GetCurrentLanguageAsXml(); string oldLanguageAsXml = File.ReadAllText(args[0]); if (oldLanguageAsXml != currentLanguageAsXml) { File.WriteAllText(args[0], currentLanguageAsXml); noOfChanges++; Console.Write(" LanguageMaster.xml generated... "); } language.Save(args[0]); string languageDeserializerContent = Nikse.SubtitleEdit.Logic.LanguageDeserializerGenerator.GenerateCSharpXmlDeserializerForLanguage(); string languageDeserializerContentOld = string.Empty; if (File.Exists(args[1])) languageDeserializerContentOld = File.ReadAllText(args[1]); if (languageDeserializerContent != languageDeserializerContentOld) { File.WriteAllText(args[1], languageDeserializerContent); Console.Write(" LanguageDeserializer.cs generated... "); } if (noOfChanges == 0) { Console.WriteLine(" no changes"); } else { Console.WriteLine(); } return 0; } catch (Exception ex) { Console.WriteLine(); Console.WriteLine("UpdateLanguageFiles - " + ex.Message); return 2; } }
private static void SaveWithRetry(string fileName, Nikse.SubtitleEdit.Logic.Language language) { for (var i = 0; i < 10; i++) { try { language.Save(fileName); return; } catch { System.Threading.Thread.Sleep(10); } } language.Save(fileName); }
private static int Main(string[] args) { var myName = Environment.GetCommandLineArgs()[0]; myName = Path.GetFileNameWithoutExtension(string.IsNullOrWhiteSpace(myName) ? System.Reflection.Assembly.GetEntryAssembly()?.Location : myName); if (args.Length != 2) { Console.Write("Usage: " + myName + @" <LanguageMaster> <LanguageDeserializer> <LanguageMaster> Path to the LanguageMaster xml file (LanguageMaster.xml) <LanguageDeserializer> Path to the LanguageDeserializer source code file (LanguageDeserializer.cs) "); return(1); } Console.Write(WorkInProgress); try { var noOfChanges = 0; var language = new Nikse.SubtitleEdit.Logic.Language { General = { Version = FindVersionNumber() } }; var languageAsXml = language.GetCurrentLanguageAsXml(); var oldLanguageAsXml = string.Empty; if (File.Exists(args[0])) { oldLanguageAsXml = File.ReadAllText(args[0]); } if (oldLanguageAsXml != languageAsXml) { SaveWithRetry(args[0], language); noOfChanges++; Console.Write(" {0} generated...", Path.GetFileName(args[0])); } var languageDeserializerContent = LanguageDeserializerGenerator.GenerateCSharpXmlDeserializerForLanguage(); var oldLanguageDeserializerContent = string.Empty; if (File.Exists(args[1])) { oldLanguageDeserializerContent = File.ReadAllText(args[1]); } if (oldLanguageDeserializerContent != languageDeserializerContent) { SaveWithRetry(args[1], languageDeserializerContent); noOfChanges++; Console.Write(" {0} generated...", Path.GetFileName(args[1])); } if (noOfChanges == 0) { Console.WriteLine(" no changes"); } else { Console.WriteLine(); } return(0); } catch (Exception exception) { Console.WriteLine(); Console.WriteLine("ERROR: " + myName + ": " + exception.Message + Environment.NewLine + exception.StackTrace); return(2); } }
/// <summary> /// The main. /// </summary> /// <param name="args"> /// The args. /// </param> /// <returns> /// The <see cref="int"/>. /// </returns> private static int Main(string[] args) { var myName = Environment.GetCommandLineArgs()[0]; myName = Path.GetFileNameWithoutExtension(string.IsNullOrWhiteSpace(myName) ? System.Reflection.Assembly.GetEntryAssembly().Location : myName); if (args.Length != 2) { Console.Write("Usage: " + myName + @" <LanguageMaster> <LanguageDeserializer> <LanguageMaster> Path to the LanguageMaster xml file (LanguageMaster.xml) <LanguageDeserializer> Path to the LanguageDeserializer source code file (LanguageDeserializer.cs) "); return 1; } Console.Write(workInProgress); try { int noOfChanges = 0; var language = new Nikse.SubtitleEdit.Logic.Language(); language.General.Version = FindVersionNumber(); var languageAsXml = language.GetCurrentLanguageAsXml(); var oldLanguageAsXml = string.Empty; if (File.Exists(args[0])) { oldLanguageAsXml = File.ReadAllText(args[0]); } if (oldLanguageAsXml != languageAsXml) { language.Save(args[0]); noOfChanges++; Console.Write(" {0} generated...", Path.GetFileName(args[0])); } var languageDeserializerContent = Nikse.SubtitleEdit.Logic.LanguageDeserializerGenerator.GenerateCSharpXmlDeserializerForLanguage(); var oldLanguageDeserializerContent = string.Empty; if (File.Exists(args[1])) { oldLanguageDeserializerContent = File.ReadAllText(args[1]); } if (oldLanguageDeserializerContent != languageDeserializerContent) { File.WriteAllText(args[1], languageDeserializerContent, Encoding.UTF8); noOfChanges++; Console.Write(" {0} generated...", Path.GetFileName(args[1])); } if (noOfChanges == 0) { Console.WriteLine(" no changes"); } else { Console.WriteLine(); } return 0; } catch (Exception ex) { Console.WriteLine(); Console.WriteLine(myName + ": " + ex.Message); return 2; } }