Revert "Map dummy language codes in sites"
authorAude <aude.wiki@gmail.com>
Thu, 9 Jun 2016 21:59:00 +0000 (21:59 +0000)
committerAude <aude.wiki@gmail.com>
Thu, 9 Jun 2016 22:02:25 +0000 (22:02 +0000)
This is causing duplicate English Wikipedia interwiki links.
The second link is supposed to be for Simple English, but
instead is linked to English Wikipedia.

This reverts commit 1c1c74adef8a2f5597472e8c049010ff4d42ff64.

Bug: T137404
Change-Id: Ibc1c53ec1b8e643b47ad52f38a8496acfb399d65

includes/ServiceWiring.php
includes/site/DBSiteStore.php
includes/site/FileBasedSiteLookup.php
tests/phpunit/includes/site/DBSiteStoreTest.php
tests/phpunit/includes/site/FileBasedSiteLookupTest.php

index e53b9ed..293e6eb 100644 (file)
@@ -59,9 +59,6 @@ return [
 
        'SiteStore' => function( MediaWikiServices $services ) {
                $rawSiteStore = new DBSiteStore( $services->getDBLoadBalancer() );
-               $rawSiteStore->setLanguageCodeMapping(
-                       $services->getMainConfig()->get( 'DummyLanguageCodes' ) ?: []
-               );
 
                // TODO: replace wfGetCache with a CacheFactory service.
                // TODO: replace wfIsHHVM with a capabilities service.
index c1c10c2..974789f 100644 (file)
@@ -40,11 +40,6 @@ class DBSiteStore implements SiteStore {
         */
        private $dbLoadBalancer;
 
-       /**
-        * @var string[]
-        */
-       private $languageCodeMapping = [];
-
        /**
         * @since 1.27
         *
@@ -101,17 +96,15 @@ class DBSiteStore implements SiteStore {
                );
 
                foreach ( $res as $row ) {
-                       $languageCode = $row->site_language === '' ? null : $row->site_language;
-                       if ( isset( $this->languageCodeMapping[ $languageCode ] ) ) {
-                               $languageCode = $this->languageCodeMapping[ $languageCode ];
-                       }
-
                        $site = Site::newForType( $row->site_type );
                        $site->setGlobalId( $row->site_global_key );
                        $site->setInternalId( (int)$row->site_id );
                        $site->setForward( (bool)$row->site_forward );
                        $site->setGroup( $row->site_group );
-                       $site->setLanguageCode( $languageCode );
+                       $site->setLanguageCode( $row->site_language === ''
+                               ? null
+                               : $row->site_language
+                       );
                        $site->setSource( $row->site_source );
                        $site->setExtraData( unserialize( $row->site_data ) );
                        $site->setExtraConfig( unserialize( $row->site_config ) );
@@ -294,13 +287,4 @@ class DBSiteStore implements SiteStore {
                return $ok;
        }
 
-       /**
-        * Provide an array that maps language codes
-        *
-        * @param string[] $newMapping
-        */
-       public function setLanguageCodeMapping( array $newMapping ) {
-               $this->languageCodeMapping = $newMapping;
-       }
-
 }
index 424d8e6..9654440 100644 (file)
@@ -42,11 +42,6 @@ class FileBasedSiteLookup implements SiteLookup {
         */
        private $cacheFile;
 
-       /**
-        * @var string[]
-        */
-       private $languageCodeMapping = [];
-
        /**
         * @param string $cacheFile
         */
@@ -123,18 +118,13 @@ class FileBasedSiteLookup implements SiteLookup {
         * @return Site
         */
        private function newSiteFromArray( array $data ) {
-               $languageCode = $data['language'];
-               if ( isset( $this->languageCodeMapping[ $languageCode ] ) ) {
-                       $languageCode = $this->languageCodeMapping[ $languageCode ];
-               }
-
                $siteType = array_key_exists( 'type', $data ) ? $data['type'] : Site::TYPE_UNKNOWN;
                $site = Site::newForType( $siteType );
 
                $site->setGlobalId( $data['globalid'] );
                $site->setForward( $data['forward'] );
                $site->setGroup( $data['group'] );
-               $site->setLanguageCode( $languageCode );
+               $site->setLanguageCode( $data['language'] );
                $site->setSource( $data['source'] );
                $site->setExtraData( $data['data'] );
                $site->setExtraConfig( $data['config'] );
@@ -146,13 +136,4 @@ class FileBasedSiteLookup implements SiteLookup {
                return $site;
        }
 
-       /**
-        * Provide an array that maps language codes
-        *
-        * @param string[] $newMapping
-        */
-       public function setLanguageCodeMapping( array $newMapping ) {
-               $this->languageCodeMapping = $newMapping;
-       }
-
 }
index 316fd89..32dd7f2 100644 (file)
@@ -67,20 +67,6 @@ class DBSiteStoreTest extends MediaWikiTestCase {
                }
        }
 
-       /**
-        * @covers DBSiteStore::getSites
-        * @covers DBSiteStore::setLanguageCodeMapping
-        */
-       public function testLanguageCodeMapping() {
-               TestSites::insertIntoDb();
-
-               $store = $this->newDBSiteStore();
-               $store->setLanguageCodeMapping( [ 'no' => 'nb' ] );
-
-               $site = $store->getSite( 'nowiki' );
-               $this->assertEquals( $site->getLanguageCode(), 'nb' );
-       }
-
        /**
         * @covers DBSiteStore::saveSites
         */
index bebda79..7984795 100644 (file)
@@ -98,15 +98,4 @@ class FileBasedSiteLookupTest extends PHPUnit_Framework_TestCase {
                return tempnam( sys_get_temp_dir(), 'mw-test-sitelist' );
        }
 
-       public function testLanguageCodeMapping() {
-               $sites = $this->getSites();
-               $cacheBuilder = $this->newSitesCacheFileBuilder( $sites );
-               $cacheBuilder->build();
-
-               $cache = new FileBasedSiteLookup( $this->cacheFile );
-               $cache->setLanguageCodeMapping( [ 'en' => 'fa' ] );
-
-               $this->assertEquals( $cache->getSite( 'enwiktionary' )->getLanguageCode(), 'fa' );
-       }
-
 }