Exemplo n.º 1
0
        public override PipelinedCrawlDescription Flow(PipelinedCrawlDescription pipelinedCrawlDescription)
        {
            LinkedListNode <CrawlDescription> node = pipelinedCrawlDescription.CrawlDescriptions.First;

            while (node != null)
            {
                SearchString searchString = _searchStringRepo.Select(
                    node.Value.SearchEngineID, node.Value.RegionID);
                if (searchString != null)
                {
                    string naturalResultParamString = string.Empty;
                    if (node.Value.IsNatural)
                    {
                        naturalResultParamString = searchString.NaturalResultParamString;
                    }

                    string UULE = string.Empty;
                    if (node.Value.CityID > 0)
                    {
                        LocalUULE localUULE = _localUULERepo.Select(node.Value.CityID);
                        if (localUULE != null)
                        {
                            UULE = $"&uule={localUULE.UULE}";
                        }
                    }

                    node.Value.SearchString =
                        $"{searchString.SearchEngine}{searchString.SearchEngineURL}{naturalResultParamString}{UULE}";
                }
                else
                {
                    // mark the node for removal, no
                    // search string exists for the
                    // seid, reid tuple
                    pipelinedCrawlDescription.MarkedForRemoval.Add(node);
                }

                node = node.Next;
            }

            if (_connection != null)
            {
                _connection.Flow(pipelinedCrawlDescription);
            }

            return(pipelinedCrawlDescription);
        }
Exemplo n.º 2
0
 public virtual SearchString Select(int searchStringId)
 {
     return(_searchStringRepo.Select(searchStringId));
 }