Exemplo n.º 1
0
        public override void eventUniversal(crawlReportingStageEnum stage, directReporterBase __parent, crawlerDomainTask __task, modelSpiderSiteRecord wRecord)
        {
            switch (stage)
            {
            case crawlReportingStageEnum.DLCPreinitiation:

                wRecord.context.OnTargetPageAttached += new modelSpiderSiteRecordEvent(onTargetPageAttached);

                imbMCRepository mcRepo = mcm.activeRepository;

                imbMCWebSite wRepo = mcRepo.GetWebSite(wRecord.domainInfo, true, loger);
                if (!webSiteReposByDomain.ContainsKey(wRecord.domain))
                {
                    webSiteReposByDomain.Add(wRecord.domain, wRepo);
                }
                else
                {
                    loger.log("DLC sent to CrawlToMC plugin second time: " + wRecord.domain);
                }

                mcRepo.siteTable.AddOrUpdate(wRepo.entry);

                wRepo.SaveDataStructure(mcRepo.folder, loger);
                break;
            }
        }
Exemplo n.º 2
0
        public void eventUniversal(crawlReportingStageEnum stage, directReporterBase __parent, crawlerDomainTask __task, modelSpiderSiteRecord wRecord)
        {
            //if (!IsEnabled) return;

            if (plugins[stage].Any(x => x.IsEnabled))
            {
                foreach (reportPlugIn_base plug in allPlugins)
                {
                    try
                    {
                        switch (stage)
                        {
                        case crawlReportingStageEnum.domain:
                            plug.eventDLCFinished(__parent, __task, wRecord);
                            break;

                        case crawlReportingStageEnum.init:
                            plug.eventDLCInitiated(__parent, __task, wRecord);
                            break;

                        default:
                            plug.eventUniversal(stage, __parent, __task, wRecord);
                            break;
                        }

                        //if (plug is ISpiderPlugInForContent) ((ISpiderPlugInForContent)plug).processAfterResultReceived(wRecord, wTask);
                    }
                    catch (Exception ex)
                    {
                        aceLog.log("Reporting Plugin [" + plug.name + "]:" + plug.GetType().Name + " at " + stage.ToString() + " execution crashed: " + ex.Message);
                        crawlerErrorLog cel = new crawlerErrorLog(ex, null, null, crawlerErrorEnum.indexPlugin);
                        cel.SaveXML();
                    }
                }
            }
            else
            {
            }
        }
Exemplo n.º 3
0
 public override void eventUniversal(crawlReportingStageEnum stage, directReporterBase __parent, crawlerDomainTask __task, modelSpiderSiteRecord wRecord)
 {
 }