Addshore has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/394968 )
Change subject: Get page fromdbmaster in Importer::createPostImportEdit
......................................................................
Get page fromdbmaster in Importer::createPostImportEdit
The previous patch was only for the createPostImportRevision method.
Bug: T181391
Change-Id: Ic4ad4ed316943ae5d5f2590363ce46c742a93b6e
---
M src/Services/Importer.php
1 file changed, 32 insertions(+), 26 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/FileImporter
refs/changes/68/394968/1
diff --git a/src/Services/Importer.php b/src/Services/Importer.php
index 0d10dc9..84b3307 100644
--- a/src/Services/Importer.php
+++ b/src/Services/Importer.php
@@ -111,9 +111,9 @@
$this->logger->info( __METHOD__ . ' operations committed.' );
// TODO the below should be an ImportOperation
- $articleIdForUpdate = $this->getArticleIdForUpdate( $importPlan
);
- $this->createPostImportRevision( $importPlan,
$articleIdForUpdate, $user );
- $this->createPostImportEdit( $importPlan, $articleIdForUpdate,
$user );
+ $page = $this->getPageFromImportPlan( $importPlan );
+ $this->createPostImportRevision( $importPlan, $page, $user );
+ $this->createPostImportEdit( $importPlan, $page, $user );
// TODO do we need to call WikiImporter::finishImportPage??
// TODO factor logic in WikiImporter::finishImportPage out so
we can call it
@@ -124,37 +124,44 @@
}
/**
- * T164729 GAID_FOR_UPDATE needed to select for a write
- *
* @param ImportPlan $importPlan
*
- * @return int
+ * @throws RuntimeException
+ * @return WikiPage
*/
- private function getArticleIdForUpdate( ImportPlan $importPlan ) {
- return $importPlan->getTitle()->getArticleID(
Title::GAID_FOR_UPDATE );
- }
-
- /**
- * @param ImportPlan $importPlan
- * @param int $articleIdForUpdate
- * @param User $user
- */
- private function createPostImportRevision(
- ImportPlan $importPlan,
- $articleIdForUpdate,
- User $user
- ) {
- $config = MediaWikiServices::getInstance()->getMainConfig();
+ private function getPageFromImportPlan( ImportPlan $importPlan ) {
/**
- * Pass fromdbmaster as the page has only just been created and
in
+ * T164729 GAID_FOR_UPDATE needed to select for a write
+ * T181391 Pass fromdbmaster as the page has only just been
created and in
* multi db setups slaves will have lag.
*/
- $page = WikiPage::newFromID( $articleIdForUpdate,
'fromdbmaster' );
+ $articleIdForUpdate = $importPlan->getTitle()->getArticleID(
Title::GAID_FOR_UPDATE );
+ $page = WikiPage::newFromID(
+ $articleIdForUpdate,
+ 'fromdbmaster'
+ );
+
if ( $page === null ) {
throw new RuntimeException(
'Failed to get wikipedia to create import edit
with page id: ' . $articleIdForUpdate
);
}
+
+ return $page;
+ }
+
+ /**
+ * @param ImportPlan $importPlan
+ * @param WikiPage $page
+ * @param User $user
+ */
+ private function createPostImportRevision(
+ ImportPlan $importPlan,
+ WikiPage $page,
+ User $user
+ ) {
+ $config = MediaWikiServices::getInstance()->getMainConfig();
+
$editResult = $page->doEditContent(
new \WikitextContent(
$importPlan->getInitialFileInfoText() ),
wfMsgReplaceArgs(
@@ -174,15 +181,14 @@
/**
* @param ImportPlan $importPlan
- * @param int $articleIdForUpdate
+ * @param WikiPage $page
* @param User $user
*/
private function createPostImportEdit(
ImportPlan $importPlan,
- $articleIdForUpdate,
+ WikiPage $page,
User $user
) {
- $page = WikiPage::newFromID( $articleIdForUpdate );
$editResult = $page->doEditContent(
new \WikitextContent( $importPlan->getFileInfoText() ),
$importPlan->getRequest()->getIntendedSummary(),
--
To view, visit https://gerrit.wikimedia.org/r/394968
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic4ad4ed316943ae5d5f2590363ce46c742a93b6e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/FileImporter
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits