/// <summary> /// called before loading settings to process parameters that affect loading /// </summary> /// <param name="options"></param> /// <param name="convertProcessorSettings"></param> private static void PreProcessParameters(List <string> options, IConvertProcessorSettings convertProcessorSettings) { foreach (var param in options) { string command = param.ToLower().Substring(1); if (command.StartsWith("cfg:")) //transliterate { string commandValue = command.Substring(4); convertProcessorSettings.SettingsFileToUse = commandValue; } } }
public ConvertProcessor(IConvertProcessorSettings processorSettings) { _processorSettings = processorSettings; }
/// <summary> /// called before loading settings to process parameters that affect loading /// </summary> /// <param name="options"></param> /// <param name="convertProcessorSettings"></param> private static void PreProcessParameters(List<string> options, IConvertProcessorSettings convertProcessorSettings) { foreach (var param in options) { string command = param.ToLower().Substring(1); if (command.StartsWith("cfg:")) //transliterate { string commandValue = command.Substring(4); convertProcessorSettings.SettingsFileToUse = commandValue; } } }
private static void ProcessParameters(List<string> options, IConvertProcessorSettings settings) { foreach (var param in options) { string command = param.ToLower().Substring(1); if (command.StartsWith("t:")) //transliterate { string commandValue = command.Substring(2); int value; if (int.TryParse(commandValue,out value)) { if (value == 0) { settings.Settings.CommonSettings.TransliterateToc = false; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp {Mode = TranslitModeEnum.None}); settings.Settings.ConversionSettings.TransliterateFileName = false; } else if (value == 1) { settings.Settings.CommonSettings.TransliterateToc = true; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.None }); settings.Settings.ConversionSettings.TransliterateFileName = false; } else if (value == 2) { settings.Settings.CommonSettings.TransliterateToc = false; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.None }); settings.Settings.ConversionSettings.TransliterateFileName = true; } else if (value == 3) { settings.Settings.CommonSettings.TransliterateToc = true; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.TranslitRu}); settings.Settings.ConversionSettings.TransliterateFileName = true; } else if (value == 4) { settings.Settings.CommonSettings.TransliterateToc = false; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.TranslitRu }); settings.Settings.ConversionSettings.TransliterateFileName = false; } else if (value == 5) { settings.Settings.CommonSettings.TransliterateToc = false; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.TranslitRu }); settings.Settings.ConversionSettings.TransliterateFileName = true; } else { _log.InfoFormat("Invalid -t: parameter value {0}.",commandValue); } } else { _log.InfoFormat("Invalid -t: parameter value {0}.", commandValue); } } else if (command.StartsWith("o:")) // output { if (command.EndsWith("\"") && command.Length > 4) { settings.Settings.OutPutPath = command.Substring(2, command.Length - 3); } else { settings.Settings.OutPutPath = command.Substring(2); } } else if (command.StartsWith("f2i:")) // generate additional info { string commandValue = command.Substring(4); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.ConversionSettings.Fb2Info = false; } else if (value == 1) { settings.Settings.ConversionSettings.Fb2Info = true; } else { _log.InfoFormat("Invalid -f2i: parameter value {0}.", commandValue); } } else { _log.InfoFormat("Invalid -f2i: parameter value {0}.", commandValue); } } else if (command == "s") // subfolders { settings.LookInSubFolders = true; } else if (command.StartsWith("m:")) // mask when searching { string commandValue = command.Substring(2); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.SearchMask = PathSearchOptions.Fb2Only; } else if (value == 1) { settings.SearchMask = PathSearchOptions.Fb2WithArchives; } else if (value == 2) { settings.SearchMask = PathSearchOptions.WithAllArchives; } else if (value == 3) { settings.SearchMask = PathSearchOptions.All; } else { _log.InfoFormat("Invalid -m: parameter value {0}.", value); } } else { _log.InfoFormat("Invalid -m: parameter value {0}.", commandValue); } } else if (command == "deletesource") { settings.DeleteSource = true; } else if (command.StartsWith("fix:")) { string commandValue = command.Substring(4); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.FB2ImportSettings.FixMode = FixOptions.DoNotFix; } else if (value == 1) { settings.Settings.FB2ImportSettings.FixMode = FixOptions.MinimalFix; } else if (value == 2) { settings.Settings.FB2ImportSettings.FixMode = FixOptions.UseFb2Fix; } else if (value == 3) { settings.Settings.FB2ImportSettings.FixMode = FixOptions.Fb2FixAlways; } else { _log.InfoFormat("Invalid -fix: parameter value {0}.", value); } } } else if (command.StartsWith("seqadd:")) { string commandValue = command.Substring(7); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.ConversionSettings.AddSeqToTitle = false; } else if (value == 1) { settings.Settings.ConversionSettings.AddSeqToTitle = true; } else { _log.InfoFormat("Invalid -seqadd: parameter value {0}.", value); } } } else if (command.StartsWith("seqformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) settings.Settings.ConversionSettings.SequenceFormat = commandValue; else _log.InfoFormat("Invalid -seqformat: parameter value is empty."); } else if (command.StartsWith("nseqformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) settings.Settings.ConversionSettings.NoSequenceFormat = commandValue; else _log.InfoFormat("Invalid -nseqformat: parameter value is empty."); } else if (command.StartsWith("nnseqformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) settings.Settings.ConversionSettings.NoSeriesFormat = commandValue; else _log.InfoFormat("Invalid -nnseqformat: parameter value is empty."); } else if (command.StartsWith("aformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) settings.Settings.ConversionSettings.AuthorFormat = commandValue; else _log.InfoFormat("Invalid -aformat: parameter value is empty."); } else if (command.StartsWith("svformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) settings.Settings.ConversionSettings.FileAsFormat = commandValue; else _log.InfoFormat("Invalid -svformat: parameter value is empty."); } else if (command.StartsWith("flat:")) { string commandValue = command.Substring(5); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.CommonSettings.FlatStructure = false; } else if (value == 1) { settings.Settings.CommonSettings.FlatStructure = true; } else { _log.InfoFormat("Invalid -flat: parameter value {0}.", value); } } } else if (command.StartsWith("emstyles:")) { string commandValue = command.Substring(9); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.CommonSettings.EmbedStyles = false; } else if (value == 1) { settings.Settings.CommonSettings.EmbedStyles = true; } else { _log.InfoFormat("Invalid -emstyles: parameter value {0}.", value); } } } else if (command.StartsWith("apng:")) { string commandValue = command.Substring(5); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.FB2ImportSettings.ConvertAlphaPng = false; } else if (value == 1) { settings.Settings.FB2ImportSettings.ConvertAlphaPng = true; } else { _log.InfoFormat("Invalid -apng: parameter value {0}.", value); } } } else if (command.StartsWith("cap:")) { string commandValue = command.Substring(4); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.CommonSettings.CapitalDrop = false; } else if (value == 1) { settings.Settings.CommonSettings.CapitalDrop = true; } else { _log.InfoFormat("Invalid -cap: parameter value {0}.", value); } } } else if (command.StartsWith("noabout")) { settings.Settings.ConversionSettings.SkipAboutPage = true; } else if (command.StartsWith("xpgt:")) { string commandValue = command.Substring(5); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.V2Settings.EnableAdobeTemplate = false; } else if (value == 1) { settings.Settings.V2Settings.EnableAdobeTemplate = true; } else { _log.InfoFormat("Invalid -xpgt: parameter value {0}.", value); } } } else if (command.StartsWith("xpgtpath:")) { settings.Settings.V2Settings.AdobeTemplatePath = command.Substring(9); } else if (command.StartsWith("ignoretitle:")) { string commandValue = command.Substring(12); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreNothing; } else if (value == 1) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreMainTitle; } else if (value == 2) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreSourceTitle; } else if (value == 3) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnorePublishTitle; } else if (value == 4) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreMainAndSource; } else if (value == 5) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreMainAndPublish; } else if (value == 6) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreSourceAndPublish; } else { _log.InfoFormat("Invalid -ignoretitle: parameter value {0}.", value); } } } else if (command.StartsWith("calibremeta:")) { string commandValue = command.Substring(12); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.V2Settings.AddCalibreMetadata = false; } else if (value == 1) { settings.Settings.V2Settings.AddCalibreMetadata = true; } else { _log.InfoFormat("Invalid -calibremeta: parameter value {0}.", value); } } } else if (command.StartsWith("log:")) { string commandValue = command.Substring(4); SetNewLogPath(commandValue); } else { Console.WriteLine(@"Invalid option {0}.", param); } } }
private static void ProcessParameters(List <string> options, IConvertProcessorSettings settings) { foreach (var param in options) { string command = param.ToLower().Substring(1); if (command.StartsWith("t:")) //transliterate { string commandValue = command.Substring(2); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.CommonSettings.TransliterateToc = false; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.None }); settings.Settings.ConversionSettings.TransliterateFileName = false; } else if (value == 1) { settings.Settings.CommonSettings.TransliterateToc = true; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.None }); settings.Settings.ConversionSettings.TransliterateFileName = false; } else if (value == 2) { settings.Settings.CommonSettings.TransliterateToc = false; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.None }); settings.Settings.ConversionSettings.TransliterateFileName = true; } else if (value == 3) { settings.Settings.CommonSettings.TransliterateToc = true; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.TranslitRu }); settings.Settings.ConversionSettings.TransliterateFileName = true; } else if (value == 4) { settings.Settings.CommonSettings.TransliterateToc = false; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.TranslitRu }); settings.Settings.ConversionSettings.TransliterateFileName = false; } else if (value == 5) { settings.Settings.CommonSettings.TransliterateToc = false; settings.Settings.ConversionSettings.TransliterationSettings.CopyFrom( new TransliterationSettingsImp { Mode = TranslitModeEnum.TranslitRu }); settings.Settings.ConversionSettings.TransliterateFileName = true; } else { _log.InfoFormat("Invalid -t: parameter value {0}.", commandValue); } } else { _log.InfoFormat("Invalid -t: parameter value {0}.", commandValue); } } else if (command.StartsWith("o:")) // output { if (command.EndsWith("\"") && command.Length > 4) { settings.Settings.OutPutPath = command.Substring(2, command.Length - 3); } else { settings.Settings.OutPutPath = command.Substring(2); } } else if (command.StartsWith("f2i:")) // generate additional info { string commandValue = command.Substring(4); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.ConversionSettings.Fb2Info = false; } else if (value == 1) { settings.Settings.ConversionSettings.Fb2Info = true; } else { _log.InfoFormat("Invalid -f2i: parameter value {0}.", commandValue); } } else { _log.InfoFormat("Invalid -f2i: parameter value {0}.", commandValue); } } else if (command == "s") // subfolders { settings.LookInSubFolders = true; } else if (command.StartsWith("m:")) // mask when searching { string commandValue = command.Substring(2); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.SearchMask = PathSearchOptions.Fb2Only; } else if (value == 1) { settings.SearchMask = PathSearchOptions.Fb2WithArchives; } else if (value == 2) { settings.SearchMask = PathSearchOptions.WithAllArchives; } else if (value == 3) { settings.SearchMask = PathSearchOptions.All; } else { _log.InfoFormat("Invalid -m: parameter value {0}.", value); } } else { _log.InfoFormat("Invalid -m: parameter value {0}.", commandValue); } } else if (command == "deletesource") { settings.DeleteSource = true; } else if (command.StartsWith("fix:")) { string commandValue = command.Substring(4); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.FB2ImportSettings.FixMode = FixOptions.DoNotFix; } else if (value == 1) { settings.Settings.FB2ImportSettings.FixMode = FixOptions.MinimalFix; } else if (value == 2) { settings.Settings.FB2ImportSettings.FixMode = FixOptions.UseFb2Fix; } else if (value == 3) { settings.Settings.FB2ImportSettings.FixMode = FixOptions.Fb2FixAlways; } else { _log.InfoFormat("Invalid -fix: parameter value {0}.", value); } } } else if (command.StartsWith("seqadd:")) { string commandValue = command.Substring(7); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.ConversionSettings.AddSeqToTitle = false; } else if (value == 1) { settings.Settings.ConversionSettings.AddSeqToTitle = true; } else { _log.InfoFormat("Invalid -seqadd: parameter value {0}.", value); } } } else if (command.StartsWith("seqformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) { settings.Settings.ConversionSettings.SequenceFormat = commandValue; } else { _log.InfoFormat("Invalid -seqformat: parameter value is empty."); } } else if (command.StartsWith("nseqformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) { settings.Settings.ConversionSettings.NoSequenceFormat = commandValue; } else { _log.InfoFormat("Invalid -nseqformat: parameter value is empty."); } } else if (command.StartsWith("nnseqformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) { settings.Settings.ConversionSettings.NoSeriesFormat = commandValue; } else { _log.InfoFormat("Invalid -nnseqformat: parameter value is empty."); } } else if (command.StartsWith("aformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) { settings.Settings.ConversionSettings.AuthorFormat = commandValue; } else { _log.InfoFormat("Invalid -aformat: parameter value is empty."); } } else if (command.StartsWith("svformat:")) { string commandValue = command.Substring(10); if (!string.IsNullOrEmpty(commandValue)) { settings.Settings.ConversionSettings.FileAsFormat = commandValue; } else { _log.InfoFormat("Invalid -svformat: parameter value is empty."); } } else if (command.StartsWith("flat:")) { string commandValue = command.Substring(5); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.CommonSettings.FlatStructure = false; } else if (value == 1) { settings.Settings.CommonSettings.FlatStructure = true; } else { _log.InfoFormat("Invalid -flat: parameter value {0}.", value); } } } else if (command.StartsWith("emstyles:")) { string commandValue = command.Substring(9); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.CommonSettings.EmbedStyles = false; } else if (value == 1) { settings.Settings.CommonSettings.EmbedStyles = true; } else { _log.InfoFormat("Invalid -emstyles: parameter value {0}.", value); } } } else if (command.StartsWith("apng:")) { string commandValue = command.Substring(5); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.FB2ImportSettings.ConvertAlphaPng = false; } else if (value == 1) { settings.Settings.FB2ImportSettings.ConvertAlphaPng = true; } else { _log.InfoFormat("Invalid -apng: parameter value {0}.", value); } } } else if (command.StartsWith("cap:")) { string commandValue = command.Substring(4); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.CommonSettings.CapitalDrop = false; } else if (value == 1) { settings.Settings.CommonSettings.CapitalDrop = true; } else { _log.InfoFormat("Invalid -cap: parameter value {0}.", value); } } } else if (command.StartsWith("noabout")) { settings.Settings.ConversionSettings.SkipAboutPage = true; } else if (command.StartsWith("xpgt:")) { string commandValue = command.Substring(5); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.V2Settings.EnableAdobeTemplate = false; } else if (value == 1) { settings.Settings.V2Settings.EnableAdobeTemplate = true; } else { _log.InfoFormat("Invalid -xpgt: parameter value {0}.", value); } } } else if (command.StartsWith("xpgtpath:")) { settings.Settings.V2Settings.AdobeTemplatePath = command.Substring(9); } else if (command.StartsWith("ignoretitle:")) { string commandValue = command.Substring(12); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreNothing; } else if (value == 1) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreMainTitle; } else if (value == 2) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreSourceTitle; } else if (value == 3) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnorePublishTitle; } else if (value == 4) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreMainAndSource; } else if (value == 5) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreMainAndPublish; } else if (value == 6) { settings.Settings.ConversionSettings.IgnoreTitle = IgnoreInfoSourceOptions.IgnoreSourceAndPublish; } else { _log.InfoFormat("Invalid -ignoretitle: parameter value {0}.", value); } } } else if (command.StartsWith("calibremeta:")) { string commandValue = command.Substring(12); int value; if (int.TryParse(commandValue, out value)) { if (value == 0) { settings.Settings.V2Settings.AddCalibreMetadata = false; } else if (value == 1) { settings.Settings.V2Settings.AddCalibreMetadata = true; } else { _log.InfoFormat("Invalid -calibremeta: parameter value {0}.", value); } } } else if (command.StartsWith("log:")) { string commandValue = command.Substring(4); SetNewLogPath(commandValue); } else { Console.WriteLine(@"Invalid option {0}.", param); } } }