/** * Static wrapper for EntityUsageTableBuilder::fillUsageTable * * @param DatabaseUpdater $dbUpdater */ public static function fillUsageTable(DatabaseUpdater $dbUpdater) { $idParser = WikibaseClient::getDefaultInstance()->getEntityIdParser(); $primer = new EntityUsageTableBuilder($idParser, wfGetLB()); $reporter = new ObservableMessageReporter(); $reporter->registerReporterCallback(function ($msg) use($dbUpdater) { $dbUpdater->output("\t{$msg}\n"); }); $primer->setProgressReporter($reporter); $primer->fillUsageTable(); }
/** * @see LoggedUpdateMaintenance::doDBUpdates * * @return boolean */ public function doDBUpdates() { if (!defined('WBC_VERSION')) { $this->output("You need to have Wikibase enabled in order to use this maintenance script!\n\n"); exit; } $startPage = (int) $this->getOption('start-page', 0); $reporter = new ObservableMessageReporter(); $reporter->registerReporterCallback(array($this, 'report')); $builder = new EntityUsageTableBuilder(WikibaseClient::getDefaultInstance()->getEntityIdParser(), wfGetLB(), $this->mBatchSize); $builder->setProgressReporter($reporter); $builder->setExceptionHandler(new ReportingExceptionHandler($reporter)); $builder->fillUsageTable($startPage); return true; }