Chad has uploaded a new change for review.

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


Change subject: Improved CdbException handling
......................................................................

Improved CdbException handling

Change-Id: I1d3de72238ee788834abaa2d517c7975dc4986ac
---
M BabelLanguageCodes.class.php
M txt2cdb.php
2 files changed, 41 insertions(+), 23 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Babel 
refs/changes/44/97844/1

diff --git a/BabelLanguageCodes.class.php b/BabelLanguageCodes.class.php
index 2ca7bf8..59ba675 100644
--- a/BabelLanguageCodes.class.php
+++ b/BabelLanguageCodes.class.php
@@ -31,8 +31,14 @@
                        return $code;
                }
 
-               $codesCdb = CdbReader::open( $wgBabelLanguageCodesCdb );
-               $codes = $codesCdb->get( $code );
+               $codes = false;
+               try {
+                       $codesCdb = CdbReader::open( $wgBabelLanguageCodesCdb );
+                       $codes = $codesCdb->get( $code );
+               } catch ( CdbException $e ) {
+                       wfDebug( __METHOD__ . ": CdbException caught, error 
message was "
+                               . $e->getMessage() );
+               }
                wfProfileOut( __METHOD__ );
 
                return $codes;
@@ -68,8 +74,14 @@
                        return $names[$code];
                }
 
-               $namesCdb = CdbReader::open( $wgBabelLanguageNamesCdb );
-               $codes = $namesCdb->get( $code );
+               $codes = false;
+               try {
+                       $namesCdb = CdbReader::open( $wgBabelLanguageNamesCdb );
+                       $codes = $namesCdb->get( $code );
+               } catch ( CdbException $e ) {
+                       wfDebug( __METHOD__ . ": CdbException caught, error 
message was "
+                               . $e->getMessage() );
+               }
                wfProfileOut( __METHOD__ );
 
                return $codes;
diff --git a/txt2cdb.php b/txt2cdb.php
index 6d92a3c..8eda7ab 100644
--- a/txt2cdb.php
+++ b/txt2cdb.php
@@ -15,27 +15,33 @@
 
 $names = "$dir/names.cdb";
 $codes = "$dir/codes.cdb";
-$names = CdbWriter::open( $names );
-$codes = CdbWriter::open( $codes );
-
 $fr = fopen( "$dir/codes.txt", 'r' );
-while ( $line = fgets( $fr ) ) {
-       // Format is code1 code2 "language name"
-       $line = explode( ' ', $line, 3 );
-       $iso1 = trim( $line[0] );
-       $iso3 = trim( $line[1] );
-       // Strip quotes
-       $name = substr( trim( $line[2] ), 1, -1 );
-       if ( $iso1 !== '-' ) {
-               $codes->set( $iso1, $iso1 );
-               if ( $iso3 !== '-' ) {
-                       $codes->set( $iso3, $iso1 );
+
+try {
+       $names = CdbWriter::open( $names );
+       $codes = CdbWriter::open( $codes );
+
+       while ( $line = fgets( $fr ) ) {
+               // Format is code1 code2 "language name"
+               $line = explode( ' ', $line, 3 );
+               $iso1 = trim( $line[0] );
+               $iso3 = trim( $line[1] );
+               // Strip quotes
+               $name = substr( trim( $line[2] ), 1, -1 );
+               if ( $iso1 !== '-' ) {
+                       $codes->set( $iso1, $iso1 );
+                       if ( $iso3 !== '-' ) {
+                               $codes->set( $iso3, $iso1 );
+                       }
+                       $names->set( $iso1, $name );
+                       $names->set( $iso3, $name );
+               } elseif ( $iso3 !== '-' ) {
+                       $codes->set( $iso3, $iso3 );
+                       $names->set( $iso3, $name );
                }
-               $names->set( $iso1, $name );
-               $names->set( $iso3, $name );
-       } elseif ( $iso3 !== '-' ) {
-               $codes->set( $iso3, $iso3 );
-               $names->set( $iso3, $name );
        }
+} catch ( CdbException $e ) {
+       throw new MWException( $e->getMessage() );
 }
+
 fclose( $fr );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1d3de72238ee788834abaa2d517c7975dc4986ac
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Babel
Gerrit-Branch: master
Gerrit-Owner: Chad <[email protected]>

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

Reply via email to