https://www.mediawiki.org/wiki/Special:Code/MediaWiki/101614

Revision: 101614
Author:   ariel
Date:     2011-11-02 11:08:06 +0000 (Wed, 02 Nov 2011)
Log Message:
-----------
clean up duplicated code, for fixme in r97178

Modified Paths:
--------------
    trunk/phase3/includes/Export.php

Modified: trunk/phase3/includes/Export.php
===================================================================
--- trunk/phase3/includes/Export.php    2011-11-02 10:59:34 UTC (rev 101613)
+++ trunk/phase3/includes/Export.php    2011-11-02 11:08:06 UTC (rev 101614)
@@ -763,7 +763,13 @@
                $this->closeAndRename( $newname, true );
        }
 
-       function closeAndRename( $newname, $open = false ) {
+       function renameOrException( $newname ) {
+                       if (! rename( $this->filename, $newname ) ) {
+                               throw new MWException( __METHOD__ . ": rename 
of file {$this->filename} to $newname failed\n" );
+                       }
+       }
+
+       function checkRenameArgCount( $newname ) {
                if ( is_array( $newname ) ) {
                        if ( count( $newname ) > 1 ) {
                                throw new MWException( __METHOD__ . ": passed 
multiple arguments for rename of single file\n" );
@@ -771,12 +777,15 @@
                                $newname = $newname[0];
                        }
                }
+               return $newname;
+       }
+
+       function closeAndRename( $newname, $open = false ) {
+               $newname = $this->checkRenameArgCount( $newname );
                if ( $newname ) {
                        fclose( $this->handle );
-                       if (! rename( $this->filename, $newname ) ) {
-                               throw new MWException( __METHOD__ . ": rename 
of file {$this->filename} to $newname failed\n" );
-                       }
-                       elseif ( $open ) {
+                       $this->renameOrException( $newname );
+                       if ( $open ) {
                                $this->handle = fopen( $this->filename, "wt" );
                        }
                }
@@ -820,20 +829,12 @@
        }
 
        function closeAndRename( $newname, $open = false ) {
-               if ( is_array( $newname ) ) {
-                       if ( count( $newname ) > 1 ) {
-                               throw new MWException( __METHOD__ . ": passed 
multiple arguments for rename of single file\n" );
-                       } else {
-                               $newname = $newname[0];
-                       }
-               }
+               $newname = $this->checkRenameArgCount( $newname );
                if ( $newname ) {
                        fclose( $this->handle );
                        proc_close( $this->procOpenResource );
-                       if (! rename( $this->filename, $newname ) ) {
-                               throw new MWException( __METHOD__ . ": rename 
of file {$this->filename} to $newname failed\n" );
-                       }
-                       elseif ( $open ) {
+                       $this->renameOrException( $newname );
+                       if ( $open ) {
                                $command = $this->command;
                                $command .=  " > " . wfEscapeShellArg( 
$this->filename );
                                $this->startCommand( $command );
@@ -889,20 +890,12 @@
        }
 
        function closeAndRename( $newname, $open = false ) {
-               if ( is_array( $newname ) ) {
-                       if ( count( $newname ) > 1 ) {
-                               throw new MWException( __METHOD__ . ": passed 
multiple arguments for rename of single file\n" );
-                       } else {
-                               $newname = $newname[0];
-                       }
-               }
+               $newname = $this->checkRenameArgCount( $newname );
                if ( $newname ) {
                        fclose( $this->handle );
                        proc_close( $this->procOpenResource );
-                       if (! rename( $this->filename, $newname ) ) {
-                               throw new MWException( __METHOD__ . ": rename 
of file {$this->filename} to $newname failed\n" );
-                       }
-                       elseif ( $open ) {
+                       $this->renameOrException( $newname );
+                       if ( $open ) {
                                $command = setup7zCommand( $file );
                                $this->startCommand( $command );
                        }


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to