Index: trunk/extensions/WikimediaMaintenance/dumpInterwiki.php |
— | — | @@ -89,6 +89,11 @@ |
90 | 90 | 'wikiversity' => new WMFSite( 'wikiversity', 'v', 'wikiversity.org' ), |
91 | 91 | ); |
92 | 92 | |
| 93 | + # Site overrides for wikis whose DB names end in 'wiki' but that really belong to another site |
| 94 | + $siteOverrides = array( |
| 95 | + 'sourceswiki' => 'wikisource', |
| 96 | + ); |
| 97 | + |
93 | 98 | # Extra interwiki links that can't be in the intermap for some reason |
94 | 99 | $extraLinks = array( |
95 | 100 | array( 'm', $this->urlprotocol . '//meta.wikimedia.org/wiki/$1', 1 ), |
— | — | @@ -176,13 +181,18 @@ |
177 | 182 | } else { |
178 | 183 | # Find out which site this DB belongs to |
179 | 184 | $site = false; |
180 | | - foreach ( $sites as $candidateSite ) { |
181 | | - $suffix = $candidateSite->suffix; |
182 | | - if ( preg_match( "/(.*)$suffix$/", $db, $matches ) ) { |
183 | | - $site = $candidateSite; |
184 | | - break; |
| 185 | + if ( isset( $siteOverrides[$db] ) ) { |
| 186 | + $site = $sites[$siteOverrides[$db]]; |
| 187 | + } else { |
| 188 | + foreach ( $sites as $candidateSite ) { |
| 189 | + $suffix = $candidateSite->suffix; |
| 190 | + if ( preg_match( "/(.*)$suffix$/", $db, $matches ) ) { |
| 191 | + $site = $candidateSite; |
| 192 | + break; |
| 193 | + } |
185 | 194 | } |
186 | 195 | } |
| 196 | + |
187 | 197 | $this->makeLink( array( 'iw_prefix' => $db, 'iw_url' => $site->suffix ), "__sites" ); |
188 | 198 | if ( !$site ) { |
189 | 199 | $this->error( "Invalid database $db\n" ); |