public IList <string> GetLinks(string fromUrl, string selector, string textInTitle)
        {
            if (string.IsNullOrEmpty(fromUrl))
            {
                return(new List <string>());
            }

            try
            {
                var timing = ExecutionTimer.GetTiming(() => _httpGet.Get(fromUrl, null, null));
                _logger.Debug("Downloaded standard page", new Dictionary <string, object> {
                    { "Url", fromUrl }
                });
                var parser = new HtmlParser();
                var result = parser.Parse(timing.Result);
                var all    = result.QuerySelectorAll(selector);

                return(all.Where(x => x.TextContent.Contains(textInTitle)).Select(x => x.GetAttribute("href")).ToList());
            }
            catch (Exception ex)
            {
                _logger.Warn(ex, "AngleSharp");
                return(null);
            }
        }
示例#2
0
        public async Task <IndexerResult> IndexEntries(string indexName)
        {
            // Load data
            var timing = ExecutionTimer.GetTiming(() => _providerDataService.LoadDatasetsAsync());

            var source = await timing.Result;

            // Providers
            var providersApi = CreateApiProviders(source).ToList();

            IndexApiProviders(indexName, providersApi);

            // Provider Sites
            var apprenticeshipProviders = CreateApprenticeshipProviders(source).ToList();

            IndexStandards(indexName, apprenticeshipProviders);
            IndexFrameworks(indexName, apprenticeshipProviders);

            var totalAmountDocuments = GetTotalAmountDocumentsToBeIndexed(providersApi, apprenticeshipProviders);

            return(new IndexerResult
            {
                IsSuccessful = IsIndexCorrectlyCreated(indexName, totalAmountDocuments),
                TotalCount = totalAmountDocuments
            });
        }
示例#3
0
        private Stream GetZipStream(string zipFilePath)
        {
            var timer = ExecutionTimer.GetTiming(() => _httpGetFile.GetFile(zipFilePath));

            LogExecutionTime(zipFilePath, timer.ElaspedMilliseconds);
            return(timer.Result);
        }
        public void UpdateMetadataRepository()
        {
            var timing = ExecutionTimer.GetTiming(() => _metaDataWriter.GenerateStandardMetadataFiles());

            _log.Debug("MetaDataHelper.UpdateMetadataRepository", new TimingLogEntry {
                ElaspedMilliseconds = timing.TotalMilliseconds
            });
        }
        public AssessmentOrganisationsDTO GetAssessmentOrganisationsData()
        {
            _log.Debug("Starting to get Assessment Organisations data");
            var timing = ExecutionTimer.GetTiming(() => _assessmentOrgsData.GetAssessmentOrganisationsData());

            _log.Debug("MetaDataHelper.GetAssessmentOrganisationsData", new TimingLogEntry {
                ElaspedMilliseconds = timing.ElaspedMilliseconds
            });

            return(timing.Result);
        }
        public LarsData GetAllApprenticeshipLarsMetaData()
        {
            _log.Debug("Starting to get LARS apprenticeship meta data");
            var timing = ExecutionTimer.GetTiming(() => _larsApprenticeshipReader.GetLarsData());

            _log.Debug("MetaDataHelper.GetAllApprenticeshipLarsMetaData", new TimingLogEntry {
                ElaspedMilliseconds = timing.ElaspedMilliseconds
            });

            return(timing.Result);
        }
示例#7
0
        public FrameworkMetaDataResult Handle(FrameworkMetaDataRequest message)
        {
            _log.Debug("Starting to get LARS frameworks and meta data");
            var timing = ExecutionTimer.GetTiming(() => _metaDataFrameworkReader.GetAllFrameworks());

            _log.Debug("MetaDataHelper.GetAllFrameworkMetaData", new TimingLogEntry {
                ElaspedMilliseconds = timing.ElaspedMilliseconds
            });

            return(new FrameworkMetaDataResult {
                Frameworks = timing.Result
            });
        }
        public StandardMetaDataResult Handle(StandardMetaDataRequest request)
        {
            _log.Debug("Starting to get LARS standards and meta data");
            var timing = ExecutionTimer.GetTiming(() => _metaDataReader.GetStandardsMetaData());

            _log.Debug("MetaDataHelper.GetAllStandardsMetaData", new TimingLogEntry {
                ElaspedMilliseconds = timing.ElaspedMilliseconds
            });

            return(new StandardMetaDataResult {
                Standards = timing.Result
            });
        }
示例#9
0
        public Task <string> GetAsync(string url)
        {
            var timing = ExecutionTimer.GetTiming(() => _httpHelper.GetAsync(url, _appServiceSettings.GitUsername, _appServiceSettings.GitPassword));

            var logEntry = new DependencyLogEntry
            {
                Identifier   = "VstsContent",
                ResponseTime = timing.ElaspedMilliseconds,
                Url          = url
            };

            _logger.Debug("VSTS content", logEntry);

            return(timing.Result);
        }