Beispiel #1
0
        public static POParseResult Parse(this POParser @this, string input)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            using (var reader = new StringReader(input))
                return(@this.Parse(reader));
        }
Beispiel #2
0
        public static POParseResult Parse(this POParser @this, Stream input)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            var reader = new StreamReader(input);

            return(@this.Parse(reader));
        }
Beispiel #3
0
        public static POParseResult Parse(this POParser parser, Stream input, Encoding encoding)
        {
            if (parser == null)
            {
                throw new ArgumentNullException(nameof(parser));
            }

            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            var reader = new StreamReader(input, encoding);

            return(parser.Parse(reader));
        }
Beispiel #4
0
        public static Encoding DetectEncoding(Stream stream)
        {
            var reader = new StreamReader(stream, Encoding.GetEncoding("ASCII"), detectEncodingFromByteOrderMarks: true);

            var parser = new POParser(new POParserSettings {
                ReadHeaderOnly = true, ReadContentTypeHeaderOnly = true
            });
            POParseResult result = parser.Parse(reader);

            if (!result.Success)
            {
                return(null);
            }

            return
                (result.Catalog.Encoding != null?
                 Encoding.GetEncoding(result.Catalog.Encoding) :
                     reader.CurrentEncoding);
        }