[Pywikipedia-l] SVN: [4818] trunk/pywikipedia

rotem at svn.wikimedia.org rotem at svn.wikimedia.org
Sat Jan 5 18:23:44 UTC 2008


Revision: 4818
Author:   rotem
Date:     2008-01-05 18:23:43 +0000 (Sat, 05 Jan 2008)

Log Message:
-----------
Moving the obsolete language check before the check if the language code is listed, to make it possible to create a language without the obsolete languages in the langs variable. Raising a KeyError when a user tries to create a site using an obsolete language code. Removing the obsolete language codes from the self.langs of Wikimedia wikis. Several additional fixes.

Modified Paths:
--------------
    trunk/pywikipedia/families/commons_family.py
    trunk/pywikipedia/families/meta_family.py
    trunk/pywikipedia/families/species_family.py
    trunk/pywikipedia/families/test_family.py
    trunk/pywikipedia/families/wikibooks_family.py
    trunk/pywikipedia/families/wikinews_family.py
    trunk/pywikipedia/families/wikipedia_family.py
    trunk/pywikipedia/families/wikiquote_family.py
    trunk/pywikipedia/families/wikisource_family.py
    trunk/pywikipedia/families/wikiversity_family.py
    trunk/pywikipedia/families/wiktionary_family.py
    trunk/pywikipedia/family.py
    trunk/pywikipedia/wikipedia.py

Modified: trunk/pywikipedia/families/commons_family.py
===================================================================
--- trunk/pywikipedia/families/commons_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/commons_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -31,6 +31,3 @@
 
     def version(self, code):
         return "1.12alpha"
-
-    def shared_image_repository(self, code):
-        return ('commons', 'commons')

Modified: trunk/pywikipedia/families/meta_family.py
===================================================================
--- trunk/pywikipedia/families/meta_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/meta_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -12,7 +12,7 @@
         self.name = 'meta'
         self.langs = {
             'meta': 'meta.wikimedia.org',
-           }
+        }
 
         self.namespaces[4] = {
             '_default': [u'Meta', self.namespaces[4]['_default']],

Modified: trunk/pywikipedia/families/species_family.py
===================================================================
--- trunk/pywikipedia/families/species_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/species_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -12,7 +12,7 @@
         self.name = 'species'
         self.langs = {
             'species': 'species.wikimedia.org',
-           }
+        }
 
         self.namespaces[4] = {
             '_default': [u'Wikispecies', self.namespaces[4]['_default']],

Modified: trunk/pywikipedia/families/test_family.py
===================================================================
--- trunk/pywikipedia/families/test_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/test_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -10,7 +10,7 @@
         self.name = 'test'
         self.langs = {
             'test': 'test.wikipedia.org',
-           }
+        }
 
         self.namespaces[4] = {
             '_default': [u'Wikipedia', self.namespaces[4]['_default']],
@@ -21,3 +21,6 @@
 
     def version(self, code):
         return "1.12alpha"
+
+    def shared_image_repository(self, code):
+        return ('commons', 'commons')

Modified: trunk/pywikipedia/families/wikibooks_family.py
===================================================================
--- trunk/pywikipedia/families/wikibooks_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/wikibooks_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -11,15 +11,6 @@
         family.Family.__init__(self)
         self.name = 'wikibooks'
 
-        self.langs = {
-            'dk':'da.wikibooks.org',
-            'jp':'ja.wikibooks.org',
-            'minnan':'zh-min-nan.wikibooks.org',
-            'nb':'no.wikibooks.org',
-            'zh-cn':'zh.wikibooks.org',
-            'zh-tw':'zh.wikibooks.org'
-            }
-
         for lang in self.knownlanguages:
             self.langs[lang] = '%s.wikibooks.org' % lang
 

Modified: trunk/pywikipedia/families/wikinews_family.py
===================================================================
--- trunk/pywikipedia/families/wikinews_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/wikinews_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -13,7 +13,7 @@
         self.name = 'wikinews'
 
         for lang in self.knownlanguages:
-            self.langs[lang] = lang+'.wikinews.org'
+            self.langs[lang] = '%s.wikinews.org' % lang
 
         # Override defaults
         self.namespaces[2]['pl'] = u'Wikireporter'

Modified: trunk/pywikipedia/families/wikipedia_family.py
===================================================================
--- trunk/pywikipedia/families/wikipedia_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/wikipedia_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -12,18 +12,8 @@
         family.Family.__init__(self)
         self.name = 'wikipedia'
 
-        self.langs = {
-            'dk':'da.wikipedia.org',
-            'jp':'ja.wikipedia.org',
-            'minnan':'zh-min-nan.wikipedia.org',
-            'nb':'no.wikipedia.org',
-            'test':'test.wikipedia.org',
-            'zh-cn':'zh.wikipedia.org',
-            'zh-tw':'zh.wikipedia.org',
-        }
         for lang in self.knownlanguages:
-            if lang not in self.langs:
-                self.langs[lang] = lang+'.wikipedia.org'
+            self.langs[lang] = '%s.wikipedia.org' % lang
 
         # Override defaults
         self.namespaces[2]['cs'] = u'Wikipedista'
@@ -723,7 +713,7 @@
             'ru','fi','no','zh','tr','eo','sk','cs','ca','ro',
             'hu','da','id','vo','lt','sl','lmo','uk','he','et',
             'hr','sr','ceb','bg','ko','gl','nn','ar','te','vi',
-            'ms','bs','eu','simple','new','el','th','is','lb','sq',            
+            'ms','bs','eu','simple','new','el','th','is','lb','sq',
             'fa','az','br','io','la','bpy','su','nap','sh','cy',
             'ka','bn','scn','nds','lv','jv','oc','ku','pms','wa',
             'ast','hi','af','roa-tara','mr','mk','ta','ht','ksh','an',

Modified: trunk/pywikipedia/families/wikiquote_family.py
===================================================================
--- trunk/pywikipedia/families/wikiquote_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/wikiquote_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -11,14 +11,6 @@
         family.Family.__init__(self)
         self.name = 'wikiquote'
 
-        self.langs = {
-            'dk':'da.wikiquote.org',
-            'jp':'ja.wikiquote.org',
-            'minnan':'zh-min-nan.wikiquote.org',
-            'nb':'no.wikiquote.org',
-            'zh-cn':'zh.wikiquote.org',
-            'zh-tw':'zh.wikiquote.org'
-            }
         self.languages_by_size = [
                      'en','de','pl','it','sk','ru','pt','bs','bg','sl',
                      'es','tr','he','zh','id','sv','lt','ja','no','hu',
@@ -31,7 +23,7 @@
                      'hy','ga','kk','ks','kw','tk',]
 
         for lang in self.languages_by_size:
-            self.langs[lang] = lang+'.wikiquote.org'
+            self.langs[lang] = '%s.wikiquote.org' % lang
 
         # Most namespaces are inherited from family.Family.
         # Translation used on all wikis for the different namespaces.

Modified: trunk/pywikipedia/families/wikisource_family.py
===================================================================
--- trunk/pywikipedia/families/wikisource_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/wikisource_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -11,18 +11,10 @@
         self.name = 'wikisource'
 
         self.langs = {
-            '-':'wikisource.org',
-            'dk':'da.wikisource.org',
-            'jp':'ja.wikisource.org',
-            'minnan':'zh-min-nan.wikisource.org',
-            'nb':'no.wikisource.org',
-            'zh-cn':'zh.wikisource.org',
-            'zh-tw':'zh.wikisource.org'
-            }
-
+            '-': 'wikisource.org',
+        }
         for lang in self.knownlanguages:
-            if lang not in self.langs:
-                self.langs[lang] = lang+'.wikisource.org'
+            self.langs[lang] = '%s.wikisource.org' % lang
 
         # Override defaults
         self.namespaces[2]['pl'] = 'Wikiskryba'

Modified: trunk/pywikipedia/families/wikiversity_family.py
===================================================================
--- trunk/pywikipedia/families/wikiversity_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/wikiversity_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -14,10 +14,8 @@
         self.langs = {
             'beta': 'beta.wikiversity.org',
         }
-
         for lang in self.knownlanguages:
-            if lang not in self.langs:
-                self.langs[lang] = lang+'.wikiversity.org'
+            self.langs[lang] = '%s.wikiversity.org' % lang
 
         # Most namespaces are inherited from family.Family.
         # Translation used on all wikis for the different namespaces.

Modified: trunk/pywikipedia/families/wiktionary_family.py
===================================================================
--- trunk/pywikipedia/families/wiktionary_family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/families/wiktionary_family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -11,18 +11,10 @@
     def __init__(self):
         family.Family.__init__(self)
         self.name = 'wiktionary'
-        self.langs = {
-            'dk':'da.wiktionary.org',
-            'jp':'ja.wiktionary.org',
-            'minnan':'zh-min-nan.wiktionary.org',
-            'nb':'no.wiktionary.org',
-            'zh-cn':'zh.wiktionary.org',
-            'zh-tw':'zh.wiktionary.org'
-            }
 
         for lang in self.knownlanguages:
-            if not lang in ['ee','ht','ny', 'se', 'tum']:
-                self.langs[lang] = lang+'.wiktionary.org'
+            if lang not in ['ee','ht','ny', 'se', 'tum']:
+                self.langs[lang] = '%s.wiktionary.org' % lang
 
         # Override defaults
         self.namespaces[2]['pl'] = u'Wikipedysta'

Modified: trunk/pywikipedia/family.py
===================================================================
--- trunk/pywikipedia/family.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/family.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -2409,7 +2409,7 @@
                 'mn', 'os', 'ru', 'sr', 'tg', 'tk', 'udm', 'uk', 'xal'
             ],
             'scand': [
-                'da', 'fo', 'is', 'nb', 'no', 'sv'
+                'da', 'fo', 'is', 'no', 'sv'
             ],
         }
 

Modified: trunk/pywikipedia/wikipedia.py
===================================================================
--- trunk/pywikipedia/wikipedia.py	2008-01-05 17:50:45 UTC (rev 4817)
+++ trunk/pywikipedia/wikipedia.py	2008-01-05 18:23:43 UTC (rev 4818)
@@ -3660,18 +3660,22 @@
             self.family = Family(fam, fatal = False)
         else:
             self.family = fam
-            
+
+        # if we got an outdated language code, use the new one instead.
+        if self.family.obsolete.has_key(self.lang):
+            if self.family.obsolete[self.lang] is not None:
+                self.lang = self.family.obsolete[self.lang]
+            else:
+                # no such language anymore
+                raise KeyError("Language %s in family %s is obsolete" % (self.lang, self.family.name))
+
         if self.lang not in self.languages():
             if self.lang == 'zh-classic' and 'zh-classical' in self.languages():
                 self.lang = 'zh-classical'
                 # ev0l database hack (database is varchar[10] -> zh-classical is cut to zh-classic.
-            else:                
+            else:
                 raise KeyError("Language %s does not exist in family %s"%(self.lang,self.family.name))
 
-        # if we got an outdated language code, use the new one instead.
-        if self.lang in self.family.obsolete and self.family.obsolete[self.lang]:
-            self.lang = self.family.obsolete[self.lang]
-
         self.messages=False
         self._mediawiki_messages = {}
         self.nocapitalize = self.lang in self.family.nocapitalize





More information about the Pywikipedia-l mailing list