Adamw has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/122664

Change subject: Add --supplementary flag to generateJsonI18n
......................................................................

Add --supplementary flag to generateJsonI18n

Usage:
        php maintenance/generateJsonI18n.php \
                --extension DonationInterface --supplementary
Recursively searches the DonationInterface extension for i18n files and
performs default conversion on the lot.

Change-Id: I8e61c3d0f34394c0d766cf9532df9ac221ce7405
---
M maintenance/generateJsonI18n.php
1 file changed, 17 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/64/122664/1

diff --git a/maintenance/generateJsonI18n.php b/maintenance/generateJsonI18n.php
index 4b725fc..df95c7b 100644
--- a/maintenance/generateJsonI18n.php
+++ b/maintenance/generateJsonI18n.php
@@ -42,6 +42,8 @@
                        false, true );
                $this->addOption( 'extension', 'Perform default conversion on 
an extension',
                        false, true );
+               $this->addOption( 'supplementary', 'Find supplementary i18n 
files in subdirs and convert those',
+                       false, false );
        }
 
        public function execute() {
@@ -50,6 +52,7 @@
                $phpfile = $this->getArg( 0 );
                $jsondir = $this->getArg( 1 );
                $extension = $this->getOption( 'extension' );
+               $convertSupplementaryI18nFiles = $this->hasOption( 
'supplementary' );
 
                if ( $extension and !$phpfile ) {
                        $phpfile = 
"$IP/extensions/$extension/$extension.i18n.php";
@@ -62,6 +65,18 @@
                }
 
                $this->transformI18nFile( $phpfile, $jsondir );
+
+               if ( $convertSupplementaryI18nFiles ) {
+                       $this->output( "Searching for supplementary i18n 
files...\n" );
+                       $dir_iterator = new RecursiveDirectoryIterator( 
dirname( $phpfile ) );
+                       $iterator = new RecursiveIteratorIterator( 
$dir_iterator, RecursiveIteratorIterator::LEAVES_ONLY );
+                       foreach ( $iterator as $path => $fileObject ) {
+                               if ( preg_match( "/\.i18n\.php$/", 
$fileObject->getFilename() ) ) {
+                                       $this->output( "Converting $path.\n" );
+                                       $this->transformI18nFile( $path );
+                               }
+                       }
+               }
        }
 
        public function transformI18nFile( $phpfile, $jsondir = null ) {
@@ -76,7 +91,8 @@
                }
 
                if ( !is_readable( $phpfile ) ) {
-                       $this->error( "Error reading $phpfile\n", 1 );
+                       $this->error( "Error reading $phpfile\n" );
+                       return;
                }
                include $phpfile;
                $phpfileContents = file_get_contents( $phpfile );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8e61c3d0f34394c0d766cf9532df9ac221ce7405
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Adamw <[email protected]>

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

Reply via email to