private void OptionsControl_Load(object sender, EventArgs e)
        {
            try
            {
                lblInfo.Text = String.Empty;

                _scripterConfig = _scripterConfigStorage.Load();
                cbScriptDatabaseContext.Checked         = _scripterConfig.ScriptDatabaseContext;
                cbScriptDatabaseContext.CheckedChanged += cbScriptDatabaseContext_CheckedChanged;

                _runConfig = _runConfigStorage.Load();

                lblRunnerTool.Text = _runConfig.IsUndefined() || String.IsNullOrEmpty(_runConfig.RunTool) ?
                                     "none" : _runConfig.RunTool;

                if (_runConfig.IsUndefined())
                {
                    _runConfig.RunArgs = "$(Server) $(Database) $(User) $(Password)";
                }
                lblRunnerArgs.Text = _runConfig.RunArgs;
            }
            catch (Exception ex)
            {
                cbScriptDatabaseContext.Enabled = false;
                lblInfo.Text = ex.Message;
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            PluginManager.Load();
            Config = JsonConvert.DeserializeObject <RunConfig>(File.ReadAllText("../../../Config.json"));
            Client.BuildVersion = Config.BuildVersion;
            List <IPlugin> plugins = new List <IPlugin>();

            foreach (var p in Config.Plugins)
            {
                if (PluginManager.Plugins.ContainsKey(p))
                {
                    plugins.Add(PluginManager.Plugins[p]);
                }
            }
            foreach (var acc in Config.Accounts)
            {
                Task.Run(() => Clients.Add(new Client(acc, plugins)));
            }

            while (true)
            {
                string command = Console.ReadLine();
                Console.WriteLine("Command: " + command);
            }
        }
示例#3
0
 public ContainerService(ILogger logger, RunConfig runConfig, DockerClient dockerClient, CronService cronService)
 {
     this.logger       = logger ?? throw new ArgumentNullException(nameof(logger));
     this.runConfig    = runConfig ?? throw new ArgumentNullException(nameof(runConfig));
     this.dockerClient = dockerClient ?? throw new ArgumentNullException(nameof(dockerClient));
     this.cronService  = cronService ?? throw new ArgumentNullException(nameof(cronService));
 }
示例#4
0
        public TrainAndEvalDict create_estimator_and_inputs(RunConfig run_config,
                                                            HParams hparams                          = null,
                                                            string pipeline_config_path              = null,
                                                            int train_steps                          = 0,
                                                            int sample_1_of_n_eval_examples          = 0,
                                                            int sample_1_of_n_eval_on_train_examples = 1)
        {
            var config = ConfigUtil.get_configs_from_pipeline_file(pipeline_config_path);

            // Create the input functions for TRAIN/EVAL/PREDICT.
            Action train_input_fn = () => { };

            var eval_input_configs = config.EvalInputReader;

            var    eval_input_fns         = new Action[eval_input_configs.Count];
            var    eval_input_names       = eval_input_configs.Select(eval_input_config => eval_input_config.Name).ToArray();
            Action eval_on_train_input_fn = () => { };
            Action predict_input_fn       = () => { };
            Action model_fn  = () => { };
            var    estimator = tf.estimator.Estimator(model_fn: model_fn, config: run_config);

            return(new TrainAndEvalDict
            {
                estimator = estimator,
                train_input_fn = train_input_fn,
                eval_input_fns = eval_input_fns,
                eval_input_names = eval_input_names,
                eval_on_train_input_fn = eval_on_train_input_fn,
                predict_input_fn = predict_input_fn,
                train_steps = train_steps
            });
        }
 public RunnerConfigForm(RunConfig runConfig)
     : this()
 {
     _runConfig  = runConfig;
     tbTool.Text = _runConfig.IsUndefined() ? String.Empty : (_runConfig.RunTool ?? String.Empty);
     tbArgs.Text = _runConfig.RunArgs ?? String.Empty;
 }
示例#6
0
        public static void Init(SerialPortConfig portCfg, RunConfig runConfig)
        {
            Logger.Info("+");

            _serialPort = new SerialPortWraper(portCfg);

            _runConfig = runConfig;

            _unitDictionary = new Dictionary <int, UnitMonitor>();
            foreach (var a in runConfig.UnitAddrs)
            {
                _unitDictionary.Add(a, new UnitMonitor((byte)a, _serialPort, _runConfig));
            }

            foreach (var m in _unitDictionary.Values)
            {
                m.LoadUnitConfigFromFile(m.Address, _runConfig.DataFilePath);
            }

            Logger.Info("unit count: " + _unitDictionary.Count);

            Logger.Info($"Open port {_serialPort.PortName} baud rate: {_serialPort.BaudRate}");

            OpenPort();

            Logger.Info($"Port open: {_serialPort.IsOpen}");
        }
示例#7
0
        /// <summary>
        /// 解析要运行的模式
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        private static RunConfig getCfg(string[] args)
        {
            RunConfig cfg = new RunConfig();


            //cfg.winPatternEnums = WinPatternEnums.CALL;
            //cfg.winPatternEnums = WinPatternEnums.SPLIT;
            cfg.winPatternEnums = WinPatternEnums.PREVIEW;
            //cfg.winPatternEnums = WinPatternEnums.PREVIEW_VERTICAL;
            //cfg.winPatternEnums = WinPatternEnums.CRUISE;
            cfg.pcUrl       = "http://127.0.0.1:8099//video/registerPlayer";
            cfg.callUrl     = "http://127.0.0.1:8099//video/startRollCall";
            cfg.nextCallUrl = "http://127.0.0.1:8099//video/startRollCallNext";

            cfg.localPort = defaultPort;


            try
            {
                cfg.isShowHistoryList = Convert.ToBoolean(ConfigurationManager.AppSettings["showHistoryList"]);
                cfg.winPatternEnums   = (WinPatternEnums)Enum.Parse(typeof(WinPatternEnums), args[0]);
                cfg.pcUrl             = args[1];
            } catch (Exception e) {
                logger.Error("初始化参数失败,使用默认参数:", e);
            }



            return(cfg);
        }
示例#8
0
文件: Program.cs 项目: rmaclean/UXLR
        private static int Run(RunConfig config)
        {
            IEnumerable <SearchContent> searchPieces = new Collection <SearchContent>();

            if (config.CleanLocalisations)
            {
                var keys = XamlKeys.Process(config.LocalisationPropertiesToIgnore, config.LocalisationResources);
                searchPieces = searchPieces.Concat(keys);
            }

            if (config.CleanStyles)
            {
                var styles = XamlStyles.Process(config.StyleResources);
                searchPieces = searchPieces.Concat(styles);
            }

            if (config.CleanImages)
            {
                var images = Images.Process(config.ImageExtensions, config.ImageRecurse, config.ImageFolders);
                searchPieces = searchPieces.Concat(images);
            }

            var xamlFiles = XamlFiles.FindXamlFiles(config.RootFolder);

            searchPieces = XamlFiles.Search(xamlFiles, searchPieces);

            if (config.ImageSearchInResources && config.CleanImages && config.CleanLocalisations)
            {
                searchPieces = XamlKeys.SearchLocalisationValues(config.LocalisationResources, searchPieces);
            }

            if (config.CleanLocalisations)
            {
                PrintResult(searchPieces, SearchContentType.ResourceID, "Resources with not match in XAML files", "No used resources :)");
            }

            if (config.CleanStyles)
            {
                PrintResult(searchPieces, SearchContentType.BasedOnStyle | SearchContentType.StyleKey, "Styles with no match in XAML files", "No used styles :)");
            }

            if (config.CleanImages)
            {
                PrintResult(searchPieces, SearchContentType.Image, "Images with no match in XAML files", "No used images :)");
            }

            if (config.Beep)
            {
                Console.Beep();
            }

            return((int)ExitCode.Success);
        }
示例#9
0
        public TrainAndEvalDict create_estimator_and_inputs(RunConfig run_config,
                                                            int train_steps = 1)
        {
            var estimator = tf.estimator.Estimator(config: run_config);

            return(new TrainAndEvalDict
            {
                estimator = estimator,
                train_steps = train_steps,
                eval_input_fns = new Action[0]
            });
        }
示例#10
0
        public void test_default_property_values()
        {
            var config = new RunConfig();

            Assert.IsNull(config.model_dir);
            Assert.IsNull(config.session_config);
            Assert.IsNull(config.tf_random_seed);
            Assert.AreEqual(100, config.save_summary_steps);
            Assert.AreEqual(600, config.save_checkpoints_secs);
            Assert.AreEqual(5, config.keep_checkpoint_max);
            Assert.AreEqual(10000, config.keep_checkpoint_every_n_hours);
            Assert.IsNull(config.service);
            Assert.IsNull(config.device_fn);
            Assert.IsNull(config.experimental_max_worker_delay_secs);
            Assert.AreEqual(7200, config.session_creation_timeout_secs);
        }
示例#11
0
        public static async Task SendAsync(RunConfig cfg, IPAddress address, int port)
        {
            using (var clientSocket = new Socket(SocketType.Stream, ProtocolType.Tcp))
            {
                clientSocket.Connect(new IPEndPoint(address, port));

                using (Stream stream = File.OpenRead(cfg.FileName))
                {
                    byte[] bytes  = new byte[cfg.BufferSize];
                    int    readed = 0;
                    do
                    {
                        readed = stream.Read(bytes, 0, cfg.BufferSize);
                        await clientSocket.SendAsync(new ArraySegment <byte>(bytes, 0, readed), SocketFlags.None);
                    } while (readed > 0);
                }
            }
        }
示例#12
0
        private static RunConfig ParseArguments(string[] Args)
        {
            var config = new RunConfig();

            config.VerifyCertificate = true;
            config.Paginate          = true;

            try
            {
                for (var i = 0; i < Args.Length; i++)
                {
                    switch (Args[i])
                    {
                    case "-u":
                        if (config.Url != null)
                        {
                            PrintUsageAndDie();
                        }
                        config.Url = Args[i + 1];
                        i++;
                        break;

                    case "-s":
                        config.VerifyCertificate = false;
                        break;

                    case "-p":
                        config.Paginate = false;
                        break;
                    }
                }
            }
            catch (IndexOutOfRangeException)
            {
                PrintUsageAndDie();
            }

            if (config.Url == null)
            {
                PrintUsageAndDie();
            }

            return(config);
        }
示例#13
0
        static void Main(string[] args)
        {
            logger.Info("启动参数是:" + String.Join(",", args));
            RunConfig cfg = getCfg(args);

            ///防止程序重复启动
            Process[] processes = Process.GetProcessesByName("videoPlayer");
            if (processes.Length >= 2)
            {
                Console.WriteLine("检测到程序启动中!");
                Process.GetCurrentProcess().Close();
                //return;
            }
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
            Application.ThreadException += Application_ThreadException;
            AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
            Application.Run(new frmMain(cfg));
        }
示例#14
0
        static SlevyrController()
        {
            Logger.Info("+");

            var unitAddrs = Settings.Default.UnitAddrs.Split(';').Select(int.Parse);

            RunConfig = new RunConfig
            {
                IsMockupMode       = Settings.Default.MockupMode,
                IsRefreshTimerOn   = Settings.Default.IsRefreshTimerOn,
                IsReadOkNgTime     = Settings.Default.IsReadOkNgTime,
                RefreshTimerPeriod = Settings.Default.RefreshTimerPeriod,
                WorkerSleepPeriod  = Settings.Default.WorkerSleepPeriod,
                RelaxTime          = Settings.Default.RelaxTime,
                ReadResultTimeOut  = Settings.Default.ReadResultTimeOut,
                SendCommandTimeOut = Settings.Default.SendCommandTimeOut,
                DataFilePath       = Settings.Default.JsonFilePath,
                UnitAddrs          = unitAddrs,
                IsWriteEmptyToLog  = Settings.Default.IsWriteEmptyToLog
            };

            PortConfig = new SerialPortConfig
            {
                Port          = Settings.Default.Port,
                BaudRate      = Settings.Default.BaudRate,
                Parity        = System.IO.Ports.Parity.None,
                DataBits      = 8,
                StopBits      = System.IO.Ports.StopBits.One,
                ReceiveLength = 11
            };

            SlevyrService.Init(PortConfig, RunConfig);

            Logger.Info("unit count: " + SlevyrService.UnitCount);

            if (RunConfig.IsRefreshTimerOn)
            {
                SlevyrService.StartWorker();
            }
        }
示例#15
0
        public static void HttpGet(Object obj)
        {
            RunConfig cfg = (RunConfig)obj;
            string    url;

            switch (cfg.urlIndex)
            {
            case 1:
                url = cfg.callUrl;
                break;

            case 2:
                url = cfg.nextCallUrl;
                break;

            default:
                url = cfg.pcUrl + "?winPattern=" + cfg.winPatternEnums + "&localPort=" + cfg.localPort + "&processId=" + cfg.processId;
                break;
            }

            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method      = "GET";
                request.ContentType = "text/html;charset=UTF-8";

                HttpWebResponse response         = (HttpWebResponse)request.GetResponse();
                Stream          myResponseStream = response.GetResponseStream();
                StreamReader    myStreamReader   = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                string          retString        = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();

                logger.Info("请求{" + url + "}的结果是:" + retString);
            }
            catch (Exception e) {
                logger.Info("请求{" + url + "}失败:", e);
            }
        }
示例#16
0
        private List <RunConfig> getTaskConfig()
        {
            List <RunConfig> tasks = new List <RunConfig>();

            string sConnectionString = string.Empty;

            txtServerName.Invoke(new Action(delegate()
            {
                sConnectionString = string.Format("Server={0};Database=Doktorat;User Id={1};Password={2};", txtServerName.Text, txtUser.Text, txtPassword.Text);
            }));


            using (SqlConnection con = new SqlConnection(sConnectionString))
            {
                con.Open();

                using (SqlCommand cmd = new SqlCommand("", con))
                {
                    cmd.CommandText = "SELECT top 1000 ID_Program,Timeout,ID_Case,Name_Case,VisualizerID, Name_Program, Name_Map, Name_Config FROM dbo.TasksList ORDER BY ID_Config,id_trials,ID_Program";

                    using (SqlDataReader rdr = cmd.ExecuteReader())
                    {
                        while (rdr.Read())
                        {
                            RunConfig temp = new RunConfig((int)rdr["ID_Program"], (int)rdr["Timeout"], (int)rdr["ID_Case"], rdr["Name_Case"].ToString(), (int)rdr["VisualizerID"]);
                            temp.Name_Program = (string)rdr["Name_Program"];
                            temp.Name_Map     = (string)rdr["Name_Map"];
                            temp.Name_Config  = (string)rdr["Name_Config"];

                            tasks.Add(temp);
                        }
                    }
                }
            }

            return(tasks);
        }
示例#17
0
        private static void RunLoop(RunConfig runConfig)
        {
            var runners = runConfig.GetRunners();
            object preRunState = null;
            object preLoopState = null;
            if (runConfig.PreRuns != null) preRunState = runConfig.PreRuns();
            Action<ILocator, int, object, object> run = runConfig.Run;
            Func<ILocator, int, object, object> preLoopRun = runConfig.PreLoops;
            Action<ILocator, object, object> postLoopRun = runConfig.PostLoops;

            for (var l=0; l < RUNS; l++) {
                p().BeginGroup((l+1).ToString());
                foreach (var r in runners) {
                    if (preLoopRun != null) preLoopState = preLoopRun(r, l, preRunState);

                    var k = new PerfCounter(r.Name); k.Begin();

                    for (var i = 0; i < LOOPS; i++) {
                        run(r, i, preRunState, preLoopState);
                    }

                    k.End(); p().Collect(k);
                    if (postLoopRun != null) postLoopRun(r, preRunState, preLoopState);
                }
                p().EndGroup();
            }
            p().Flush();
            if (runConfig.PostRuns != null) runConfig.PostRuns(preRunState);
        }
示例#18
0
 public CronService(ILogger logger, AppConfig appConfig, RunConfig runConfig)
 {
     this.logger    = logger ?? throw new ArgumentNullException(nameof(logger));
     this.appConfig = appConfig ?? throw new ArgumentNullException(nameof(appConfig));
     this.runConfig = runConfig ?? throw new ArgumentNullException(nameof(runConfig));
 }
示例#19
0
 private void UpdateStatus(bool isRunning, bool resultsAvailable, string message, RunConfig runConfig)
 {
     this.status.IsRunning        = isRunning;
     this.status.ResultsAvailable = resultsAvailable;
     this.status.Message          = message;
     this.status.NumberOfSteps    = runConfig.NumberOfSteps;
     this.status.ImageWidth       = runConfig.TargetBitmap.Width;
     this.status.ImageHeight      = runConfig.TargetBitmap.Height;
 }
示例#20
0
        public void Run(RunConfig runConfig)
        {
            // Create a new run instance
            this.runInstance = Task.Run(() => {
                // Update engine status
                this.UpdateStatus(true, false, "Engine is running", runConfig);

                // Remove the current engine output directory if it exists
                if (Directory.Exists(Utilities.EngineOutputDirectory))
                {
                    Directory.Delete(Utilities.EngineOutputDirectory, true);
                }

                this.population = new Population(runConfig.TargetBitmap, runConfig);

                // Generate population
                switch (runConfig.GeneType)
                {
                case 1:
                    population.GeneratePixelGenePopulation(runConfig);
                    break;

                case 2:
                    population.GenerateLineGenePopulation(runConfig);
                    break;
                }

                var watch = System.Diagnostics.Stopwatch.StartNew();

                for (int i = 1; i <= runConfig.Generations; i++)
                {
                    // Check to see if this run has been cancelled
                    if (this.cancel)
                    {
                        // Update engine status
                        this.UpdateStatus(false, true, "Engine was cancelled", runConfig);
                        this.cancel = false;
                        break;
                    }

                    this.population.EvaluateFitness();
                    Gene topGene = this.population.NaturalSelection();

                    // Save the image of the top gene
                    Utilities.SaveFittestGeneForGeneration(topGene.Bitmap, i);

                    // If this is the last generation, then save the step images for this top gene
                    if (i == runConfig.Generations)
                    {
                        topGene.SaveSteps();
                    }

                    // Update engine status
                    this.status.CurrentGeneration = i;
                }

                watch.Stop();
                var elapsedMs = watch.ElapsedMilliseconds;
                System.Console.WriteLine($"Milliseconds: {elapsedMs}");

                this.population.EvaluateFitness();
                Utilities.SaveBitmap(this.population.BestGene.Bitmap, $"{Utilities.EngineOutputDirectory}/result.png");

                // Update engine status
                this.UpdateStatus(false, true, "Results are available", runConfig);
                this.cancel = false;
            });
        }
示例#21
0
        public static void HttpGetByThread(RunConfig cfg)
        {
            Thread t = new Thread(new ParameterizedThreadStart(HttpGet));//创建了线程还未开启

            t.Start(cfg);
        }
示例#22
0
 public Estimator Estimator(Action model_fn, RunConfig config)
 => new Estimator(model_fn: model_fn, config: config);
示例#23
0
文件: Program.cs 项目: rmaclean/UXLR
        private static int Run(RunConfig config)
        {
            IEnumerable<SearchContent> searchPieces = new Collection<SearchContent>();
            if (config.CleanLocalisations)
            {
                var keys = XamlKeys.Process(config.LocalisationPropertiesToIgnore, config.LocalisationResources);
                searchPieces = searchPieces.Concat(keys);
            }

            if (config.CleanStyles)
            {
                var styles = XamlStyles.Process(config.StyleResources);
                searchPieces = searchPieces.Concat(styles);
            }

            if (config.CleanImages)
            {
                var images = Images.Process(config.ImageExtensions, config.ImageRecurse, config.ImageFolders);
                searchPieces = searchPieces.Concat(images);
            }

            var xamlFiles = XamlFiles.FindXamlFiles(config.RootFolder);
            searchPieces = XamlFiles.Search(xamlFiles, searchPieces);

            if (config.ImageSearchInResources && config.CleanImages && config.CleanLocalisations)
            {
                searchPieces = XamlKeys.SearchLocalisationValues(config.LocalisationResources, searchPieces);
            }

            if (config.CleanLocalisations)
            {
                PrintResult(searchPieces, SearchContentType.ResourceID, "Resources with not match in XAML files", "No used resources :)");
            }

            if (config.CleanStyles)
            {
                PrintResult(searchPieces, SearchContentType.BasedOnStyle | SearchContentType.StyleKey, "Styles with no match in XAML files", "No used styles :)");
            }

            if (config.CleanImages)
            {
                PrintResult(searchPieces, SearchContentType.Image, "Images with no match in XAML files", "No used images :)");
            }

            if (config.Beep)
            {
                Console.Beep();
            }

            return (int)ExitCode.Success;
        }
示例#24
0
        private static RunConfig ParseArguments(string[] Args)
        {
            var config = new RunConfig();

            config.Port = -1;
            config.Ssl  = false;
            var properties = new Dictionary <string, string>();

            try
            {
                for (var i = 0; i < Args.Length; i++)
                {
                    switch (Args[i])
                    {
                    case "-p":
                        if (config.Port != -1)
                        {
                            PrintUsageAndDie();
                        }
                        try
                        {
                            config.Port = int.Parse(Args[i + 1]);
                            if (config.Port < 1 || config.Port > 65536)
                            {
                                PrintUsageAndDie();
                            }
                        }
                        catch (FormatException)
                        {
                            PrintUsageAndDie();
                        }

                        i++;
                        break;

                    case "-s":
                        config.Ssl = true;
                        break;

                    case "-f":
                        if (config.Executor != null)
                        {
                            PrintUsageAndDie();
                        }
                        config.Executor = new ADOProviderFactoryExecutor(Args[i + 1], properties);
                        i++;
                        break;

                    case "-r":
                        if (config.Executor != null)
                        {
                            PrintUsageAndDie();
                        }
                        config.Executor = new ADOReflectionExecutor(Args[i + 1], Args[i + 2], properties);
                        i += 2;
                        break;

                    case "-P":
                        properties[Args[i + 1]] = Args[i + 2];
                        i += 2;
                        break;
                    }
                }
            }
            catch (IndexOutOfRangeException)
            {
                PrintUsageAndDie();
            }

            if (config.Port == -1)
            {
                config.Port = 1995;
            }

            if (config.Executor == null)
            {
                PrintUsageAndDie();
            }

            return(config);
        }
示例#25
0
 public Estimator Estimator(RunConfig config)
 => new Estimator(config: config);
示例#26
0
文件: Program.cs 项目: rmaclean/UXLR
        public static int Main(string[] args)
        {
            Console.WriteLine("UXLR");
            Console.WriteLine(" \"Clean up your room\" - your Mom");
            var config = new RunConfig();

            for (var count = 0; count < args.Length - 1; count++)
            {
                if (args[count].Equals("/R", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.RootFolder = args[count];
                    continue;
                }

                if (args[count].Equals("/B", StringComparison.OrdinalIgnoreCase))
                {
                    config.Beep = true;
                    continue;
                }

                if (args[count].Equals("/L", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.LocalisationResources = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    config.CleanLocalisations    = true;
                    continue;
                }

                if (args[count].Equals("/S", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.StyleResources = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    config.CleanStyles    = true;
                    continue;
                }

                if (args[count].Equals("/LI", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.LocalisationPropertiesToIgnore = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    continue;
                }

                if (args[count].Equals("/I", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.ImageFolders = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    config.CleanImages  = true;
                    continue;
                }

                if (args[count].Equals("/IE", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.ImageExtensions = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    continue;
                }

                if (args[count].Equals("/IR", StringComparison.OrdinalIgnoreCase))
                {
                    config.ImageRecurse = true;
                    continue;
                }

                if (args[count].Equals("/IIR", StringComparison.OrdinalIgnoreCase))
                {
                    config.ImageSearchInResources = true;
                    continue;
                }
            }

            if (string.IsNullOrWhiteSpace(config.RootFolder) || (!config.CleanLocalisations && !config.CleanStyles && !config.CleanImages))
            {
                ShowHelp();
                return((int)ExitCode.ShowHelp);
            }

            if (config.CleanLocalisations && (config.LocalisationResources == null || config.LocalisationResources.Length == 0))
            {
                ShowHelp();
                return((int)ExitCode.ShowHelp);
            }

            if (config.CleanStyles && (config.StyleResources == null || config.StyleResources.Length == 0))
            {
                ShowHelp();
                return((int)ExitCode.ShowHelp);
            }

            if (config.CleanImages && (config.ImageFolders == null || config.ImageFolders.Length == 0))
            {
                ShowHelp();
                return((int)ExitCode.ShowHelp);
            }

            if (config.ImageSearchInResources && (!config.CleanImages || !config.CleanLocalisations))
            {
                ShowHelp();
                return((int)ExitCode.ShowHelp);
            }

            try
            {
                return(Run(config));
            }
            catch (UXLRException ex)
            {
                Console.WriteLine($"ERROR: {ex.Message}");
                return((int)ex.ExitCode);
            }
        }
示例#27
0
 private static bool TryParseArguments(string[] args, out RunConfig runConfig)
 {
     throw new NotImplementedException();
 }
示例#28
0
文件: Program.cs 项目: rmaclean/UXLR
        public static int Main(string[] args)
        {
            Console.WriteLine("UXLR");
            Console.WriteLine(" \"Clean up your room\" - your Mom");
            var config = new RunConfig();
            for (var count = 0; count < args.Length - 1; count++)
            {
                if (args[count].Equals("/R", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.RootFolder = args[count];
                    continue;
                }

                if (args[count].Equals("/B", StringComparison.OrdinalIgnoreCase))
                {
                    config.Beep = true;
                    continue;
                }

                if (args[count].Equals("/L", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.LocalisationResources = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    config.CleanLocalisations = true;
                    continue;
                }

                if (args[count].Equals("/S", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.StyleResources = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    config.CleanStyles = true;
                    continue;
                }

                if (args[count].Equals("/LI", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.LocalisationPropertiesToIgnore = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    continue;
                }

                if (args[count].Equals("/I", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.ImageFolders = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    config.CleanImages = true;
                    continue;
                }

                if (args[count].Equals("/IE", StringComparison.OrdinalIgnoreCase))
                {
                    count++;
                    config.ImageExtensions = args[count].Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    continue;
                }

                if (args[count].Equals("/IR", StringComparison.OrdinalIgnoreCase))
                {
                    config.ImageRecurse = true;
                    continue;
                }

                if (args[count].Equals("/IIR", StringComparison.OrdinalIgnoreCase))
                {
                    config.ImageSearchInResources = true;
                    continue;
                }
            }

            if (string.IsNullOrWhiteSpace(config.RootFolder) || (!config.CleanLocalisations && !config.CleanStyles && !config.CleanImages))
            {
                ShowHelp();
                return (int)ExitCode.ShowHelp;
            }

            if (config.CleanLocalisations && (config.LocalisationResources == null || config.LocalisationResources.Length == 0))
            {
                ShowHelp();
                return (int)ExitCode.ShowHelp;
            }

            if (config.CleanStyles && (config.StyleResources == null || config.StyleResources.Length == 0))
            {
                ShowHelp();
                return (int)ExitCode.ShowHelp;
            }

            if (config.CleanImages && (config.ImageFolders == null || config.ImageFolders.Length == 0))
            {
                ShowHelp();
                return (int)ExitCode.ShowHelp;
            }

            if (config.ImageSearchInResources && (!config.CleanImages || !config.CleanLocalisations))
            {
                ShowHelp();
                return (int)ExitCode.ShowHelp;
            }

            try
            {
                return Run(config);
            }
            catch (UXLRException ex)
            {
                Console.WriteLine($"ERROR: {ex.Message}");
                return (int)ex.ExitCode;
            }
        }