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

Reply via email to