Esempio n. 1
0
        public SniffInfo Sniff(string nativeFilePath, Language language,
                               Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup)
        {
            var sniffer = new Sdl.Sdk.FileTypeSupport.Samples.SimpleText.SimpleTextSniffer();

            return(sniffer.Sniff(nativeFilePath, language, suggestedCodepage, messageReporter, settingsGroup));
        }
Esempio n. 2
0
        public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage,
                               INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup)
        {
            try
            {
                using (var reader = _yamlFactory.CreateYamlTextReader(nativeFilePath))
                {
                    while (reader.Read())
                    {
                    }
                }
            }
            catch (YamlException e)
            {
                messageReporter.ReportMessage(this, nativeFilePath,
                                              ErrorLevel.Error, YamlFileTypeResources.Invalid_Yaml_Format + "(" + e.Message + ")", e.Message);

                return(new SniffInfo {
                    IsSupported = false
                });
            }
            catch (Exception e)
            {
                messageReporter.ReportMessage(this, nativeFilePath,
                                              ErrorLevel.Error, YamlFileTypeResources.Yaml_Could_Not_Be_Validated, e.Message);

                return(new SniffInfo {
                    IsSupported = false
                });
            }

            return(new SniffInfo {
                IsSupported = true
            });
        }
Esempio n. 3
0
        public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage,
                               INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup)
        {
            try
            {
                var input = File.ReadAllText(nativeFilePath);
                JToken.Parse(input);
            }
            catch (JsonException e)
            {
                messageReporter.ReportMessage(this, nativeFilePath,
                                              ErrorLevel.Error, JsonFileTypeResources.Invalid_Json_Format, e.Message);

                return(new SniffInfo {
                    IsSupported = false
                });
            }
            catch (Exception)
            {
                messageReporter.ReportMessage(this, nativeFilePath,
                                              ErrorLevel.Error, JsonFileTypeResources.Json_Could_Not_Be_Validated, string.Empty);

                return(new SniffInfo {
                    IsSupported = false
                });
            }

            return(new SniffInfo {
                IsSupported = true
            });
        }
Esempio n. 4
0
        public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage,
                               Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter,
                               ISettingsGroup settingsGroup)
        {
            var info = new SniffInfo();

            try
            {
                _packageModel = _packageService.GetPackageModel();
                var sourceLanguageExtension = string.Empty;
                if (_packageModel != null)
                {
                    sourceLanguageExtension = _packageModel.LanguagePairs[0].SourceLanguage.ThreeLetterWindowsLanguageName;
                }

                if (File.Exists(nativeFilePath))
                {
                    // call method to check if file is supported
                    info.IsSupported = IsFileSupported(nativeFilePath, sourceLanguageExtension);
                    // call method to determine the file language pair
                    GetFileLanguages(ref info, nativeFilePath);
                }
                else
                {
                    info.IsSupported = true;
                }
            }
            catch (Exception ex)
            {
                Log.Logger.Error($"Sniff method: {ex.Message}\n {ex.StackTrace}");
            }
            return(info);
        }
Esempio n. 5
0
        public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage,
                               Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter,
                               ISettingsGroup settingsGroup)
        {
            var info = new SniffInfo();

            _fileService = new FileService();
            var packageModel            = _packageService.GetPackageModel();
            var sourceLanguageExtension = string.Empty;

            if (packageModel != null)
            {
                sourceLanguageExtension = packageModel.LanguagePairs[0].SourceLanguage.ThreeLetterWindowsLanguageName;
            }

            if (File.Exists(nativeFilePath))
            {
                // call method to check if file is supported
                info.IsSupported = IsFileSupported(nativeFilePath, sourceLanguageExtension);
                // call method to determine the file language pair
                SetFileLanguages(ref info);
            }
            else
            {
                info.IsSupported = false;
            }
            return(info);
        }
 public void SetUp()
 {
     _testLanguage              = new Language();
     _testCodepage              = new Codepage();
     _messageReporterMock       = A.Fake <INativeTextLocationMessageReporter>();
     _settingsGroupMock         = A.Fake <ISettingsGroup>();
     _lineValidationSessionMock = A.Fake <ILineValidationSession>();
 }
        public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage,
                               Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter,
                               ISettingsGroup settingsGroup)
        {
            SniffInfo info = new SniffInfo();

            if (System.IO.File.Exists(nativeFilePath))
            {
                // call method to check if file is supported
                info.IsSupported = IsFileSupported(nativeFilePath);
                // call method to determine the file language pair
                GetFileLanguages(ref info, nativeFilePath);
            }
            else
            {
                info.IsSupported = false;
            }

            return(info);
        }
Esempio n. 8
0
        public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, 
            Codepage suggestedCodepage, INativeTextLocationMessageReporter messageReporter, 
            ISettingsGroup settingsGroup)
        {
            var info = new SniffInfo();

            if (System.IO.File.Exists(nativeFilePath))
            {
                // call method to check if file is supported
                info.IsSupported = IsFileSupported(nativeFilePath);
                // call method to determine the file language pair
                GetFileLanguages(ref info, nativeFilePath);
            }
            else
            {
                info.IsSupported = false;
            }

            return info;
        }
        public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage,
                               INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup)
        {
            SniffInfo fileInfo = new SniffInfo();

            using (StreamReader _reader = new StreamReader(nativeFilePath))
            {
                if (_reader.ReadLine().StartsWith("[Version="))
                {
                    fileInfo.IsSupported = true;
                }
                else
                {
                    fileInfo.IsSupported = false;
                    messageReporter.ReportMessage(this, nativeFilePath,
                                                  ErrorLevel.Error, StringResources.Sniffer_Message,
                                                  StringResources.Sniffer_Location);
                }
            }

            return(fileInfo);
        }
        public SniffInfo Sniff(string nativeFilePath, Language suggestedSourceLanguage, Codepage suggestedCodepage,
                               INativeTextLocationMessageReporter messageReporter, ISettingsGroup settingsGroup)
        {
            var lineValidationSession = _lineParser.StartLineValidationSession();

            using (var extendedStreamReader = _fileHelper.GetExtendedStreamReader(nativeFilePath))
            {
                string currentLine;
                while ((currentLine = extendedStreamReader.ReadLineWithEofLine()) != null)
                {
                    var isValidLine = lineValidationSession.IsValid(currentLine);

                    if (isValidLine)
                    {
                        continue;
                    }

                    var message = string.Format(
                        PoFileTypeResources.Sniffer_Unexpected_Line,
                        extendedStreamReader.CurrentLineNumber + ": " + currentLine,
                        lineValidationSession.NextExpectedLineDescription);

                    messageReporter.ReportMessage(this, nativeFilePath,
                                                  ErrorLevel.Error, message,
                                                  extendedStreamReader.CurrentLineNumber + ": " + currentLine);

                    return(new SniffInfo {
                        IsSupported = false
                    });
                }
            }

            return(new SniffInfo {
                IsSupported = true
            });
        }