public ChmBuilder(ChmBuilderArgs args) { this._args = args; _args.htmlDirectory = StripEndBackSlash(Path.GetFullPath(_args.htmlDirectory)); if (String.IsNullOrEmpty(_args.tocFile)) _hasToc = false; else _hasToc = true; _args.outputDirectory = StripEndBackSlash(Path.GetFullPath(_args.outputDirectory)); _config = new XPathDocument(args.configFile); LoadLanginfo(_args.langid); }
public ChmBuilder(ChmBuilderArgs args) { this._args = args; _args.HtmlDirectory = StripEndBackslash(Path.GetFullPath(_args.HtmlDirectory)); if(String.IsNullOrEmpty(_args.TocFile)) _hasToc = false; else _hasToc = true; _args.OutputDirectory = StripEndBackslash(Path.GetFullPath(_args.OutputDirectory)); _config = new XPathDocument(args.ConfigurationFile); LoadLanginfo(_args.LanguageId); }
public ChmBuilder(ChmBuilderArgs args) { this._args = args; _args.htmlDirectory = StripEndBackSlash(Path.GetFullPath(_args.htmlDirectory)); if (String.IsNullOrEmpty(_args.tocFile)) { _hasToc = false; } else { _hasToc = true; } _args.outputDirectory = StripEndBackSlash(Path.GetFullPath(_args.outputDirectory)); _config = new XPathDocument(args.configFile); LoadLanginfo(_args.langid); }
public ChmBuilder(ChmBuilderArgs args) { this._args = args; _args.HtmlDirectory = StripEndBackslash(Path.GetFullPath(_args.HtmlDirectory)); if (String.IsNullOrEmpty(_args.TocFile)) { _hasToc = false; } else { _hasToc = true; } _args.OutputDirectory = StripEndBackslash(Path.GetFullPath(_args.OutputDirectory)); _config = new XPathDocument(args.ConfigurationFile); LoadLanginfo(_args.LanguageId); }
public static int Main(string[] args) { ConsoleApplication.WriteBanner(); OptionCollection options = new OptionCollection(); options.Add(new SwitchOption("?", "Show this help page.")); options.Add(new StringOption("html", "Specify a html directory.", "htmlDirectory")); options.Add(new StringOption("project", "Specify a project name.", "projectName")); options.Add(new StringOption("toc", "Specify a toc file.", "tocFile")); options.Add(new StringOption("lcid", "Specify a language id.If unspecified, 1033 is used.", "languageId")); options.Add(new StringOption("out", "Specify an output directory. If unspecified, Chm is used.", "outputDirectory")); options.Add(new BooleanOption("metadata", "Specify whether output metadata or not. Default value is false.")); options.Add(new StringOption("config", "Specify a configuration file. If unspecified, ChmBuilder.config is used", "configFilePath")); ParseArgumentsResult results = options.ParseArguments(args); if (results.Options["?"].IsPresent) { Console.WriteLine("ChmBuilder /html: /project: /toc: /out: /metadata:"); options.WriteOptionSummary(Console.Out); return(0); } ChmBuilderArgs cbArgs = new ChmBuilderArgs(); // check for invalid options if (!results.Success) { results.WriteParseErrors(Console.Out); return(1); } // check for missing or extra assembly directories if (results.UnusedArguments.Count != 0) { Console.WriteLine("No non-option arguments are supported."); return(1); } if (!results.Options["html"].IsPresent) { ConsoleApplication.WriteMessage(LogLevel.Error, "You must specify a html directory."); return(1); } cbArgs.htmlDirectory = (string)results.Options["html"].Value; if (!Directory.Exists(cbArgs.htmlDirectory)) { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("Direcotry: {0} not found.", cbArgs.htmlDirectory)); return(1); } if (!results.Options["project"].IsPresent) { ConsoleApplication.WriteMessage(LogLevel.Error, "You must specify a project name."); return(1); } cbArgs.projectName = (string)results.Options["project"].Value; if (results.Options["lcid"].IsPresent) { try { cbArgs.langid = Convert.ToInt32(results.Options["lcid"].Value); } catch { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("{0} is not a valid integer.", results.Options["lcid"].Value)); return(1); } } if (results.Options["toc"].IsPresent) { cbArgs.tocFile = (string)results.Options["toc"].Value; if (!File.Exists(cbArgs.tocFile)) { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("File: {0} not found.", cbArgs.tocFile)); return(1); } } if (!results.Options["out"].IsPresent) { cbArgs.outputDirectory = "Chm"; } else { cbArgs.outputDirectory = (string)results.Options["out"].Value; } if (!Directory.Exists(cbArgs.outputDirectory)) { Directory.CreateDirectory(cbArgs.outputDirectory); //ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("Direcotry: {0} not found.", cbArgs.outputDirectory)); //return (1); } if (results.Options["metadata"].IsPresent && (bool)results.Options["metadata"].Value) { cbArgs.metadata = true; } if (results.Options["config"].IsPresent) { cbArgs.configFile = (string)results.Options["config"].Value; } if (!File.Exists(cbArgs.configFile)) { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("Config file: {0} not found.", cbArgs.configFile)); return(1); } try { ChmBuilder chmBuilder = new ChmBuilder(cbArgs); chmBuilder.Run(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return(1); } return(0); }
public static int Main(string[] args) { ConsoleApplication.WriteBanner(); OptionCollection options = new OptionCollection(); options.Add(new SwitchOption("?", "Show this help page.")); options.Add(new StringOption("html", "Specify a html directory.", "htmlDirectory")); options.Add(new StringOption("project", "Specify a project name.", "projectName")); options.Add(new StringOption("toc", "Specify a toc file.", "tocFile")); options.Add(new StringOption("lcid", "Specify a language id.If unspecified, 1033 is used.", "languageId")); options.Add(new StringOption("out", "Specify an output directory. If unspecified, Chm is used.", "outputDirectory")); options.Add(new BooleanOption("metadata", "Specify whether output metadata or not. Default value is false.")); options.Add(new StringOption("config", "Specify a configuration file. If unspecified, ChmBuilder.config is used", "configFilePath")); ParseArgumentsResult results = options.ParseArguments(args); if (results.Options["?"].IsPresent) { Console.WriteLine("ChmBuilder /html: /project: /toc: /out: /metadata:"); options.WriteOptionSummary(Console.Out); return (0); } ChmBuilderArgs cbArgs = new ChmBuilderArgs(); // check for invalid options if (!results.Success) { results.WriteParseErrors(Console.Out); return (1); } // check for missing or extra assembly directories if (results.UnusedArguments.Count != 0) { Console.WriteLine("No non-option arguments are supported."); return (1); } if (!results.Options["html"].IsPresent) { ConsoleApplication.WriteMessage(LogLevel.Error, "You must specify a html directory."); return (1); } cbArgs.htmlDirectory = (string)results.Options["html"].Value; if (!Directory.Exists(cbArgs.htmlDirectory)) { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("Direcotry: {0} not found.", cbArgs.htmlDirectory)); return (1); } if (!results.Options["project"].IsPresent) { ConsoleApplication.WriteMessage(LogLevel.Error, "You must specify a project name."); return (1); } cbArgs.projectName = (string)results.Options["project"].Value; if (results.Options["lcid"].IsPresent) { try { cbArgs.langid = Convert.ToInt32(results.Options["lcid"].Value); } catch { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("{0} is not a valid integer.", results.Options["lcid"].Value)); return (1); } } if (results.Options["toc"].IsPresent) { cbArgs.tocFile = (string)results.Options["toc"].Value; if (!File.Exists(cbArgs.tocFile)) { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("File: {0} not found.", cbArgs.tocFile)); return (1); } } if (!results.Options["out"].IsPresent) cbArgs.outputDirectory = "Chm"; else cbArgs.outputDirectory = (string)results.Options["out"].Value; if (!Directory.Exists(cbArgs.outputDirectory)) { Directory.CreateDirectory(cbArgs.outputDirectory); //ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("Direcotry: {0} not found.", cbArgs.outputDirectory)); //return (1); } if (results.Options["metadata"].IsPresent && (bool)results.Options["metadata"].Value) { cbArgs.metadata = true; } if (results.Options["config"].IsPresent) { cbArgs.configFile = (string)results.Options["config"].Value; } if (!File.Exists(cbArgs.configFile)) { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format("Config file: {0} not found.", cbArgs.configFile)); return (1); } try { ChmBuilder chmBuilder = new ChmBuilder(cbArgs); chmBuilder.Run(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); return (1); } return 0; }
public static int Main(string[] args) { ConsoleApplication.WriteBanner(); OptionCollection options = new OptionCollection(); options.Add(new SwitchOption("?", "Show this help page.")); options.Add(new StringOption("html", "Specify an HTML directory.", "htmlDirectory") { RequiredMessage = "You must specify an HTML directory" }); options.Add(new StringOption("project", "Specify a project name.", "projectName") { RequiredMessage = "You must specify a project name" }); options.Add(new StringOption("toc", "Specify a TOC file.", "tocFile")); options.Add(new StringOption("lcid", "Specify a language id. If unspecified, 1033 (en-US) is used.", "languageId")); options.Add(new StringOption("out", "Specify an output directory. If unspecified, Chm is used.", "outputDirectory")); options.Add(new BooleanOption("metadata", "Specify whether to output metadata or not. Default " + "value is false.")); options.Add(new StringOption("config", "Specify a configuration file. If unspecified, " + "ChmBuilder.config is used.", "configFilePath")); ParseArgumentsResult results = options.ParseArguments(args); if(results.Options["?"].IsPresent) { Console.WriteLine("ChmBuilder /html: /project: /toc: /out: /metadata:"); options.WriteOptionSummary(Console.Out); return 0; } // Check for invalid options if(!results.Success) { ConsoleApplication.WriteMessage(LogLevel.Error, "Unable to parse command line options."); results.WriteParseErrors(Console.Out); return 1; } // Check for unused arguments if(results.UnusedArguments.Count != 0) { Console.WriteLine("No non-option arguments are supported."); return 1; } ChmBuilderArgs cbArgs = new ChmBuilderArgs(); cbArgs.HtmlDirectory = (string)results.Options["html"].Value; if(!Directory.Exists(cbArgs.HtmlDirectory)) { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format(CultureInfo.CurrentCulture, "Direcotry: {0} not found.", cbArgs.HtmlDirectory)); return 1; } cbArgs.ProjectName = (string)results.Options["project"].Value; if(results.Options["lcid"].IsPresent) { try { cbArgs.LanguageId = Convert.ToInt32(results.Options["lcid"].Value, CultureInfo.CurrentCulture); } catch { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format(CultureInfo.CurrentCulture, "{0} is not a valid integer.", results.Options["lcid"].Value)); return 1; } } if(results.Options["toc"].IsPresent) { cbArgs.TocFile = (string)results.Options["toc"].Value; if(!File.Exists(cbArgs.TocFile)) { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format(CultureInfo.CurrentCulture, "File: {0} not found.", cbArgs.TocFile)); return 1; } } if(!results.Options["out"].IsPresent) cbArgs.OutputDirectory = "Chm"; else cbArgs.OutputDirectory = (string)results.Options["out"].Value; if(!Directory.Exists(cbArgs.OutputDirectory)) Directory.CreateDirectory(cbArgs.OutputDirectory); if(results.Options["metadata"].IsPresent && (bool)results.Options["metadata"].Value) { cbArgs.OutputMetadata = true; } if(results.Options["config"].IsPresent) { cbArgs.ConfigurationFile = (string)results.Options["config"].Value; } if(!File.Exists(cbArgs.ConfigurationFile)) { ConsoleApplication.WriteMessage(LogLevel.Error, String.Format(CultureInfo.CurrentCulture, "Config file: {0} not found.", cbArgs.ConfigurationFile)); return 1; } try { ChmBuilder chmBuilder = new ChmBuilder(cbArgs); chmBuilder.Run(); } catch(Exception ex) { Console.WriteLine(ex.ToString()); return (1); } return 0; }