예제 #1
0
        private void VerifySeparator(string filePath)
        {
            foreach (var separator in _validSeparators)
            {
                if (filePath.Contains(separator.ToString()))
                {
                    _separator = separator;
                    return;
                }
                if (Directory.Exists(filePath + separator))
                {
                    _separator = separator;
                    return;
                }
            }

            SquashLogger.Error("Cannot find file path separator");
        }
예제 #2
0
        public bool Validate()
        {
            if (_separator == null)
            {
                SquashLogger.Error("File path separator is not defined");
                return(false);
            }

            if (!Directory.Exists(InputDirectory))
            {
                SquashLogger.Error("Input directory does not exist: \"" + InputDirectory + "\"");
                return(false);
            }

            if (!Directory.Exists(OutputDirectory))
            {
                SquashLogger.Error("Output directory does not exist: \"" + OutputDirectory + "\"");
                return(false);
            }

            return(true);
        }
예제 #3
0
        public SquashConfiguration(string configLocation)
        {
            if (!File.Exists(configLocation))
            {
                SquashLogger.Error("Configuration file does not exist");
                return;
            }

            var file = File.ReadAllText(configLocation);

            if (string.IsNullOrWhiteSpace(file))
            {
                SquashLogger.Error("File is empty");
                return;
            }

            SquashConfiguration config = null;

            try
            {
                config = JsonConvert.DeserializeObject <SquashConfiguration>(file);
            }
            catch (Exception ex)
            {
                SquashLogger.Error("Error parsing config file: " + ex.Message);
            }

            if (config == null)
            {
                SquashLogger.Error("Config file is not in the correct format");
                return;
            }

            Title           = config.Title;
            InputDirectory  = config.InputDirectory;
            OutputDirectory = config.OutputDirectory;

            Validate();
        }