private static bool SetSettings(string[] args) { bool success = true; cb.Options.Parser p = new cb.Options.Parser(); try { p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.NoConfirmDownload, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.NoConfirmUpload, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.NoConfirmDelete, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.RunOnce, IsFlag = true, ShortName = '1' }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.DownloadAll, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.UploadOnly, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.SleepSeconds, ShortName = 's'}); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.WatchDir }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.OwnCloudUrl }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.Help, IsFlag = true, ShortName = 'h' }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.Version, IsFlag = true, ShortName = 'v' }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.DownloadAllPrefix}); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.ListRemoteFiles, IsFlag = true, ShortName = 'l'}); p.Parse(args); if (p.IsOptionDefined(Settings.Constants.Help)) { DisplaySampleUseage(); return false; } if (p.IsOptionDefined(Settings.Constants.Version)) { DisplayVersionInfo(); return false; } Settings.NoConfirmDownload = p.IsOptionDefined(Settings.Constants.NoConfirmDownload); Settings.NoConfirmUpload = p.IsOptionDefined(Settings.Constants.NoConfirmUpload); Settings.NoConfirmDelete = p.IsOptionDefined(Settings.Constants.NoConfirmDelete); Settings.RunOnce = p.IsOptionDefined(Settings.Constants.RunOnce); Settings.DownloadAll = p.IsOptionDefined(Settings.Constants.DownloadAll); Settings.UploadOnly = p.IsOptionDefined(Settings.Constants.UploadOnly); Settings.ListRemoteFiles = p.IsOptionDefined(Settings.Constants.ListRemoteFiles); if (p.IsOptionDefined(Settings.Constants.WatchDir)) Settings.WatchDir = p.GetOptionStringValue(Settings.Constants.WatchDir); if (!System.IO.Directory.Exists(Settings.WatchDir)) throw new Exception(string.Format("Watch directory '{0}' does not exist. Please create it and re-run the program.", Settings.WatchDir)); if (p.IsOptionDefined(Settings.Constants.OwnCloudUrl)) Settings.OwnCloudUrl = p.GetOptionStringValue(Settings.Constants.OwnCloudUrl); if (string.IsNullOrEmpty(Settings.OwnCloudUrl) || !Settings.OwnCloudUrl.StartsWith("http")) throw new Exception("Invalid OwnCloudUrl"); if (p.IsOptionDefined(Settings.Constants.SleepSeconds)) Settings.SleepSeconds = Convert.ToInt32(p.GetOptionStringValue(Settings.Constants.SleepSeconds)); if (p.IsOptionDefined(Settings.Constants.DownloadAllPrefix)) Settings.DownloadAllPrefix = p.GetOptionStringValue(Settings.Constants.DownloadAllPrefix); if (string.IsNullOrEmpty(Settings.UserName)) { Console.Write("Enter UserName: "******"Enter Password: "******"Argument Exception", ex); DisplaySampleUseage(); success = false; } catch (Exception ex) { NLogger.Current.FatalException("SetSettings Exception", ex); success = false; } return success; }
private static bool SetSettings(string[] args) { bool success = true; cb.Options.Parser p = new cb.Options.Parser(); try { p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.NoConfirmDownload, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.NoConfirmUpload, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.NoConfirmDelete, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.RunOnce, IsFlag = true, ShortName = '1' }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.DownloadAll, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.UploadOnly, IsFlag = true }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.SleepSeconds, ShortName = 's' }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.WatchDir }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.OwnCloudUrl }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.Help, IsFlag = true, ShortName = 'h' }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.Version, IsFlag = true, ShortName = 'v' }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.DownloadAllPrefix }); p.AddDefinition(new cb.Options.OptionDefinition() { LongName = Settings.Constants.ListRemoteFiles, IsFlag = true, ShortName = 'l' }); p.Parse(args); if (p.IsOptionDefined(Settings.Constants.Help)) { DisplaySampleUseage(); return(false); } if (p.IsOptionDefined(Settings.Constants.Version)) { DisplayVersionInfo(); return(false); } Settings.NoConfirmDownload = p.IsOptionDefined(Settings.Constants.NoConfirmDownload); Settings.NoConfirmUpload = p.IsOptionDefined(Settings.Constants.NoConfirmUpload); Settings.NoConfirmDelete = p.IsOptionDefined(Settings.Constants.NoConfirmDelete); Settings.RunOnce = p.IsOptionDefined(Settings.Constants.RunOnce); Settings.DownloadAll = p.IsOptionDefined(Settings.Constants.DownloadAll); Settings.UploadOnly = p.IsOptionDefined(Settings.Constants.UploadOnly); Settings.ListRemoteFiles = p.IsOptionDefined(Settings.Constants.ListRemoteFiles); if (p.IsOptionDefined(Settings.Constants.WatchDir)) { Settings.WatchDir = p.GetOptionStringValue(Settings.Constants.WatchDir); } if (!System.IO.Directory.Exists(Settings.WatchDir)) { throw new Exception(string.Format("Watch directory '{0}' does not exist. Please create it and re-run the program.", Settings.WatchDir)); } if (p.IsOptionDefined(Settings.Constants.OwnCloudUrl)) { Settings.OwnCloudUrl = p.GetOptionStringValue(Settings.Constants.OwnCloudUrl); } if (string.IsNullOrEmpty(Settings.OwnCloudUrl) || !Settings.OwnCloudUrl.StartsWith("http")) { throw new Exception("Invalid OwnCloudUrl"); } if (p.IsOptionDefined(Settings.Constants.SleepSeconds)) { Settings.SleepSeconds = Convert.ToInt32(p.GetOptionStringValue(Settings.Constants.SleepSeconds)); } if (p.IsOptionDefined(Settings.Constants.DownloadAllPrefix)) { Settings.DownloadAllPrefix = p.GetOptionStringValue(Settings.Constants.DownloadAllPrefix); } if (string.IsNullOrEmpty(Settings.UserName)) { Console.Write("Enter UserName: "******"Enter Password: "******"Argument Exception", ex); DisplaySampleUseage(); success = false; } catch (Exception ex) { NLogger.Current.FatalException("SetSettings Exception", ex); success = false; } return(success); }