Aude has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/354688 )
Change subject: Use PageImage const for property and inject into
PageImagesDataUpdater
......................................................................
Use PageImage const for property and inject into PageImagesDataUpdater
Change-Id: If0d750bcc09fec26d4cc01aec6c1ba938e29b6b5
---
M repo/includes/ParserOutput/EntityParserOutputGeneratorFactory.php
M repo/includes/ParserOutput/PageImagesDataUpdater.php
M repo/tests/phpunit/includes/ParserOutput/PageImagesDataUpdaterTest.php
3 files changed, 17 insertions(+), 9 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/88/354688/1
diff --git a/repo/includes/ParserOutput/EntityParserOutputGeneratorFactory.php
b/repo/includes/ParserOutput/EntityParserOutputGeneratorFactory.php
index a0cf2a1..a01b476 100644
--- a/repo/includes/ParserOutput/EntityParserOutputGeneratorFactory.php
+++ b/repo/includes/ParserOutput/EntityParserOutputGeneratorFactory.php
@@ -4,6 +4,7 @@
use GeoData\GeoData;
use Language;
+use PageImages;
use Serializers\Serializer;
use Wikibase\DataModel\Entity\EntityIdParser;
use Wikibase\DataModel\Services\Entity\PropertyDataTypeMatcher;
@@ -187,8 +188,11 @@
new ImageLinksDataUpdater( $propertyDataTypeMatcher )
);
- if ( !empty( $this->preferredPageImagesProperties ) ) {
- $updaters[] = new PageImagesDataUpdater(
$this->preferredPageImagesProperties );
+ if ( !empty( $this->preferredPageImagesProperties ) &&
class_exists( 'PageImages' ) ) {
+ $updaters[] = new PageImagesDataUpdater(
+ $this->preferredPageImagesProperties,
+ PageImages::PROP_NAME
+ );
}
if ( class_exists( GeoData::class ) ) {
diff --git a/repo/includes/ParserOutput/PageImagesDataUpdater.php
b/repo/includes/ParserOutput/PageImagesDataUpdater.php
index 21ec39e..8248a3b 100644
--- a/repo/includes/ParserOutput/PageImagesDataUpdater.php
+++ b/repo/includes/ParserOutput/PageImagesDataUpdater.php
@@ -27,6 +27,11 @@
/**
* @var string
*/
+ private $pagePropName;
+
+ /**
+ * @var string
+ */
private $bestProperty;
/**
@@ -41,9 +46,11 @@
/**
* @param string[] $imagePropertyIds List of image property id strings,
in order of preference.
+ * @param string $pagePropName PageImages page prop name
*/
- public function __construct( array $imagePropertyIds ) {
+ public function __construct( array $imagePropertyIds, $pagePropName ) {
$this->propertyPriorities = array_flip( array_unique(
array_values( $imagePropertyIds ) ) );
+ $this->pagePropName = $pagePropName;
}
/**
@@ -175,13 +182,10 @@
* @param ParserOutput $parserOutput
*/
public function updateParserOutput( ParserOutput $parserOutput ) {
- // This page property's name is the only "soft dependency" on
the PageImages extension.
- $propertyName = 'page_image';
-
if ( $this->bestFileName === null ) {
- $parserOutput->unsetProperty( $propertyName );
+ $parserOutput->unsetProperty( $this->pagePropName );
} else {
- $parserOutput->setProperty( $propertyName,
$this->bestFileName );
+ $parserOutput->setProperty( $this->pagePropName,
$this->bestFileName );
}
}
diff --git
a/repo/tests/phpunit/includes/ParserOutput/PageImagesDataUpdaterTest.php
b/repo/tests/phpunit/includes/ParserOutput/PageImagesDataUpdaterTest.php
index c41d991..a98016c 100644
--- a/repo/tests/phpunit/includes/ParserOutput/PageImagesDataUpdaterTest.php
+++ b/repo/tests/phpunit/includes/ParserOutput/PageImagesDataUpdaterTest.php
@@ -29,7 +29,7 @@
* @return PageImagesDataUpdater
*/
private function newInstance( array $propertyIds ) {
- return new PageImagesDataUpdater( $propertyIds );
+ return new PageImagesDataUpdater( $propertyIds, 'page_image' );
}
/**
--
To view, visit https://gerrit.wikimedia.org/r/354688
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If0d750bcc09fec26d4cc01aec6c1ba938e29b6b5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Aude <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits