Exemplo n.º 1
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);
        }
Exemplo n.º 2
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));
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Constructor of class from stream
 /// </summary>
 /// <param name="stream">Stream that send data whom</param>
 /// <param name="stream">Codepage for save string</param>
 public XlsExportBIFF2(Stream stream, Codepage codepage)
 {
     if (stream == null)
         throw new ArgumentNullException("'stream' is null!");
     this.stream = new BinaryWriter(stream);
     this.codepage = codepage;
 }
 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);
        }
Exemplo n.º 7
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;
        }
Exemplo n.º 8
0
        public static void Save()
        {
            XmlElement config = XmlHelper.CreateDocument(RootTag);

            XmlElement dirs = config.EnsureChildElement("Directories");
            {
                dirs.SetString("Game", GameDirectory);
                dirs.SetString("Working", WorkingDirectory);
                dirs.SetString("CVS", CVSDirectory);
            }

            XmlElement reserves = config.EnsureChildElement("Reserves");

            {
                reserves.SetUInt32("Absolute", AbsoluteReserve);
                reserves.SetUInt32("Relative", RelativeReserve);
            }

            UserTags.Save(config.EnsureChildElement("UserTags"));
            Codepage.Serial(config);

            config.GetOwnerDocument().Save(ConfigFile);
        }
Exemplo n.º 9
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
            });
        }
        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);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Auswertung der Optionen
        /// </summary>
        /// <param name="args"></param>
        public void Evaluate(string[] args)
        {
            if (args == null)
            {
                return;
            }
            List <string> InputArray_Tmp = new List <string>();

            try {
                cmd.Parse(args);

                foreach (MyOptions opt in Enum.GetValues(typeof(MyOptions)))  // jede denkbare Option testen
                {
                    int    optcount = cmd.OptionAssignment((int)opt);         // Wie oft wurde diese Option verwendet?
                    string arg;
                    if (optcount > 0)
                    {
                        switch (opt)
                        {
                        case MyOptions.Input:
                            for (int i = 0; i < optcount; i++)
                            {
                                InputArray_Tmp.Add(cmd.StringValue((int)opt, i).Trim());
                            }
                            break;

                        case MyOptions.InputWithSubdirs:
                            if (cmd.ArgIsUsed((int)opt))
                            {
                                InputWithSubdirs = cmd.BooleanValue((int)opt);
                            }
                            else
                            {
                                InputWithSubdirs = true;
                            }
                            break;

                        case MyOptions.InputListfile:
                            InputArray_Tmp.AddRange(System.IO.File.ReadAllLines(cmd.StringValue((int)opt)));
                            for (int i = InputArray_Tmp.Count - 1; i >= 0; i--)
                            {
                                InputArray_Tmp[i] = InputArray_Tmp[i].Trim();
                                if (InputArray_Tmp[i].Length == 0)
                                {
                                    InputArray_Tmp.RemoveAt(i);
                                }
                            }
                            break;

                        case MyOptions.Output:
                            Output = cmd.StringValue((int)opt).Trim();
                            break;

                        case MyOptions.OutputOverwrite:
                            if (cmd.ArgIsUsed((int)opt))
                            {
                                OutputOverwrite = cmd.BooleanValue((int)opt);
                            }
                            else
                            {
                                OutputOverwrite = true;
                            }
                            break;

                        case MyOptions.Info:
                            if (cmd.ArgIsUsed((int)opt))
                            {
                                switch (cmd.UnsignedIntegerValue((int)opt))
                                {
                                case 0: ToDo = ToDoType.Info; break;

                                case 1: ToDo = ToDoType.LongInfo; break;

                                case 2: ToDo = ToDoType.ExtLongInfo; break;

                                default: ToDo = ToDoType.VeryLongInfo; break;
                                }
                            }
                            else
                            {
                                ToDo = ToDoType.Info;
                            }
                            break;

                        case MyOptions.Split:
                            if (cmd.ArgIsUsed((int)opt))
                            {
                                arg = cmd.StringValue((int)opt);
                                if (arg == "r")
                                {
                                    ToDo = ToDoType.SplitRecursive;
                                }
                                else if (arg == "j")
                                {
                                    ToDo = ToDoType.SplitJoin;
                                }
                                else if (arg == "rj" || arg == "jr")
                                {
                                    ToDo = ToDoType.SplitRecursiveJoin;
                                }
                            }
                            else
                            {
                                ToDo = ToDoType.Split;
                            }
                            break;

                        case MyOptions.CreateFiles4Mapsource:
                            for (int i = 0; i < optcount; i++)
                            {
                                if (cmd.ArgIsUsed((int)opt, i))
                                {
                                    arg = cmd.StringValue((int)opt, i);
                                    if (!string.IsNullOrEmpty(arg))
                                    {
                                        if (arg.StartsWith("pid:"))
                                        {
                                            PID.Set(InterpretUInt(arg));
                                        }
                                        else if (arg.StartsWith("fid:"))
                                        {
                                            FID.Set(InterpretUInt(arg));
                                        }
                                        else if (arg.StartsWith("cp:"))
                                        {
                                            Codepage.Set(InterpretUInt(arg));
                                            //} else if (arg.StartsWith("ovno:")) {
                                            //   MapsourceOverviewNo.Set(InterpretUInt(arg));
                                        }
                                        else if (arg.StartsWith("ov:"))
                                        {
                                            MapsourceOverviewfile.Set(arg.Substring(3));
                                        }
                                        else if (arg.StartsWith("typ:"))
                                        {
                                            MapsourceTYPfile.Set(arg.Substring(4));
                                        }
                                        else if (arg.StartsWith("tdb:"))
                                        {
                                            MapsourceTDBfile.Set(arg.Substring(4));
                                        }
                                        else if (arg.StartsWith("mdx:"))
                                        {
                                            MapsourceMDXfile.Set(arg.Substring(4));
                                        }
                                        else if (arg.StartsWith("mdr:"))
                                        {
                                            MapsourceMDRfile.Set(arg.Substring(4));
                                        }
                                        else if (arg.StartsWith("tdb:"))
                                        {
                                            MapsourceTDBfile.Set(arg.Substring(4));
                                        }
                                        else if (arg.StartsWith("mindim:"))
                                        {
                                            MapsourceMinDimension.Set(InterpretUInt(arg));
                                        }
                                        else if (arg.StartsWith("points:"))
                                        {
                                            InterpretTypes(arg, MapsourceOVPointtypes);
                                        }
                                        else if (arg.StartsWith("lines:"))
                                        {
                                            InterpretTypes(arg, MapsourceOVLinetypes);
                                        }
                                        else if (arg.StartsWith("areas:"))
                                        {
                                            InterpretTypes(arg, MapsourceOVAreatypes);
                                        }
                                        else if (arg == "noov")
                                        {
                                            MapsourceNoOverviewfile.Set(true);
                                        }
                                        else if (arg == "notyp")
                                        {
                                            MapsourceNoTYPfile.Set(true);
                                        }
                                        else if (arg == "nomdx")
                                        {
                                            MapsourceNoMDXfile.Set(true);
                                        }
                                        else if (arg == "nomdr")
                                        {
                                            MapsourceNoMDRfile.Set(true);
                                        }
                                        else if (arg == "notdb")
                                        {
                                            MapsourceNoTDBfile.Set(true);
                                        }
                                        else if (arg == "noinst")
                                        {
                                            MapsourceNoInstfiles.Set(true);
                                        }
                                        else
                                        {
                                            throw new Exception("unbekanntes Argument: " + arg);
                                        }
                                    }
                                }
                            }
                            ToDo = ToDoType.CreateFiles4Mapsource;
                            break;

                        case MyOptions.Join:
                            if (cmd.ArgIsUsed((int)opt))
                            {
                                arg = cmd.StringValue((int)opt);
                                if (arg == "device")
                                {
                                    ToDo = ToDoType.JoinDevice;
                                }
                                else if (arg == "tile")
                                {
                                    ToDo = ToDoType.JoinTile;
                                }
                            }
                            else
                            {
                                ToDo = ToDoType.Join;
                            }
                            break;

                        case MyOptions.AnalyzingTypes:
                            switch (cmd.UnsignedIntegerValue((int)opt))
                            {
                            case 1: ToDo = ToDoType.AnalyzingTypesLong; break;

                            default: ToDo = ToDoType.AnalyzingTypes; break;
                            }
                            break;


                        case MyOptions.SetPID:
                            PID.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.SetFID:
                            FID.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.SetCodepage:
                            Codepage.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.SetTDBCopyright:
                            for (int j = 0; j < optcount; j++)
                            {
                                arg = cmd.StringValue((int)opt, j);
                                if (arg.Length < 3)
                                {
                                    throw new Exception("Falscher Aufbau der Copyright-Option '" + arg + "'");
                                }
                                else
                                {
                                    switch (arg[0])
                                    {
                                    case 'S':
                                        TDBCopyrightCodes.Add(new Property((int)GarminCore.Files.File_TDB.SegmentedCopyright.Segment.CopyrightCodes.SourceInformation, true));
                                        break;

                                    case 'C':
                                        TDBCopyrightCodes.Add(new Property((int)GarminCore.Files.File_TDB.SegmentedCopyright.Segment.CopyrightCodes.CopyrightInformation, true));
                                        break;

                                    case '*':
                                        TDBCopyrightCodes.Add(new Property((int)GarminCore.Files.File_TDB.SegmentedCopyright.Segment.CopyrightCodes.Unknown, true));
                                        break;

                                    default:
                                        throw new Exception("Falsche Angabe in der Copyright-Option: '" + arg[0] + "'");
                                    }

                                    switch (arg[1])
                                    {
                                    case 'I':
                                        TDBCopyrightWhereCodes.Add(new Property((int)GarminCore.Files.File_TDB.SegmentedCopyright.Segment.WhereCodes.ProductInformation, true));
                                        break;

                                    case 'P':
                                        TDBCopyrightWhereCodes.Add(new Property((int)GarminCore.Files.File_TDB.SegmentedCopyright.Segment.WhereCodes.Printing, true));
                                        break;

                                    case 'E':
                                        TDBCopyrightWhereCodes.Add(new Property((int)GarminCore.Files.File_TDB.SegmentedCopyright.Segment.WhereCodes.ProductInformationAndPrinting, true));
                                        break;

                                    case '*':
                                        TDBCopyrightWhereCodes.Add(new Property((int)GarminCore.Files.File_TDB.SegmentedCopyright.Segment.WhereCodes.Unknown, true));
                                        break;

                                    default:
                                        throw new Exception("Falsche Angabe in der Copyright-Option: '" + arg[1] + "'");
                                    }

                                    switch (arg[2])
                                    {
                                    case 'N':
                                        string sText = arg.Substring(3).Trim();
                                        if (sText.Length >= 2)
                                        {
                                            if (sText[0] == '"' && sText[sText.Length - 1] == '"')
                                            {
                                                sText = sText.Substring(1, sText.Length - 2);
                                            }
                                        }
                                        TDBCopyrightText.Add(new Property(sText, true));
                                        break;

                                    case 'D':
                                        TDBCopyrightText.Add(new Property(null, false));
                                        break;

                                    case '*':
                                        TDBCopyrightText.Add(new Property(null, true));
                                        break;

                                    default:
                                        throw new Exception("Falsche Angabe in der Copyright-Option: '" + arg[1] + "'");
                                    }
                                }
                            }
                            break;

                        case MyOptions.SetDescription:
                            Description.Set(cmd.StringValue((int)opt));
                            break;

                        case MyOptions.SetTransparent:
                            Transparent.Set(cmd.BooleanValue((int)opt) ? 1 : 0);
                            break;

                        case MyOptions.SetPriority:
                            Priority.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.SetMapFamilyName:
                            MapFamilyName.Set(cmd.StringValue((int)opt));
                            break;

                        case MyOptions.SetMapSeriesName:
                            MapSeriesName.Set(cmd.StringValue((int)opt));
                            break;

                        case MyOptions.SetVersion:
                            Version.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.SetRoutable:
                            Routable.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.SetHighestRoutable:
                            HighestRoutable.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.SetHasDEM:
                            HasDEM.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.SetHasProfile:
                            HasProfile.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.SetMaxCoordBits4Overview:
                            MaxCoordBits4Overview.Set((int)cmd.UnsignedIntegerValue((int)opt));
                            break;

                        case MyOptions.RefreshTDB:
                            ToDo = ToDoType.RefreshTDB;
                            break;

                        case MyOptions.NewTypfile:
                            NewTypfile.Set(cmd.StringValue((int)opt));
                            ToDo = ToDoType.SetNewTypfile;
                            break;

                        case MyOptions.Help:
                            ShowHelp();
                            break;
                        }
                    }
                }

                //TestParameter = new string[cmd.Parameters.Count];
                //cmd.Parameters.CopyTo(TestParameter);

                if (cmd.Parameters.Count > 0)
                {
                    throw new Exception("Es sind keine Argumente sondern nur Optionen erlaubt.");
                }

                Input = new string[InputArray_Tmp.Count];
                InputArray_Tmp.CopyTo(Input);
            } catch (Exception ex) {
                Console.Error.WriteLine(ex.Message);
                ShowHelp();
                throw new Exception("Fehler beim Ermitteln oder Anwenden der Programmoptionen.");
            }
        }
Exemplo n.º 12
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
            });
        }
        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
            });
        }