Пример #1
0
 public YPTool(DirectoryProviderSetting dirProviderSetting,
               Action <Handlers.EventHandlers.FrameworkExceptionEventArgs> frameworkExceptionInvoke)
 {
     this.directoryProviderSetting = dirProviderSetting;
     if (frameworkExceptionInvoke != null)
     {
         this.frameworkExceptionInvoke = frameworkExceptionInvoke;
     }
 }
Пример #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            //Define the directorySettings to be used
            DirectoryProviderSetting.DirectoryProviderSettings _dirSettings = new DirectoryProviderSetting.DirectoryProviderSettings();
            DirectoryProviderSetting _dirSet = _dirSettings.Where(p => p.ServicedCountry == ServicedCountryEnum.Australia).FirstOrDefault();

            //Proceed if setting for Canada exist
            if (_dirSet != null)
            {
                //Define the item to be searched...
                SearchItem _searchItem = new SearchItem()
                {
                    /*
                     * searchItem = "lawyers",
                     * searchLocation = "sydney",
                     */
                    searchItem     = "software company",
                    searchLocation = "sydney",
                    pagesToProcess = 2
                };

                Console.WriteLine(string.Format("Initializing search parameters for YP {0}: \r\nSearching {1} in {2}\r\nProcessing {3}.",
                                                _dirSet.ServicedCountry.ToString(),
                                                _searchItem.searchItem,
                                                _searchItem.searchLocation,
                                                !_searchItem.pagesToProcess.HasValue ? "all of the pages" : _searchItem.pagesToProcess.ToString() + " pages only."));

                //Select the provider to execute this search
                IDirectoryProvider _dirProvider = null;
                switch (_dirSet.ServicedCountry)
                {
                case ServicedCountryEnum.Canada:
                    _dirProvider = new DirectoryProviderCanada(_dirSet);
                    break;

                case ServicedCountryEnum.Australia:
                    _dirProvider = new DirectoryProviderAustralia(_dirSet);
                    break;
                }

                _dirProvider.SearchItem = _searchItem;
                _dirProvider.OnSearchAnalysisStarting += new Core.Handlers.EventHandlers.SearchAnalysisStartingEventHandler(_dirProvider_OnSearchAnalysisStarting);
                _dirProvider.OnSearchAnalysisFinished += new Core.Handlers.EventHandlers.SearchAnalysisFinishedEventHandler(_dirProvider_OnSearchAnalysisFinished);
                //Start or Invoke method StartSearchResultProcess() when OnSearchAnalysisFinished

                _dirProvider.OnProcessStarting     += new Core.Handlers.EventHandlers.ProcessStartingEventHandler(_dirProvider_OnProcessStarting);
                _dirProvider.OnProcessFinished     += new Core.Handlers.EventHandlers.ProcessFinishedEventHandler(_dirProvider_OnProcessFinished);
                _dirProvider.OnUrlPointerProcessed += new Core.Handlers.EventHandlers.UrlPointerProcessedEventHandler(_dirProvider_OnUrlPointerProcessed);
                _dirProvider.OnAdExtracted         += new Core.Handlers.EventHandlers.AdExtractedEventHandler(_dirProvider_OnAdExtracted);
                _dirProvider.OnFrameworkException  += new Core.Handlers.EventHandlers.FrameworkExceptionEventHandler(_dirProvider_OnFrameworkException);

                _dirProvider.AnalyzeSearch();

                new Thread(() =>
                {
                    lock (typeof(Program))
                    {
                        while (true)
                        {
                            Thread.Sleep(1000);
                            Console.Write(@".");

                            if (_finished)
                            {
                                Console.WriteLine("Press ENTER to exit!");
                                break;
                            }
                        }
                    }
                })
                {
                    IsBackground = true
                }
                .Start();

                Console.ReadLine();
                _finished = true;
            }
        }
Пример #3
0
 public YPTool(DirectoryProviderSetting dirProviderSetting)
     : this(dirProviderSetting, null)
 {
 }
 public YPTool(DirectoryProviderSetting dirProviderSetting,
     Action<Handlers.EventHandlers.FrameworkExceptionEventArgs> frameworkExceptionInvoke)
 {
     this.directoryProviderSetting = dirProviderSetting;
     if(frameworkExceptionInvoke != null)
         this.frameworkExceptionInvoke = frameworkExceptionInvoke;
 }
            public YPTool(DirectoryProviderSetting dirProviderSetting)
                : this(dirProviderSetting, null)
            {

            }
 /// <summary>
 /// 
 /// </summary>
 /// <param name="DirectoryProviderSetting"></param>
 public DirectoryProviderBase(DirectoryProviderSetting DirectoryProviderSetting)
 {
     this._DirectoryProviderSetting = DirectoryProviderSetting;
 }
Пример #7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="DirectoryProviderSetting"></param>
 public DirectoryProviderBase(DirectoryProviderSetting DirectoryProviderSetting)
 {
     this._DirectoryProviderSetting = DirectoryProviderSetting;
 }