Пример #1
0
 /// <summary>
 /// Initialize the generation context: settings, logger,
 /// tiles configuration and tile generator.
 /// </summary>
 private void Init()
 {
     // Load settings
     try {
         _settings = Settings.LoadOrDefault(Settings.SETTINGS_PATH);
         _logger   = new Logger(_settings.LogFilePath);
     } catch (Exception ex) {
         _msg.InvalidSettings(ex);
         Environment.Exit(11);
         return;
     }
     // Initialize the logger
     _msg.Logger = _logger;
     try {
         _logger.Init();
     } catch (Exception ex) {
         _msg.InvalidLogFile(ex);
         Environment.Exit(12);
         return;
     }
     _logger.Success("Loaded settings");
     // Load tiles configuration
     try {
         _tilesConfig = TileConfig.Load(_settings.TilesConfigPath);
     } catch (Exception ex) {
         _msg.InvalidTilesConfig(ex);
         Environment.Exit(13);
     }
     _logger.Success("Loaded tiles configuration");
     // Initialize the tile generator
     _generator = new TileGenerator(_settings, _logger);
     _logger.Success("Initialized tiles generator");
 }
Пример #2
0
 /// <summary>
 /// Reload the tiles configuration file.
 /// </summary>
 /// <param name="sender">Event sender</param>
 /// <param name="e">Event arguments</param>
 private void ReloadTilesConfigurationFile(object sender, RoutedEventArgs e)
 {
     try {
         _tilesConfig            = TileConfig.Load(_settings.TilesConfigPath);
         _apps                   = null;
         _viewModel.SelectedApps = null;
         _viewModel.IsReady      = false;
         _msg.LoadedTilesConfigFile();
         LookupApplications();
     } catch (Exception ex) {
         _msg.InvalidTilesConfig(ex);
     }
 }
Пример #3
0
        /// <summary>
        /// Load configuration, initialize and run the program.
        /// </summary>
        /// <param name="args">Command line arguments</param>
        /// <returns>Exit code</returns>
        private int Run(string[] args = null)
        {
            var settings = Settings.LoadOrDefault(Settings.SETTINGS_PATH);

            _logger = new Logger(settings.LogFilePath);
            _logger.Init();
            _logger.Success("Loaded settings");
            var tilesConfig = TileConfig.Load(settings.TilesConfigPath);

            _logger.Success("Loaded tiles configuration");
            var generator = new TileGenerator(settings, _logger);

            _logger.Success("Initialized tiles generator");

            var apps = generator.LookupApps(tilesConfig);

            if (apps.Count == 0)
            {
                _logger.Warning("No applications to process, check the shortcuts locations");
                return(1);
            }
            else
            {
                _logger.Success($"Found {apps.Count} applications to process");
                if (args.Length > 0)
                {
                    apps = apps.Keep(args); // Only process given apps
                }
                var processedApps = generator.GenerateTiles(tilesConfig, apps);
                if (processedApps.Count > 0)
                {
                    _logger.Success($"Processed {processedApps.Count}/{apps.Count} application(s) ({string.Join(", ", processedApps)})");
                }
                else
                {
                    _logger.Info("No tiles were generated");
                }
            }

            return(0);
        }