public FileWriteService(ParsingSettings parsingSettings, Element element, CancellationToken tocken,
                                Action <int, int> setProgres, Action <string> uppText, int stopDrowCurrent, int stopDrowAll, Action <Exception> errorLogged)
        {
            this._parsingSettings = parsingSettings;

            this._tocken = tocken;

            this._element = element;

            this._setProgres = setProgres;

            this._uppText = uppText;

            this._stopDrowAll = stopDrowAll;

            this._stopDrowCurrent = stopDrowCurrent;

            this._errorLogged = errorLogged;

            this._fileFormat = "{0} _ {1}";

            this._filePath = Path.Combine(Application.StartupPath, element.FileName);

            this._fileAllPath = Path.Combine(Application.StartupPath, element.FileAllName);

            this._newDraws = new List <StolotoParseResult>();

            this._newDrawsAll = new List <StolotoParseResult>();
        }
示例#2
0
        protected BetsParserHostedService(ILogService logger, INatsConnectionFactory connectionFactory,
                                          ThreadProvider threadProvider, By waitBy, ParsingSettings parsingSettings,
                                          ParsingBookmakerSettings bkSettings)
        {
            _connectionFactory = connectionFactory;
            _waitBy            = waitBy;
            ParsingSettings    = parsingSettings;
            _settings          = bkSettings;

            LogService     = logger;
            ThreadProvider = threadProvider;
        }
示例#3
0
        private static void RegisterServices(ParsingSettings settings)
        {
            var collection = new ServiceCollection();

            collection.AddSingleton <Parser>(provider =>
            {
                switch (settings.ParserType)
                {
                case "default": return(new DefaultParser(settings));

                case "content": return(new ContentLengthConditionParser(settings));

                case "images": return(new ImageLinkParser(settings));

                default: return(new DefaultParser(settings));
                }
            });
            collection.AddSingleton <ParserWorker>();
            collection.AddScoped <IResultWriter, ResultFileWriter>();

            _serviceProvider = collection.BuildServiceProvider();
        }
示例#4
0
        public IFileExtractor BuildFileExtractor(string name)
        {
            var parsingSettings = new ParsingSettings();

            var parser = new JsonFileParser(
                new JsonFactory(),
                new FileHelper(),
                new EmbeddedContentRegexSettings(),
                parsingSettings,
                new ParagraphUnitFactory(),
                new SegmentDataCollector(parsingSettings));

            var fileExtractor = FileTypeManager.BuildFileExtractor(parser, this);

            var processor = new RegexEmbeddedBilingualProcessor(
                new EmbeddedContentVisitor(),
                new EmbeddedContentRegexSettings(),
                new TextProcessor());

            fileExtractor.AddBilingualProcessor(processor);

            return(fileExtractor);
        }
示例#5
0
        static void Main(string[] args)
        {
            string entryUrl   = args.Length >= 1 ? args[0] : String.Empty;
            string parserType = args.Length >= 2 ? args[1] : String.Empty;

            if (string.IsNullOrEmpty(entryUrl))
            {
                Console.WriteLine("Entry URL was not pass");
                Console.ReadLine();
                return;
            }

            ParsingSettings settings = new ParsingSettings(entryUrl, parserType);

            RegisterServices(settings);

            ParserWorker parserWorker = _serviceProvider.GetService <ParserWorker>();

            parserWorker.Parser.OnNewPage   += OnNewPage;
            parserWorker.Parser.OnCompleted += OnCompleted;
            parserWorker.Start().Wait();

            Console.ReadLine();
        }
        /// <summary>
        /// Constructs a instance of Uglify JS minifier
        /// </summary>
        /// <param name="createJsEngineInstance">Delegate that creates an instance of JS engine</param>
        /// <param name="uglifyConfig">Configuration settings of Uglify Minifier</param>
        public UglifyJsMinifier(Func <IJsEngine> createJsEngineInstance, UglifySettings uglifyConfig)
        {
            JsMinifierSettings     jsMinifierConfig     = uglifyConfig.Js;
            ParsingSettings        parsingConfig        = jsMinifierConfig.Parsing;
            CompressionSettings    compressionConfig    = jsMinifierConfig.Compression;
            ManglingSettings       manglingConfig       = jsMinifierConfig.Mangling;
            CodeGenerationSettings codeGenerationConfig = jsMinifierConfig.CodeGeneration;

            ParsingOptions = new ParsingOptions
            {
                BareReturns = parsingConfig.BareReturns,
                Strict      = parsingConfig.Strict
            };

            CompressionOptions = new CompressionOptions
            {
                Angular               = compressionConfig.Angular,
                Booleans              = compressionConfig.Booleans,
                Cascade               = compressionConfig.Cascade,
                CollapseVars          = compressionConfig.CollapseVars,
                Comparisons           = compressionConfig.Comparisons,
                Compress              = compressionConfig.Compress,
                Conditionals          = compressionConfig.Conditionals,
                DeadCode              = compressionConfig.DeadCode,
                DropConsole           = compressionConfig.DropConsole,
                DropDebugger          = compressionConfig.DropDebugger,
                Evaluate              = compressionConfig.Evaluate,
                GlobalDefinitions     = compressionConfig.GlobalDefinitions,
                HoistFunctions        = compressionConfig.HoistFunctions,
                HoistVars             = compressionConfig.HoistVars,
                IfReturn              = compressionConfig.IfReturn,
                JoinVars              = compressionConfig.JoinVars,
                KeepFunctionArgs      = compressionConfig.KeepFunctionArgs,
                KeepInfinity          = compressionConfig.KeepInfinity,
                Loops                 = compressionConfig.Loops,
                NegateIife            = compressionConfig.NegateIife,
                Passes                = compressionConfig.Passes,
                PropertiesDotNotation = compressionConfig.PropertiesDotNotation,
                PureGetters           = compressionConfig.PureGetters,
                PureFunctions         = compressionConfig.PureFunctions,
                ReduceVars            = compressionConfig.ReduceVars,
                Sequences             = compressionConfig.Sequences,
                TopLevel              = compressionConfig.TopLevel,
                TopRetain             = compressionConfig.TopRetain,
                Unsafe                = compressionConfig.Unsafe,
                UnsafeMath            = compressionConfig.UnsafeMath,
                UnsafeProto           = compressionConfig.UnsafeProto,
                UnsafeRegExp          = compressionConfig.UnsafeRegExp,
                Unused                = compressionConfig.Unused
            };

            ManglingOptions = new ManglingOptions
            {
                Eval     = manglingConfig.Eval,
                Except   = manglingConfig.Except,
                Mangle   = manglingConfig.Mangle,
                TopLevel = manglingConfig.TopLevel,
            };

            CodeGenerationOptions = new CodeGenerationOptions
            {
                AsciiOnly            = codeGenerationConfig.AsciiOnly,
                Beautify             = codeGenerationConfig.Beautify,
                Bracketize           = codeGenerationConfig.Bracketize,
                Comments             = codeGenerationConfig.Comments,
                IndentLevel          = codeGenerationConfig.IndentLevel,
                IndentStart          = codeGenerationConfig.IndentStart,
                InlineScript         = codeGenerationConfig.InlineScript,
                KeepQuotedProperties = codeGenerationConfig.KeepQuotedProperties,
                MaxLineLength        = codeGenerationConfig.MaxLineLength,
                PreserveLine         = codeGenerationConfig.PreserveLine,
                QuoteKeys            = codeGenerationConfig.QuoteKeys,
                QuoteStyle           = codeGenerationConfig.QuoteStyle,
                Semicolons           = codeGenerationConfig.Semicolons,
                SpaceColon           = codeGenerationConfig.SpaceColon,
                UnescapeRegexps      = codeGenerationConfig.UnescapeRegexps,
                Width    = codeGenerationConfig.Width,
                WrapIife = codeGenerationConfig.WrapIife
            };

            KeepFunctionNames = jsMinifierConfig.KeepFunctionNames;
            ScrewIe8          = jsMinifierConfig.ScrewIe8;
            Severity          = jsMinifierConfig.Severity;

            if (createJsEngineInstance == null)
            {
                string jsEngineName = uglifyConfig.JsEngine.Name;
                if (string.IsNullOrWhiteSpace(jsEngineName))
                {
                    throw new ConfigurationErrorsException(
                              string.Format(CoreStrings.Configuration_JsEngineNotSpecified,
                                            "uglify",
                                            @"
  * JavaScriptEngineSwitcher.Msie
  * JavaScriptEngineSwitcher.V8
  * JavaScriptEngineSwitcher.ChakraCore",
                                            "MsieJsEngine")
                              );
                }

                createJsEngineInstance = () => JsEngineSwitcher.Instance.CreateEngine(jsEngineName);
            }
            _createJsEngineInstance = createJsEngineInstance;
        }
示例#7
0
 public DefaultParser(ParsingSettings settings) : base(settings)
 {
 }
示例#8
0
 public ContentLengthConditionParser(ParsingSettings settings) : base(settings)
 {
 }
 public ImageLinkParser(ParsingSettings settings) : base(settings)
 {
 }
示例#10
0
 protected Parser(ParsingSettings settings)
 {
     Settings   = settings;
     HttpClient = new HttpClient();
 }