[Pywikipedia-l] SVN: [6323] branches/rewrite/pywikibot

russblau at svn.wikimedia.org russblau at svn.wikimedia.org
Wed Feb 4 16:30:27 UTC 2009


Revision: 6323
Author:   russblau
Date:     2009-02-04 16:30:26 +0000 (Wed, 04 Feb 2009)

Log Message:
-----------
Merge family files from trunk

Modified Paths:
--------------
    branches/rewrite/pywikibot/families/commons_family.py
    branches/rewrite/pywikibot/families/mediawiki_family.py
    branches/rewrite/pywikibot/families/wikibooks_family.py
    branches/rewrite/pywikibot/families/wikinews_family.py
    branches/rewrite/pywikibot/families/wikipedia_family.py
    branches/rewrite/pywikibot/families/wikiquote_family.py
    branches/rewrite/pywikibot/families/wikisource_family.py
    branches/rewrite/pywikibot/families/wikiversity_family.py
    branches/rewrite/pywikibot/families/wiktionary_family.py
    branches/rewrite/pywikibot/family.py

Added Paths:
-----------
    branches/rewrite/pywikibot/families/osm_family.py

Property Changed:
----------------
    branches/rewrite/pywikibot/families/
    branches/rewrite/pywikibot/family.py


Property changes on: branches/rewrite/pywikibot/families
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/pywikipedia/families:5896-6165,6168-6197
   + /trunk/pywikipedia/families:5896-6165,6168-6197,6212-6322

Modified: branches/rewrite/pywikibot/families/commons_family.py
===================================================================
--- branches/rewrite/pywikibot/families/commons_family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/families/commons_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -15,16 +15,31 @@
         }
 
         self.interwiki_forward = 'wikipedia'
+
+        self.category_redirect_templates = {
+            'commons': (u'Category redirect',
+                        u'Categoryredirect',
+                        u'See cat',
+                        u'Seecat',
+                        u'Catredirect',
+                        u'Cat redirect',
+                        u'CatRed',
+                        u'Cat-red',
+                        u'Catredir',
+                        u'Redirect category'),
+        }
+        
         self.disambiguationTemplates = {
             'commons': [u'Disambig', u'Disambiguation', u'Razločitev',
                         u'Begriffsklärung']
         }
+        
         self.disambcatname = {
             'commons':  u'Disambiguation'
         }
 
     def version(self, code):
-        return '1.14alpha'
+        return '1.15alpha'
 
     def shared_image_repository(self, code):
         return ('commons', 'commons')

Modified: branches/rewrite/pywikibot/families/mediawiki_family.py
===================================================================
--- branches/rewrite/pywikibot/families/mediawiki_family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/families/mediawiki_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -17,7 +17,7 @@
         }
 
     def version(self, code):
-        return '1.14alpha'
+        return '1.15alpha'
 
     def shared_image_repository(self, code):
         return ('commons', 'commons')

Copied: branches/rewrite/pywikibot/families/osm_family.py (from rev 6322, trunk/pywikipedia/families/osm_family.py)
===================================================================
--- branches/rewrite/pywikibot/families/osm_family.py	                        (rev 0)
+++ branches/rewrite/pywikibot/families/osm_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -0,0 +1,65 @@
+# -*- coding: utf-8  -*-
+
+__version__ = '$Id: openttd_family.py 5066 2008-02-21 19:42:30Z russblau $'
+
+import family
+
+# The project wiki of OpenStreetMap (OSM).
+
+class Family(family.Family):
+
+    def __init__(self):
+        family.Family.__init__(self)
+        self.name = 'osm'
+        self.langs = {
+            'en': 'wiki.openstreetmap.org',
+        }
+
+        self.namespaces[4] = {
+            '_default': [u'OpenStreetMap', self.namespaces[4]['_default']],
+        }
+        self.namespaces[5] = {
+            '_default': [u'OpenStreetMap talk', self.namespaces[5]['_default']],
+        }
+        self.namespaces[6] = {
+            '_default': u'Image',
+        }
+        self.namespaces[7] = {
+            '_default': u'Image talk',
+        }
+        self.namespaces[200] = {
+            '_default': u'DE',
+        }
+        self.namespaces[201] = {
+            '_default': u'DE talk',
+        }
+        self.namespaces[202] = {
+            '_default': u'FR',
+        }
+        self.namespaces[203] = {
+            '_default': u'FR talk',
+        }
+        self.namespaces[204] = {
+            '_default': u'ES',
+        }
+        self.namespaces[205] = {
+            '_default': u'ES talk',
+        }
+        self.namespaces[206] = {
+            '_default': u'IT',
+        }
+        self.namespaces[207] = {
+            '_default': u'IT talk',
+        }
+        self.namespaces[208] = {
+            '_default': u'NL',
+        }
+        self.namespaces[209] = {
+            '_default': u'NL talk',
+        }
+
+    def scriptpath(self, code):
+        return ''
+
+    def version(self, code):
+        return "1.13.3"
\ No newline at end of file

Modified: branches/rewrite/pywikibot/families/wikibooks_family.py
===================================================================
--- branches/rewrite/pywikibot/families/wikibooks_family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/families/wikibooks_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -91,7 +91,7 @@
         }
 
     def version(self, code):
-        return '1.14alpha'
+        return '1.15alpha'
 
     def shared_image_repository(self, code):
         return ('commons', 'commons')

Modified: branches/rewrite/pywikibot/families/wikinews_family.py
===================================================================
--- branches/rewrite/pywikibot/families/wikinews_family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/families/wikinews_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -45,7 +45,7 @@
         return 'utf-8'
 
     def version(self, code):
-        return '1.14alpha'
+        return '1.15alpha'
 
     def shared_image_repository(self, code):
         return ('commons', 'commons')

Modified: branches/rewrite/pywikibot/families/wikipedia_family.py
===================================================================
--- branches/rewrite/pywikibot/families/wikipedia_family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/families/wikipedia_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -43,6 +43,82 @@
         for lang in self.languages_by_size:
             self.langs[lang] = '%s.wikipedia.org' % lang
 
+        self.category_redirect_templates = {
+            '_default': (),
+            'ar': (u"تحويل تصنيف",
+                   u"تحويلة تصنيف",
+                   u"Category redirect",
+                   u"تحويلة تصنيف",),
+            'arz': (u'تحويل تصنيف',),
+            'cs': (u'Zastaralá kategorie',),
+            'da': (u'Kategoriomdirigering',),
+            'de': (u'Kategorieweiterleitung',),
+            'en': (u"Category redirect",
+                   u"Category redirect3",
+                   u"Categoryredirect",
+                   u"CR",
+                   u"Catredirect",
+                   u"Cat redirect",
+                   u"Seecat",),
+            'es': (u'Categoría redirigida',),
+            'eu': (u'Kategoria redirect',),
+            'fa': (u'رده بهتر',
+                   u'انتقال رده',
+                   u'فیلم‌های امریکایی',),
+            'fr': (u'Redirection de catégorie',),
+            'hi': (u'श्रेणीअनुप्रेषित',
+                   u'Categoryredirect',),
+            'id': (u'Alih kategori',
+                   u'Alihkategori',),
+            # 'it' has removed its template
+            # 'ja' is discussing to remove this template
+            'ja': (u"Category redirect",),
+            'ko': (u'분류 넘겨주기',),
+            'mk': (u'Премести категорија',),
+            'ms': (u'Pengalihan kategori',
+                   u'Categoryredirect',
+                   u'Category redirect',),
+            'mt': (u'Redirect kategorija',),
+            # 'nl' has removed its template
+            'no': (u"Category redirect",
+                   u"Kategoriomdirigering",
+                   u"Kategori-omdirigering",),
+            'pl': (u'Przekierowanie kategorii',
+                   u'Category redirect',),
+            'pt': (u'Redirecionamento de categoria',
+                   u'Redircat',
+                   u'Redirect-categoria',),
+            'ro': (u'Redirect categorie',),
+            'ru': (u'Переименованная категория',
+                   u'Categoryredirect',
+                   u'CategoryRedirect',
+                   u'Category redirect',
+                   u'Catredirect',),
+            'simple': (u"Category redirect",
+                       u"Catredirect",),
+            'sq': (u'Kategori e zhvendosur',
+                   u'Category redirect',),
+            'tl': (u'Category redirect',),
+            'tr': (u'Kategori yönlendirme',
+                   u'Kat redir',),
+            'uk': (u'Categoryredirect',),
+            'vi': (u'Đổi hướng thể loại',
+                   u'Thể loại đổi hướng',
+                   u'Chuyển hướng thể loại',
+                   u'Categoryredirect',
+                   u'Category redirect',
+                   u'Catredirect',
+                   u'Categoryredirect',),
+            'yi': (u'קאטעגאריע אריבערפירן',),
+            'zh': (u'分类重定向',
+                   u'Cr',
+                   u'CR',
+                   u'Cat-redirect',),
+            'zh-yue': (u'Category redirect',
+                       u'分類彈去',
+                       u'分類跳轉',),
+        }
+        
         self.disambiguationTemplates = {
             # set value to None, instead of a list, to retrieve names from
             # the live wiki ([[MediaWiki:Disambiguationspage]]
@@ -88,7 +164,7 @@
                     u'Homonymie de comtés', u'Internationalisation',
                     u'Isomérie', u'Homonymie de nom romain',
                     u'Paronymie', u'Patronyme', u'Personnes homonymes',
-                    u'Unités homonymes', u'Villes homonymes'],
+                    u'Unités homonymes', u'Villes homonymes', u'Homonymie bateau'],
             'frp': [u'Homonimos'],
             'fy':  [u'Tfs', u'Neibetsjuttings'],
             'ga':  [u'Idirdhealú', u'Disambig'],
@@ -121,7 +197,7 @@
             'lmo': [u'Desambiguació'],
             'ln':  [u'Bokokani'],
             'lt':  None,
-            'mk':  [u'Појаснување', u'Disambig'],
+            'mk':  [u'Појаснување', u'Disambig', u'Geodis'],
             'mo':  [u'Дезамбигуйзаре', u'Disambig'],
             'ms':  [u'Nyahkekaburan', u'Disambig'],
             'mt':  [u'Diżambigwazzjoni'],
@@ -165,7 +241,7 @@
             'ta':  [u'பக்கவழி நெறிப்படுத்தல்'],
             'te':  [u'అయోమయ నివృత్తి', u'వివరమైన అయోమయ నివృత్తి'],
             'tg':  [u'Ибҳомзудоӣ', u'Disambig', u'Рафъи ибҳом', u'Disambiguation'],
-            'th':  [u'แก้กำกวม', u'Disambig'],
+            'th':  [u'แก้กำกวม', u'Disambig', u'คำกำกวม'],
             'tl':  [u'Paglilinaw', u'Disambig'],
             'tr':  [u'Anlam ayrım', u'Disambig', u'Anlam ayrımı'],
             'uk':  [u'Неоднозначність',u'DisambigG', u'Disambig', u'DisambigN',
@@ -383,9 +459,10 @@
                 'als': [104], 
                 'en': [12],
                 'es': [104], 
-                'fr': [104], 
+                'fr': [104],
+                'hr': [102],
                 'lt': [104],
-            }
+            },
         }
         self.crossnamespace[1] = {
             '_default': {
@@ -394,8 +471,9 @@
                 'en': [13],
                 'es': [105],
                 'fr': [105],
+                'hr': [103],
                 'lt': [105],
-            }
+            },
         }
         self.crossnamespace[102] = {
             'pt': {
@@ -404,7 +482,14 @@
                 'es': [0, 104], 
                 'fr': [0, 104], 
                 'lt': [0, 104]
-            }
+            },
+            'hr': {
+                '_default': [0],
+                'als': [0, 104], 
+                'es': [0, 104], 
+                'fr': [0, 104], 
+                'lt': [0, 104]
+            },
         }
         self.crossnamespace[103] = {
             'pt': {
@@ -413,53 +498,68 @@
                 'es': [1, 105],
                 'fr': [1, 105],
                 'lt': [1, 105]
-            }
+            },
+            'hr': {
+                '_default': [1],
+                'als': [1, 105],
+                'es': [1, 105],
+                'fr': [1, 105],
+                'lt': [1, 105]
+            },
         }
         self.crossnamespace[104] = {
             'als': {
                 '_default': [0],
-                'pt': [0, 102]
+                'pt': [0, 102],
+                'hr': [0, 102],
             },
             'es': { 
                 '_default': [0],
-                'pt': [0, 102]
+                'pt': [0, 102],
+                'hr': [0, 102],
             },
             'fr': {
                 '_default': [0],
-                'pt': [0, 102]
+                'pt': [0, 102],
+                'hr': [0, 102],
             },
             'lt': { 
                 '_default': [0],
-                'pt': [0, 102]
-            }
+                'pt': [0, 102],
+                'hr': [0, 102],
+            },
         }
         self.crossnamespace[105] = {
             'als': {
                 '_default': [1],
-                'pt': [0, 103]
+                'pt': [0, 103],
+                'hr': [0, 103],
             },
             'es': {
                 '_default': [1],
-                'pt': [0, 103]
+                'pt': [0, 103],
+                'hr': [0, 103],
             },
             'fr': {
                 '_default': [1],
-                'pt': [0, 103]
+                'pt': [0, 103],
+                'hr': [0, 103],
             },
             'lt': {
                 '_default': [1],
-                'pt': [0, 103]
-            }
+                'pt': [0, 103],
+                'hr': [0, 103],
+            },
         }
         self.crossnamespace[12] = {
             'en': {
                 '_default': [0],
-            }
+            },
         }
         self.crossnamespace[13] = {
             'en': {
                 '_default': [0],
-            }
+            },
         }
     def get_known_families(self, site):
         # In Swedish Wikipedia 's:' is part of page title not a family
@@ -472,7 +572,7 @@
             return self.known_families
 
     def version(self, code):
-        return '1.14alpha'
+        return '1.15alpha'
 
     def dbName(self, code):
         # returns the name of the MySQL database

Modified: branches/rewrite/pywikibot/families/wikiquote_family.py
===================================================================
--- branches/rewrite/pywikibot/families/wikiquote_family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/families/wikiquote_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -102,7 +102,7 @@
         }
 
     def version(self, code):
-        return '1.14alpha'
+        return '1.15alpha'
 
     def code2encodings(self, code):
         """

Modified: branches/rewrite/pywikibot/families/wikisource_family.py
===================================================================
--- branches/rewrite/pywikibot/families/wikisource_family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/families/wikisource_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -58,7 +58,7 @@
         }
 
     def version(self, code):
-        return '1.14alpha'
+        return '1.15alpha'
 
     def shared_image_repository(self, code):
         return ('commons', 'commons')

Modified: branches/rewrite/pywikibot/families/wikiversity_family.py
===================================================================
--- branches/rewrite/pywikibot/families/wikiversity_family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/families/wikiversity_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -22,7 +22,7 @@
             self.langs[lang] = '%s.wikiversity.org' % lang
 
     def version(self,code):
-        return '1.14alpha'
+        return '1.15alpha'
 
     def shared_image_repository(self, code):
         return ('commons', 'commons')

Modified: branches/rewrite/pywikibot/families/wiktionary_family.py
===================================================================
--- branches/rewrite/pywikibot/families/wiktionary_family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/families/wiktionary_family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -50,8 +50,6 @@
             'ch': None, # http://meta.wikimedia.org/wiki/Proposals_for_closing_projects/Closure_of_Chamorro_Wiktionary
             'cr': None, # http://meta.wikimedia.org/wiki/Proposals_for_closing_projects/Closure_of_Nehiyaw_Wiktionary
             'dk': 'da',
-             # Now *RESTORED*. Don't de-comment these two lines, thanks.
-             #'iu': None, # http://meta.wikimedia.org/wiki/Proposals_for_closing_projects/Closure_of_Inuktitut_Wiktionary	
             'jp': 'ja',
             'mh': None, # http://meta.wikimedia.org/wiki/Proposals_for_closing_projects/Closure_of_Marshallese_Wiktionary
             'mo': None, # http://meta.wikimedia.org/wiki/Proposals_for_closing_projects/Closure_of_Moldovan_Wiktionary
@@ -93,7 +91,6 @@
             'en': self.alphabetic,
             'et': self.alphabetic,
             'fi': self.alphabetic,
-            'fr': self.alphabetic,
             'fy': self.fyinterwiki,
             'he': ['en'],
             'hu': ['en'],
@@ -106,7 +103,7 @@
         self.interwiki_attop = ['pl']
 
     def version(self, code):
-        return '1.14alpha'
+        return '1.15alpha'
 
     def shared_image_repository(self, code):
         return ('commons', 'commons')

Modified: branches/rewrite/pywikibot/family.py
===================================================================
--- branches/rewrite/pywikibot/family.py	2009-02-04 16:13:16 UTC (rev 6322)
+++ branches/rewrite/pywikibot/family.py	2009-02-04 16:30:26 UTC (rev 6323)
@@ -55,9 +55,7 @@
         self.servergmtoffset = timedelta()
 
         # letters that can follow a wikilink and are regarded as part of
-        # this link
-        # This depends on the linktrail setting in LanguageXx.php and on
-        # [[MediaWiki:Linktrail]].
+        # this link        # This depends on the linktrail setting in LanguageXx.php and on        # [[MediaWiki:Linktrail]].
         # Note: this is a regular expression.
         self.linktrails = {
            '_default': u'[a-z]*',
@@ -470,6 +468,12 @@
             'zzz wiki':         'zzz wiki',
         }
 
+        # A list of category redirect template names in different languages
+        # Note: It *is* necessary to list template redirects here
+        self.category_redirect_templates = {
+            '_default': []
+        }
+
         # A list of disambiguation template names in different languages
         self.disambiguationTemplates = {
             '_default': []
@@ -634,122 +638,16 @@
                 "ERROR: linktrail in language %(language_code)s unknown"
                            % {'language_code': code})
 
-##    def namespace(self, code, ns_number, fallback='_default', all=False):
-##        if not self.isDefinedNS(ns_number):
-##            raise KeyError(
-##'ERROR: Unknown namespace %(ns_number)d for %(language_code)s:%(ns_name)s'
-##                           % {'ns_number': ns_number,
-##                              'language_code': code,
-##                              'ns_name': self.name})
-##        elif self.isNsI18N(ns_number, code):
-##            v = self.namespaces[ns_number][code]
-##            if type(v) is not list:
-##                v = [v,]
-##            if all and self.isNsI18N(ns_number, fallback):
-##                v2 = self.namespaces[ns_number][fallback]
-##                if type(v2) is list:
-##                    v.extend(v2)
-##                else:
-##                    v.append(v2)
-##        elif fallback and self.isNsI18N(ns_number, fallback):
-##            v = self.namespaces[ns_number][fallback]
-##            if type(v) is not list:
-##                v = [v,]
-##        else:
-##            raise KeyError(
-##'ERROR: title for namespace %(ns_number)d in language %(language_code)s unknown'
-##                           % {'ns_number': ns_number,
-##                              'language_code': code})
-##        if all:
-##            namespaces = list(set(v))
-##            # Lowercase versions of namespaces
-##            if code not in self.nocapitalize:
-##                namespaces.extend([ns[0].lower() + ns[1:]
-##                                   for ns in namespaces
-##                                   if ns and ns[0].lower() != ns[0].upper()])
-##            # Underscore versions of namespaces
-##            namespaces.extend([ns.replace(' ', '_')
-##                               for ns in namespaces if ns and ' ' in ns])
-##            return tuple(namespaces)
-##        else:
-##            return v[0]
-##
-##    def isDefinedNS(self, ns_number):
-##        """Return True if the namespace has been defined in this family."""
-##        
-##        return self.namespaces.has_key(ns_number)
-##
-##    def isNsI18N(self, ns_number, code):
-##        """Return True if the namespace has been internationalized.
-##
-##        (it has a custom entry for a given language)
-##
-##        """
-##        return self.namespaces[ns_number].has_key(code)
-##
-##    def isDefinedNSLanguage(self, ns_number, code, fallback='_default'):
-##        """Return True if the namespace has been defined in this family
-##        for this language or its fallback.
-##        """
-##        if not self.isDefinedNS(ns_number):
-##            return False
-##        elif self.isNsI18N(ns_number, code):
-##            return True
-##        elif fallback and self.isNsI18N(ns_number, fallback):
-##            return True
-##        else:
-##            return False
-##
-##    def normalizeNamespace(self, code, value):
-##        """Given a value, attempt to match it with all available namespaces,
-##        with default and localized versions. Sites may have more than one
-##        way to write the same namespace - choose the first one in the list.
-##        If nothing can be normalized, return the original value.
-##        """
-##        for ns, items in self.namespaces.iteritems():
-##            if items.has_key(code):
-##                v = items[code]
-##            elif items.has_key('_default'):
-##                v = items['_default']
-##            else:
-##                continue
-##            if type(v) is list:
-##                if value in v: return v[0]
-##            else:
-##                if value == v: return v
-##            try:
-##                if value == self.namespace('_default', ns):
-##                    return self.namespace(code, ns)
-##            except KeyError:
-##                pass
-##        return value
-##
-##    def getNamespaceIndex(self, lang, namespace):
-##        """Given a namespace, attempt to match it with all available
-##        namespaces. Sites may have more than one way to write the same
-##        namespace - choose the first one in the list. Returns namespace
-##        index or None.
-##        """
-##        namespace = namespace.lower()
-##        for n in self.namespaces.keys():
-##            try:
-##                nslist = self.namespaces[n][lang]
-##                if type(nslist) != type([]):
-##                    nslist = [nslist]
-##                for ns in nslist:
-##                    if ns.lower() == namespace:
-##                        return n
-##            except (KeyError,AttributeError):
-##                # The namespace has no localized name defined
-##                pass
-##        if lang != '_default':
-##            # This is not a localized namespace. Try if it
-##            # is a default (English) namespace.
-##            return self.getNamespaceIndex('_default', namespace)
-##        else:
-##            # give up
-##            return None
-##
+##    def namespace(self, code, ns_number, fallback='_default', all=False):##        if not self.isDefinedNS(ns_number):##            raise KeyError(##'ERROR: Unknown namespace %(ns_number)d for %(language_code)s:%(ns_name)s'##                           % {'ns_number': ns_number,##                              'language_code': code,##                              'ns_name': self.name})##        elif self.isNsI18N(ns_number, code):##            v = self.namespaces[ns_number][code]##            if type(v) is not list:##                v = [v,]##            if all and self.isNsI18N(ns_number, fallback):##                v2 = self.namespaces[ns_number][fallback]##                if type(v2) is list:##                    v.extend(v2)##                else:##                    v.append(v2)##        elif fallback and self.isNsI18N(ns_number, fallback):##            v = self.namespaces[ns_number][fallback]##            if type(v) is not list:##                v = [v,]##        else:##            raise KeyError(##'ERROR: title for namespace %(ns_number)d in language %(language_code)s unknown'##                           % {'ns_number': ns_number,##                              'language_code': code})##        if all:##            namespaces = list(set(v))##            # Lowercase versions of namespaces##            if code not in self.nocapitalize:##                namespaces.extend([ns[0].lower() + ns[1:]##                                   for ns in namespaces##                                   if ns and ns[0].lower() != ns[0].upper()])##            # Underscore versions of namespaces##            namespaces.extend([ns.replace(' ', '_')##                               for ns in namespaces if ns and ' ' in ns])##            return tuple(namespaces)##        else:##            return v[0]####    def isDefinedNS(self, ns_number):##        """Return True if the namespace has been defined in this family."""##        ##        return self.namespaces.has_key(ns_number)####    def isNsI18N(self, ns_number, code):##        """Return True if the namespace has been internationalized.####        (it has a custom entry for a given language)####        """##        return self.namespaces[ns_number].has_key(code)####    def isDefinedNSLanguage(self, ns_number, code, fallback='_default'):##        """Return True if the namespace has been defined in this family##        for this language or its fallback.##        """##        if not self.isDefinedNS(ns_number):##            return False##        elif self.isNsI18N(ns_number, code):##            return True##        elif fallback and self.isNsI18N(ns_number, fallback):##            return True##        else:##            return False####    def normalizeNamespace(self, code, value):##        """Given a value, attempt to match it with all available namespaces,##        with default and localized versions. Sites may have more than one##        way to write the same namespace - choose the first one in the list.##        If nothing can be normalized, return the original value.##        """##        for ns, items in self.namespaces.iteritems():##            if items.has_key(code):##                v = items[code]##            elif items.has_key('_default'):##                v = items['_default']##            else:##                continue##            if type(v) is list:##                if value in v: return v[0]##            else:##                if value == v: return v##            try:##                if value == self.namespace('_default', ns):##                    return self.namespace(code, ns)##            except KeyError:##                pass##        return value####    def getNamespaceIndex(self, lang, namespace):##        """Given a namespace, attempt to match it with all available##        namespaces. Sites may have more than one way to write the same##        namespace - choose the first one in the list. Returns namespace##        index or None.##        """##        namespace = namespace.lower()##        for n in self.namespaces.keys():##            try:##                nslist = self.namespaces[n][lang]##                if type(nslist) != type([]):##                    nslist = [nslist]##                for ns in nslist:##                    if ns.lower() == namespace:##                        return n##            except (KeyError,AttributeError):##                # The namespace has no localized name defined##                pass##        if lang != '_default':##            # This is not a localized namespace. Try if it##            # is a default (English) namespace.##            return self.getNamespaceIndex('_default', namespace)##        else:##            # give up##            return None##    def category_redirects(self, code, fallback="_default"):
+        if code in self.category_redirect_templates:
+            return self.category_redirect_templates[code]
+        elif fallback:
+            return self.category_redirect_templates[fallback]
+        else:
+            raise KeyError(
+"ERROR: title for category redirect template in language '%s' unknown"
+                % code)
+
     def disambig(self, code, fallback = '_default'):
         if code in self.disambiguationTemplates:
             return self.disambiguationTemplates[code]
@@ -789,6 +687,7 @@
         'ka': [u'გადამისამართება'],
         'kk': [u'айдау'],
         'ko': [u'넘겨주기'],
+        'li': [u'DOORVERWIJZING'],
         'mk': [u'пренасочување', u'види'],
         'ml': [u'തിരിച്ചുവിടുക', u'തിരിച്ചുവിടല്‍'],
         'mr': [u'पुनर्निर्देशन'],
@@ -799,7 +698,7 @@
         'nl': [u'DOORVERWIJZING'],
         'nn': [u'omdiriger'],
         'oc': [u'REDIRECCION'],
-        'pl': [u'TAM', u'PRZEKIERUJ'],
+        'pl': [u'REDIRECT', u'TAM', u'PRZEKIERUJ'],
         'ru': [u'REDIRECT',             # localised version is not
                u'перенаправление',      # so usual, so put the default
                u'перенапр'],            # one as the most used.
@@ -809,7 +708,7 @@
         'sv': [u'OMDIRIGERING'],
         'tt': [u'yünältü'],
         'uk': [u'ПЕРЕНАПРАВЛЕННЯ', u'ПЕРЕНАПР'],
-        'vi': [u'đổi'],
+        'vi': [u'đổi', u'đổi'],
         'yi': [u'ווייטערפירן']
     }
 


Property changes on: branches/rewrite/pywikibot/family.py
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/pywikipedia/family.py:6057-6165,6168-6209
   + /trunk/pywikipedia/family.py:6057-6165,6168-6209,6212-6322





More information about the Pywikipedia-l mailing list