Пример #1
0
 public NzbgetClient(IConfigService configService, IHttpProvider httpProvider, IParsingService parsingService, Logger logger)
 {
     _configService = configService;
     _httpProvider = httpProvider;
     _parsingService = parsingService;
     _logger = logger;
 }
Пример #2
0
		protected void Test(string input, string expected, IMessageSink sink = null, IParsingService parser = null)
		{
			using (ParsingService.PushCurrent(parser ?? LesLanguageService.Value))
			using (LNode.PushPrinter(Ecs.EcsNodePrinter.PrintPlainCSharp)) {
				var c = new TestCompiler(sink ?? _sink, new UString(input));
				c.Run();
				Assert.AreEqual(StripExtraWhitespace(expected), StripExtraWhitespace(c.Output.ToString()));
			}
		}
Пример #3
0
 public TrackedDownloadService(IParsingService parsingService,
     ICacheManager cacheManager,
     IHistoryService historyService,
     Logger logger)
 {
     _parsingService = parsingService;
     _historyService = historyService;
     _cache = cacheManager.GetCache<TrackedDownload>(GetType());
     _logger = logger;
 }
Пример #4
0
		protected virtual MacroProcessor NewLemp(int maxExpand, IParsingService inLang)
		{
			var lemp = new MacroProcessor(MessageSink.Default, typeof(LeMP.Prelude.BuiltinMacros));
			lemp.AddMacros(typeof(LeMP.Prelude.Les.Macros));
			lemp.AddMacros(typeof(LeMP.StandardMacros).Assembly);
			lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP"));
			lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude"));
			if (inLang.FileExtensions.Any(e => e == "les"))
				lemp.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude.Les"));
			lemp.MaxExpansions = maxExpand;
			return lemp;
		}
Пример #5
0
 public SabnzbdClient(IConfigService configService,
                      IHttpProvider httpProvider,
                      ICacheManger cacheManger,
                      IParsingService parsingService,
                      Logger logger)
 {
     _configService = configService;
     _httpProvider = httpProvider;
     _parsingService = parsingService;
     _queueCache = cacheManger.GetCache<IEnumerable<QueueItem>>(GetType(), "queue");
     _logger = logger;
 }
Пример #6
0
        public ImportDecisionMaker(IEnumerable<IRejectWithReason> specifications,
                                   IParsingService parsingService,
                                   IMediaFileService mediaFileService,
                                   IDiskProvider diskProvider,

                                   Logger logger)
        {
            _specifications = specifications;
            _parsingService = parsingService;
            _mediaFileService = mediaFileService;
            _diskProvider = diskProvider;
            _logger = logger;
        }
Пример #7
0
 public CompletedDownloadService(IConfigService configService,
                                 IEventAggregator eventAggregator,
                                 IHistoryService historyService,
                                 IDownloadedEpisodesImportService downloadedEpisodesImportService,
                                 IParsingService parsingService,
                                 Logger logger)
 {
     _configService = configService;
     _eventAggregator = eventAggregator;
     _historyService = historyService;
     _downloadedEpisodesImportService = downloadedEpisodesImportService;
     _parsingService = parsingService;
     _logger = logger;
 }
Пример #8
0
		public static string QuickRun(IParsingService inputLang, int maxExpand, string input, params Assembly[] macroAssemblies)
		{
			var c = new LeMP.TestCompiler(MessageSink.Trace, new UString(input));
			c.Parallel = false;
			c.MaxExpansions = maxExpand;
			c.AddMacros(Assembly.GetExecutingAssembly());
			c.MacroProcessor.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude"));
			c.MacroProcessor.PreOpenedNamespaces.Add(GSymbol.Get("LeMP.Prelude.Les"));
			c.MacroProcessor.PreOpenedNamespaces.Add(Loyc.LLPG.Macros.MacroNamespace);
			foreach (var assembly in macroAssemblies)
				c.AddMacros(assembly);
			using (ParsingService.PushCurrent(inputLang ?? ParsingService.Current))
			using (LNode.PushPrinter(Ecs.EcsNodePrinter.Printer))
				c.Run();
			return c.Output.ToString();
		}
Пример #9
0
 public ImportDecisionMaker(IEnumerable<IImportDecisionEngineSpecification> specifications,
                            IParsingService parsingService,
                            IMediaFileService mediaFileService,
                            IDiskProvider diskProvider,
                            IVideoFileInfoReader videoFileInfoReader,
                            IDetectSample detectSample,
                            Logger logger)
 {
     _specifications = specifications;
     _parsingService = parsingService;
     _mediaFileService = mediaFileService;
     _diskProvider = diskProvider;
     _videoFileInfoReader = videoFileInfoReader;
     _detectSample = detectSample;
     _logger = logger;
 }
 public DownloadedEpisodesImportService(IDiskProvider diskProvider,
                                        IDiskScanService diskScanService,
                                        ISeriesService seriesService,
                                        IParsingService parsingService,
                                        IMakeImportDecision importDecisionMaker,
                                        IImportApprovedEpisodes importApprovedEpisodes,
                                        IDetectSample detectSample,
                                        Logger logger)
 {
     _diskProvider = diskProvider;
     _diskScanService = diskScanService;
     _seriesService = seriesService;
     _parsingService = parsingService;
     _importDecisionMaker = importDecisionMaker;
     _importApprovedEpisodes = importApprovedEpisodes;
     _detectSample = detectSample;
     _logger = logger;
 }
Пример #11
0
		protected void Test(string input, IParsingService inLang, string expected, IParsingService outLang, int maxExpand = 0xFFFF)
		{
			var lemp = NewLemp(maxExpand, inLang);
			
			// The current printer affects the assert macro and contract macros
			using (LNode.SetPrinter((ILNodePrinter)outLang))
			{
				var inputCode = new VList<LNode>(inLang.Parse(input, MessageSink.Default));
				var results = lemp.ProcessSynchronously(inputCode);
				var expectCode = outLang.Parse(expected, MessageSink.Default);
				if (!results.SequenceEqual(expectCode))
				{	// TEST FAILED, print error
					string resultStr = results.Select(n => ((ILNodePrinter)outLang).Print(n)).Join("\n");
					Assert.AreEqual(TestCompiler.StripExtraWhitespace(expected),
									TestCompiler.StripExtraWhitespace(resultStr));
					// In some tests, the text is equal even though the trees are different,
					// typically because of differences in #trivia attributes between the two.
					Console.WriteLine(); // it's OK, but print a hint that this occurred.
				}
			}
		}
Пример #12
0
 /// <summary>Parses a string by invoking <see cref="IParsingService.Tokenize(ICharSource, string, IMessageSink)"/> using an empty string as the file name.</summary>
 public static ILexer <Token> Tokenize(this IParsingService parser, UString input, IMessageSink msgs = null)
 {
     return(parser.Tokenize(input, "", msgs ?? MessageSink.Default));
 }
Пример #13
0
 public TestTorrentRssIndexer(IHttpClient httpClient, IConfigService configService, IParsingService parsingService, ITorrentRssParserFactory torrentRssParserFactory, Logger logger)
     : base(httpClient, configService, parsingService, torrentRssParserFactory, logger)
 {
 }
Пример #14
0
 public PushedCurrent(IParsingService @new)
 {
     OldValue = Current; Current = @new;
 }
Пример #15
0
 public IndexerBase(IIndexerStatusService indexerStatusService, IConfigService configService, IParsingService parsingService, Logger logger)
 {
     _indexerStatusService = indexerStatusService;
     _configService        = configService;
     _parsingService       = parsingService;
     _logger = logger;
 }
Пример #16
0
 public KickassTorrents(IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, IParsingService parsingService, Logger logger)
     : base(httpClient, indexerStatusService, configService, parsingService, logger)
 {
 }
Пример #17
0
 public static IListSource <LNode> ParseFile(this IParsingService parser, string fileName, IMessageSink msgs = null, ParsingMode inputType = null)
 {
     using (var stream = new FileStream(fileName, FileMode.Open))
         return(Parse(parser, stream, fileName, msgs, inputType ?? ParsingMode.File));
 }
Пример #18
0
			public PushedCurrent(IParsingService @new) { OldValue = Default; Default = @new; }
Пример #19
0
 public Torznab(ITorznabCapabilitiesProvider torznabCapabilitiesProvider, IHttpClient httpClient, IConfigService configService, IParsingService parsingService, Logger logger)
     : base(httpClient, configService, parsingService, logger)
 {
     _torznabCapabilitiesProvider = torznabCapabilitiesProvider;
 }
Пример #20
0
 internal Parser(IFileLoader fileLoader, IParsingService parsingService)
 {
     _fileLoader = fileLoader;
     _parsingService = parsingService;
 }
Пример #21
0
 public Parser()
 {
     _fileLoader = new FileLoader();
     _parsingService = new ParsingService();
 }
Пример #22
0
 /// <summary>Opens the specified file and tokenizes it.</summary>
 public static ILexer <Token> TokenizeFile(this IParsingService parser, string fileName, IMessageSink msgs = null)
 {
     using (var stream = new FileStream(fileName, FileMode.Open))
         return(Tokenize(parser, stream, fileName, msgs));
 }
Пример #23
0
 /// <summary>Parses a Stream.</summary>
 public static ILexer <Token> Tokenize(this IParsingService parser, Stream stream, string fileName, IMessageSink msgs = null)
 {
     return(parser.Tokenize(new StreamCharSource(stream), fileName, msgs));
 }
Пример #24
0
 /// <summary>Parses a Stream.</summary>
 public static IListSource <LNode> Parse(this IParsingService parser, Stream stream, string fileName, ParsingMode inputType = null, IMessageSink msgs = null, bool preserveComments = true)
 {
     return(parser.Parse(new StreamCharSource(stream), fileName, msgs, inputType, preserveComments));
 }
Пример #25
0
 public static SavedValue <IParsingService> SetDefault(IParsingService newValue)
 {
     return(new SavedValue <IParsingService>(_default, newValue));
 }
Пример #26
0
 public DownloadDecisionMaker(IEnumerable<IDecisionEngineSpecification> specifications, IParsingService parsingService, Logger logger)
 {
     _specifications = specifications;
     _parsingService = parsingService;
     _logger = logger;
 }
Пример #27
0
 public TorrentRssIndexer(ITorrentRssParserFactory torrentRssParserFactory, IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, IParsingService parsingService, Logger logger)
     : base(httpClient, indexerStatusService, configService, parsingService, logger)
 {
     _torrentRssParserFactory = torrentRssParserFactory;
 }
Пример #28
0
        /// <summary>Parses a string and expects exactly one output.</summary>
        /// <exception cref="InvalidOperationException">The output list was empty or contained multiple nodes.</exception>
        public static LNode ParseSingle(this IParsingService parser, ICharSource text, string fileName, IMessageSink msgs = null, ParsingMode inputType = null, bool preserveComments = true)
        {
            var e = parser.Parse(text, fileName, msgs, inputType, preserveComments);

            return(Single(e));
        }
Пример #29
0
 protected DownloadClientBase(IConfigService configService, IDiskProvider diskProvider, IParsingService parsingService, IRemotePathMappingService remotePathMappingService, Logger logger)
 {
     _configService            = configService;
     _diskProvider             = diskProvider;
     _parsingService           = parsingService;
     _remotePathMappingService = remotePathMappingService;
     _logger = logger;
 }
Пример #30
0
 /// <summary>Parses a string by invoking <see cref="IParsingService.Parse(ICharSource, string, IMessageSink, ParsingMode, bool)"/> using an empty string as the file name.</summary>
 public static IListSource <LNode> Parse(this IParsingService parser, UString input, IMessageSink msgs = null, ParsingMode inputType = null, bool preserveComments = true)
 {
     return(parser.Parse(input, "", msgs ?? MessageSink.Default, inputType, preserveComments));
 }
Пример #31
0
 public NzbgetClient(IConfigService configService, IHttpProvider httpProvider, IParsingService parsingService, Logger logger)
 {
     _configService  = configService;
     _httpProvider   = httpProvider;
     _parsingService = parsingService;
     _logger         = logger;
 }
Пример #32
0
 public StageOneParser(IListSource <Token> tokens, ISourceFile file, IMessageSink messageSink, IParsingService hostLanguage = null)
 {
     ErrorSink = messageSink;
     Reset(tokens, file, hostLanguage);
 }
Пример #33
0
 public IndexerBase(IConfigService configService, IParsingService parsingService, Logger logger)
 {
     _configService  = configService;
     _parsingService = parsingService;
     _logger         = logger;
 }
Пример #34
0
 /// <summary>Sets the current language service, returning a value suitable
 /// for use in a C# using statement, which will restore the old service.</summary>
 /// <param name="newValue">new value of Current</param>
 /// <example><code>
 /// LNode code;
 /// using (var old = ParsingService.PushCurrent(LesLanguageService.Value))
 ///     code = ParsingService.Current.ParseSingle("This is les code;");
 /// </code></example>
 public static PushedCurrent PushCurrent(IParsingService newValue)
 {
     return(new PushedCurrent(newValue));
 }
Пример #35
0
 public DownloadDecisionMaker(IEnumerable <IDecisionEngineSpecification> specifications, IParsingService parsingService, Logger logger)
 {
     _specifications = specifications;
     _parsingService = parsingService;
     _logger         = logger;
 }
Пример #36
0
 public static string Print(this IParsingService self, LNode node)
 {
     return(self.Print(node, MessageSink.Current));
 }
Пример #37
0
 public AirDCPP(IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, IParsingService parsingService, Logger logger)
     : base(httpClient, indexerStatusService, configService, parsingService, logger)
 {
 }
Пример #38
0
        public ParseModule(IParsingService parsingService)
        {
            _parsingService = parsingService;

            GetResourceSingle = Parse;
        }
Пример #39
0
		static void ApplyLanguageOption(IMessageSink sink, string option, string value, ref IParsingService lang)
		{
			if (string.IsNullOrEmpty(value))
				sink.Write(Severity.Error, option, "Missing value");
			else {
				if (!value.StartsWith("."))
					value = "." + value;
				if ((lang = FileNameToLanguage(value)) == null)
					sink.Write(Severity.Error, option, "No language was found for extension «{0}»", value);
			}
		}
Пример #40
0
 public PushedCurrent(IParsingService @new)
 {
     OldValue = Default; Default = @new;
 }
Пример #41
0
		private void Test(string input, IParsingService inLang, string expected, IParsingService outLang, int maxExpand = 0xFFFF)
		{
			var lemp = NewLemp(maxExpand);
			var inputCode = new RVList<LNode>(inLang.Parse(input, _sink));
			var results = lemp.ProcessSynchronously(inputCode);
			var expectCode = outLang.Parse(expected, _sink);
			if (!results.SequenceEqual(expectCode))
			{	// TEST FAILED, print error
				string resultStr = results.Select(n => outLang.Print(n, _sink)).Join("\n");
				Assert.AreEqual(TestCompiler.StripExtraWhitespace(expected), 
				                TestCompiler.StripExtraWhitespace(resultStr));
			}
		}
Пример #42
0
 public static string Print(this IParsingService service, IEnumerable <LNode> nodes, IMessageSink msgs = null, object mode = null, string indentString = "\t", string lineSeparator = "\n")
 {
     return(PrintMultiple(service.Printer, nodes, msgs, mode, indentString, lineSeparator));
 }
Пример #43
0
		/// <summary>Unregisters a language service.</summary>
		/// <param name="service">Service to unregister</param>
		/// <param name="fileExtensions">File extensions affected (null to use the service's own list)</param>
		/// <returns>The number of file extensions unregistered, or 0 if none.</returns>
		/// <remarks>The service for a file extension is not removed unless the given service reference is equal to the registered service.</remarks>
		public static int Unregister(IParsingService service, IEnumerable<string> fileExtensions = null)
		{
			CheckParam.IsNotNull("service", service);
			fileExtensions = fileExtensions ?? service.FileExtensions;
			int oldCount = _registeredLanguages.Count;
			foreach (var fileExt in fileExtensions)
				if (_registeredLanguages.TryGetValue(fileExt, null) == service)
					_registeredLanguages = _registeredLanguages.Without(fileExt);
			return oldCount - _registeredLanguages.Count;
		}
Пример #44
0
 public static SavedValue<IParsingService> SetDefault(IParsingService newValue)
 {
     return new SavedValue<IParsingService>(_default, newValue);
 }
Пример #45
0
			public PushedCurrent(IParsingService @new) { OldValue = Current; Current = @new; }
Пример #46
0
 public DownloadDecisionMaker(IEnumerable<IRejectWithReason> specifications, IParsingService parsingService, Logger logger)
 {
     _specifications = specifications;
     _parsingService = parsingService;
     _logger = logger;
 }
Пример #47
0
        /// <summary>Parses a string and expects exactly one output.</summary>
        /// <exception cref="InvalidOperationException">The output list was empty or contained multiple nodes.</exception>
        public static LNode ParseSingle(this IParsingService parser, UString expr, IMessageSink msgs = null, ParsingMode inputType = null, bool preserveComments = true)
        {
            var e = parser.Parse(expr, msgs, inputType, preserveComments);

            return(Single(e));
        }
Пример #48
0
 public TestIndexer(IHttpClient httpClient, IConfigService configService, IParsingService parsingService, Logger logger)
     : base(httpClient, configService, parsingService, logger)
 {
 }
Пример #49
0
		public InputOutput(ICharSource text, string fileName, IParsingService input = null, LNodePrinter outPrinter = null, string outFileName = null)
		{
			Text = text; FileName = fileName ?? ""; InputLang = input; OutPrinter = outPrinter; OutFileName = outFileName;
		}
Пример #50
0
		/// <summary>Registers a parsing service.</summary>
		/// <param name="service">Service to register.</param>
		/// <param name="fileExtensions">File extensions affected (null to use the service's own list)</param>
		/// <returns>The number of new file extensions registered, or 0 if none.</returns>
		/// <remarks>This method does not replace existing registrations.</remarks>
		public static int Register(IParsingService service, IEnumerable<string> fileExtensions = null)
		{
			CheckParam.IsNotNull("service", service);
			fileExtensions = fileExtensions ?? service.FileExtensions;
			int oldCount = _registeredLanguages.Count;
			foreach (var fileExt_ in service.FileExtensions) {
				var fileExt = fileExt_; // make writable
				if (fileExt.StartsWith("."))
					fileExt = fileExt.Substring(1);
				_registeredLanguages = _registeredLanguages.With(fileExt, service, false);
			}
			return _registeredLanguages.Count - oldCount;
		}
        public static IEnumerable<LNode> ParseNodes(string Text, string Identifier, IParsingService Service, MacroProcessor Processor, IMessageSink Sink)
        {
            var lexer = Service.Tokenize(new UString(Text), Identifier, Sink);

            var nodes = Service.Parse(lexer, Sink);

            return Processor.ProcessSynchronously(new VList<LNode>(nodes));
        }
Пример #52
0
		/// <summary>Sets the current language service, returning a value suitable 
		/// for use in a C# using statement, which will restore the old service.</summary>
		/// <param name="newValue">new value of Current</param>
		/// <example><code>
		/// LNode code;
		/// using (var old = ParsingService.PushCurrent(LesLanguageService.Value))
		///     code = ParsingService.Current.ParseSingle("This `is` LES_code;");
		/// </code></example>
		public static PushedCurrent PushCurrent(IParsingService newValue) { return new PushedCurrent(newValue); }
Пример #53
0
 public HttpIndexerBase(IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, IParsingService parsingService, Logger logger)
     : base(indexerStatusService, configService, parsingService, logger)
 {
     _httpClient = httpClient;
 }
Пример #54
0
 public Wombles(IHttpClient httpClient, IConfigService configService, IParsingService parsingService, Logger logger)
     : base(httpClient, configService, parsingService, logger)
 {
 }
Пример #55
0
        public static LNode ParseSingle(this IParsingService parser, UString expr, IMessageSink msgs = null, ParsingMode inputType = null)
        {
            var e = parser.Parse(expr, msgs, inputType);

            return(Single(e));
        }
Пример #56
0
 public Torznab(INewznabCapabilitiesProvider capabilitiesProvider, IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, IParsingService parsingService, Logger logger)
     : base(httpClient, indexerStatusService, configService, parsingService, logger)
 {
     _capabilitiesProvider = capabilitiesProvider;
 }
 private static IParsingService GetParsingService(ICompilerOptions Options, string Key, IParsingService Default)
 {
     switch (Options.GetOption<string>(Key, "").ToLower())
     {
         case "les":
             return LesLanguageService.Value;
         case "ecs":
             return EcsLanguageService.Value;
         case "cs":
             return EcsLanguageService.WithPlainCSharpPrinter;
         default:
             return Default;
     }
 }