Hoo man has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/354470 )

Change subject: Allow creating redirect only dumps with dumpRdf
......................................................................

Allow creating redirect only dumps with dumpRdf

Bug: T98320
Change-Id: I4796d01c592e84fe883380b655f215a76dd49dd6
---
M repo/maintenance/dumpRdf.php
M repo/tests/phpunit/maintenance/dumpRdfTest.php
2 files changed, 39 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/70/354470/1

diff --git a/repo/maintenance/dumpRdf.php b/repo/maintenance/dumpRdf.php
index b11867f..913cbe7 100644
--- a/repo/maintenance/dumpRdf.php
+++ b/repo/maintenance/dumpRdf.php
@@ -79,6 +79,7 @@
                        false,
                        true
                );
+               $this->addOption( 'redirect-only', 'Whether to just dump 
information about redirects.', false, false );
        }
 
        /**
@@ -139,12 +140,18 @@
        }
 
        /**
-        * Returns EntityIdPager::INCLUDE_REDIRECTS.
+        * Returns on of the EntityIdPager::… constants.
         *
         * @return mixed a EntityIdPager::XXX_REDIRECTS constant
         */
        protected function getRedirectMode() {
-               return EntityIdPager::INCLUDE_REDIRECTS;
+               $redirectOnly = $this->getOption( 'redirect-only', false );
+
+               if ( $redirectOnly ) {
+                       return EntityIdPager::ONLY_REDIRECTS;
+               } else {
+                       return EntityIdPager::INCLUDE_REDIRECTS;
+               }
        }
 
        /**
diff --git a/repo/tests/phpunit/maintenance/dumpRdfTest.php 
b/repo/tests/phpunit/maintenance/dumpRdfTest.php
index 45a80fc..3807efb 100644
--- a/repo/tests/phpunit/maintenance/dumpRdfTest.php
+++ b/repo/tests/phpunit/maintenance/dumpRdfTest.php
@@ -39,6 +39,7 @@
 use Wikibase\Repo\Store\Sql\SqlEntityIdPagerFactory;
 use Wikibase\Repo\Tests\Store\MockEntityIdPager;
 use Wikibase\Repo\WikibaseRepo;
+use Wikimedia\TestingAccessWrapper;
 
 /**
  * @covers Wikibase\DumpRdf
@@ -192,6 +193,35 @@
        }
 
        /**
+        * @dataProvider getRedirectModeProvider
+        */
+       public function testGetRedirectMode( $expected, $redirectOnly ) {
+               $dumpScript = TestingAccessWrapper::newFromObject( new 
DumpRdf() );
+
+               $dumpArgv = [ 0 => 'foo' ];
+               if ( $redirectOnly ) {
+                       $dumpArgv[] = '--redirect-only';
+               }
+
+               $dumpScript->loadWithArgv( $dumpArgv );
+
+               $this->assertSame( $expected, $dumpScript->getRedirectMode() );
+       }
+
+       public function getRedirectModeProvider() {
+               return [
+                       [
+                               EntityIdPager::INCLUDE_REDIRECTS,
+                               false
+                       ],
+                       [
+                               EntityIdPager::ONLY_REDIRECTS,
+                               true
+                       ]
+               ];
+       }
+
+       /**
         * @return PropertyDataTypeLookup
         */
        private function getMockPropertyDataTypeLookup() {

-- 
To view, visit https://gerrit.wikimedia.org/r/354470
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4796d01c592e84fe883380b655f215a76dd49dd6
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Hoo man <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to