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; } }
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 { } }
public override void eventUniversal(crawlReportingStageEnum stage, directReporterBase __parent, crawlerDomainTask __task, modelSpiderSiteRecord wRecord) { }