Revision: 5184
Author: wikipedian
Date: 2008-04-06 22:08:15 +0000 (Sun, 06 Apr 2008)
Log Message:
-----------
applied changes from patch [ 1931272 ] (translations)
Modified Paths:
--------------
trunk/pywikipedia/interwiki.py
Modified: trunk/pywikipedia/interwiki.py
===================================================================
--- trunk/pywikipedia/interwiki.py 2008-04-06 13:14:44 UTC (rev 5183)
+++ trunk/pywikipedia/interwiki.py 2008-04-06 22:08:15 UTC (rev 5184)
@@ -264,6 +264,32 @@
'&pagegenerators_help;': pagegenerators.parameterHelp
}
+class XmlDumpLmoLinkPageGenerator:
+ """
+ Generator which will yield Pages that might contain selflinks.
+ These pages will be retrieved from a local XML dump file
+ (cur table).
+ """
+ def __init__(self, xmlFilename):
+ """
+ Arguments:
+ * xmlFilename - The dump's path, either absolute or relative
+ """
+
+ self.xmlFilename = xmlFilename
+
+ def __iter__(self):
+ import xmlreader
+ mysite = wikipedia.getSite()
+ dump = xmlreader.XmlDump(self.xmlFilename)
+ r = re.compile(r'\d')
+ for entry in dump.parse():
+ if not r.search(entry.title):
+ selflinkR = re.compile(r'\[\[lmo:')
+ if selflinkR.search(entry.text):
+ yield wikipedia.Page(mysite, entry.title)
+
+
class SaveError(wikipedia.Error):
"""
An attempt to save a page with changed interwiki has failed.
@@ -282,14 +308,21 @@
msg = {
'af': (u'robot ', u'Bygevoeg', u'Verwyder', u'Verander'),
'ar': (u'روبوت ', u'إضافة', u'إزالة', u'تعديل'),
+ 'az': (u'Bot redaktəsi ', u'əlavə edilir', u'çıxardılır', u'dəyişdirilir'),
'bat-smg': (u'robots ', u'Pridedama', u'Trėnama', u'Keitama'),
+ 'bcl': (u'robot ', u'minadugang', u'minahali', u'minamodifikar'),
'be': (u'робат ', u'Дадаем', u'Выдаляем', u'Мяняем'),
'be-x-old': (u'робат ', u'дадаў', u'выдаліў', u'зьмяніў'),
'bg': (u'Робот ', u'Добавяне', u'Изтриване', u'Промяна'),
'bn': (u'রোবট ', u'যোগ করছে', u'মুছে ফেলছে', u'পরিবর্তন সাধন করছে'),
+ 'bpy': (u'রোবট ', u'তিলকরের', u'থেইকরের', u'বদালার'),
'br': (u'Robot ', u'ouzhpennet', u'tennet', u'kemmet'),
'ca': (u'Robot ', u'afegeix', u'esborra', u'modifica'),
+ 'ceb': (u'robot ', u'Gidugang', u'Gitangtang', u'Gimodipikar'),
+ 'crh': (u'robot ', u'ekley', u'çetleştire', u'deñiştire'),
'cs': (u'robot ', u'přidal', u'odebral', u'změnil'),
+ 'cv': (u'робот ', u'хушрĕ', u'кăларса пăрахрĕ', u'улăштарчĕ'),
+ 'cy': (u'robot ', u'Ychwanegu', u'Tynnu', u'Newid'),
'csb':(u'robot ', u'dodôwô', u'rëmô', u'pòprôwiô'),
'da': (u'robot ', u'Tilføjer', u'Fjerner', u'Ændrer'),
'de': (u'Bot: ', u'Ergänze', u'Entferne', u'Ändere'),
@@ -301,12 +334,15 @@
'eu': (u'robota ', u'Erantsia', u'Ezabatua', u'Aldatua'),
'fa': (u'ربات ', u'افزودن', u'حذف', u'اصلاح'),
'fi': (u'Botti ', u'lisäsi', u'poisti', u'muokkasi'),
+ 'fiu-vro': (u'robot ', u'manopandminõ', u'ärqvõtminõ', u'tävvendämine'),
'fr': (u'robot ', u'Ajoute', u'Retire', u'Modifie'),
'frp': (u'robot ', u'Apond', u'Retire', u'Modifie'),
'fur': (u'Robot: ', u'o zonti', u'o cambii', u'o gjavi'),
'gl': (u'bot ', u'Engadido', u'Eliminado', u'Modificado'),
+ 'gn': (u'bot ', u'ojoapy', u'oñembogue', u'oñemoambue'),
'he': (u'בוט ', u'מוסיף', u'מסיר', u'משנה'),
'hr': (u'robot', u'Dodaje', u'Uklanja', u'Mijenja'),
+ 'hsb': (u'bot ', u'přidał', u'wotstronił', u'změnił'),
'ht': (u'wobo ', u'Ajoute', u'Anlve', u'Modifye'),
'hu': (u'Robot: ', u'következő hozzáadása', u'következő eltávolítása', u'következő módosítása'),
'ia': (u'Robot: ', u'Addition de', u'Elimination de', u'Modification de'),
@@ -319,11 +355,17 @@
'ko': (u'로봇이 ', u'더함', u'지움', u'바꿈'),
'kk': (u'Боттың ', u'үстегені', u'аластағаны', u'түзеткені'),
'ksh': (u'Bot: ', u'dobëijedonn', u'erußjenumme', u'ußjewääßelt'),
- 'la': (u'robotum ', u'addit', u'abdit', u'mutat'),
+ 'ku': (u'robot ', u'serzêde kirin', u'jêbirin', u'guhêrandin'),
+ 'la': (u'bot ', u'addit', u'abdit', u'mutat'),
'lb': (u'Bot ', u'Derbäi setzen', u'Ewech huelen', u'Änneren'),
'lmo': (u'Robot ', u'jontant', u'trant via', u'modifiant'),
+ 'ln': (u'bot ', u'ebakisí', u'elongólí', u'ebongolí'),
'lt': (u'robotas ', u'Pridedama', u'Šalinama', u'Keičiama'),
'lv': (u'robots ', u'pievieno', u'izņem', u'izmaina'),
+ 'mk': (u'Бот ', u'Додава', u'Брише', u'Менува'),
+ 'ml': (u'യന്ത്രം ', u'ചേര്ക്കുന്നു', u'നീക്കുന്നു', u'പുതുക്കുന്നു'),
+ 'mn': (u'робот ', u'Нэмж байна', u'Арилгаж байна', u'Өөрчилж байна'),
+ 'mr': (u'सांगकाम्या ', u'वाढविले', u'काढले', u'बदलले'),
'mzn': (u'Rebot ', u'Biyeshten', u'Bayten', u'Hekărden'),
'nds': (u'IW-Bot: ', u'dorto', u'rut', u'ännert'),
'nds-nl': (u'bot', u'derbie', u'derof', u'aanders'),
@@ -340,13 +382,16 @@
'ru': (u'робот ', u'добавил', u'удалил', u'изменил'),
'sk': (u'robot ', u'Pridal', u'Odobral',u'Zmenil' ),
'sl': (u'robot ', u'Dodajanje', u'Odstranjevanje', u'Spreminjanje'),
+ 'sq': (u'robot ', u'Futje', u'Largim', u'Ndryshim'),
'sr': (u'Бот', u'Додаје', u'Брише', u'Мења'),
'su': (u'bot ', u'Nambih', u'Miceun', u'Ngarobih'),
'sv': (u'robot ', u'Lägger till', u'Tar bort', u'Ändrar'),
'sw': (u'roboti ', u'Nyongeza', u'Ondoa', u'Badiliko'),
'ta': (u'தானியங்கி',u'இணைப்பு',u'அழிப்பு',u'மாற்றல்'),
+ 'te': (u'యంత్రము ', u'కలుపుతున్నది', u'తొలగిస్తున్నది', u'మార్పులు చేస్తున్నది'),
'tet': (u'bot ', u'tau tan', u'hasai', u'filak'),
'tg': (u'робот ', u'илова карда истодааст', u'дигаргуни карда истодааст', u'ҳaвз карда истодааст'),
+ 'tl': (u'robot ', u'dinagdag', u'tinanggal', u'binago'),
'to': (u'mīsini', u'ʻoku tānaki', u'ʻoku toʻo', u'ʻoku liliu'),
'tr': (u'Bot değişikliği', u'Ekleniyor', u'Kaldırılıyor', u'Değiştiriliyor'),
'th': (u'โรบอต ', u'เพิ่ม', u'ลบ', u'แก้ไข'),
@@ -354,6 +399,7 @@
'uz': (u'Bot', u'Qoʻshdi', u'Tuzatdi', u'Oʻchirdi'),
'vi': (u'robot ', u'Thêm', u'Dời', u'Thay'),
'vo': (u'bot ', u'läükon', u'moükon', u'votükon'),
+ 'yi': (u'באט ', u'צוגעלייגט', u'אראפגענומען', u'געענדערט'),
'yue': (u'機械人 ', u'加', u'減', u'改'),
'zh': (u'機器人 ', u'正在新增', u'移除', u'修改'),
'zh-classical': (u'僕 ', u'增', u'削', u'修'),
@@ -1481,7 +1527,13 @@
genFactory = pagegenerators.GeneratorFactory()
for arg in wikipedia.handleArgs():
- if arg == '-noauto':
+ if arg.startswith('-xml'):
+ if len(arg) == 4:
+ xmlFilename = wikipedia.input(u'Please enter the XML dump\'s filename:')
+ else:
+ xmlFilename = arg[5:]
+ hintlessPageGen = XmlDumpLmoLinkPageGenerator(xmlFilename)
+ elif arg == '-noauto':
globalvar.auto = False
elif arg.startswith('-hint:'):
hints.append(arg[6:])