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 <aude.w...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits