#!/usr/bin/python
# -*- coding: utf-8 -*-
__version__='$Id: touch.py,v 1.12 2005/10/13 20:57:02 leogregianin Exp $'
import wikipedia, pagegenerators, catlib
import sys
import codecs
import re
lg_dict ={
'translingual' : u'???',
'nl' : u'néerlandais',
'cs' : u'tchèque',
'da' : u'danois',
'pl' : u'polonais',
'ro' : u'roumain',
'sv' : u'suédois',
'af' : u'afrikaans',
'ca' : u'catalan',
'fi' : u'finnois',
'id' : u'indonésien',
'ia' : u'interlingua',
'la' : u'latin',
'no' : u'norvégien',
'pt' : u'portugais',
'sk' : u'slovaque',
'tr' : u'turc',
'en' : u'anglais',
'de' : u'allemand',
'fr' : u'français',
'it' : u'italien',
'eo' : u'espéranto',
'es' : u'espagnol',
'ab' : u'abkhaze',
'abs' : u'malais ambonais',
'aie' : u'amara',
'ain' : u'aïnou',
'akz' : u'alabama',
'ale' : u'aléoute',
'alp' : u'alune',
'als' : u'alsacien',
'am' : u'amharique',
'amk' : u'ambai',
'amu' : u'amuzgo',
'an' : u'aragonais',
'ang' : u'anglo-saxon',
'apa' : u'apache',
'apw' : u"apache de l'Ouest",
'ar' : u'arabe',
'arn' : u'mapuche',
'as' : u'assamais',
'ast' : u'asturien',
'ay' : u'aymara',
'az' : u'azéri',
'ba' : u'bashkir',
'ban' : u'balinais',
'be' : u'biélorusse',
'bem' : u'bemba',
'bew' : u'betawi',
'bg' : u'bulgare',
'bh' : u'bihari',
'bi' : u'bichelamar',
'bm' : u'bambara',
'bn' : u'bengali',
'bo' : u'tibétain',
'br' : u'breton',
'bs' : u'bosniaque',
'bzt' : u'brithenig',
'ce' : u'tchétchène',
'ceb' : u'cebuano',
'ch' : u'chamorro',
'chm' : u'mari',
'chn' : u'jargon chinook',
'chr' : u'cherokee',
'chs' : u'chumash',
'chy' : u'cheyenne',
'cic' : u'chickasaw',
'cit' : u'rohingya',
'co' : u'corse',
'conv' : u'convention internationale',
'csb' : u'kachoube',
'cu' : u'slavon',
'cv' : u'tchouvache',
'cy' : u'gallois',
'dbl' : u'dyirbal',
'dje' : u'zarma',
'dog' : u'dogon',
'doi' : u'dogra',
'dyy' : u'tjapukai',
'dz' : u'dzongkha',
'el' : u'grec|grec',
'et' : u'estonien',
'eu' : u'basque',
'fa' : u'persan',
'ff' : u'peul',
'fil' : u'filipino',
'fj' : u'fidjien',
'fo' : u'féroïen',
'frm' : u'moyen français',
'fro' : u'ancien français',
'fur' : u'frioulan',
'fy' : u'frison',
'ga' : u'gaélique irlandais',
'gal' : u'gallo',
'gaul' : u'gaulois',
'gcf' : u'créole français guadeloupéen',
'gd' : u'gaélique écossais',
'gil' : u'gilbertin',
'gl' : u'galicien',
'gn' : u'guarani',
'got' : u'gotique',
'grc' : u'grec ancien',
'gsc' : u'gascon',
'gu' : u'gujarati',
'gv' : u'mannois',
'ha' : u'haoussa',
'haw' : u'hawaiien',
'hbo' : u'hébreu ancien',
'he' : u'hébreu',
'hi' : u'hindi',
'hmn' : u'hmong',
'hr' : u'croate',
'ht' : u'haïtien',
'hu' : u'hongrois',
'hy' : u'arménien',
'hz' : u'héréro',
'ie' : u'interlingue',
'ii' : u'yi',
'ilo' : u'ilocano',
'ine' : u'indo-européen commun',
'io' : u'ido',
'ira' : u'zazaki',
'is' : u'islandais',
'iu' : u'inuktitut',
'ja' : u'japonais',
'jbo' : u'lojban',
'jv' : u'javanais',
'ka' : u'géorgien',
'kk' : u'kazakh',
'kl' : u'kalaallisut',
'kn' : u'kannara',
'ko' : u'coréen',
'krl' : u'carélien',
'ks' : u'kashmiri',
'ku' : u'kurde',
'kv' : u'komi',
'kw' : u'cornique',
'ky' : u'kirghiz',
'lad' : u'judéo-espagnol',
'lb' : u'luxembourgeois',
'li' : u'limbourgeois',
'lkt' : u'lakota',
'ln' : u'lingala',
'lo' : u'laotien',
'lt' : u'lituanien',
'lv' : u'letton',
'mal' : u'malinké',
'mdf' : u'mokcha',
'mg' : u'malgache',
'mh' : u'marshallais',
'mi' : u'maori',
'mia' : u'miami',
'mk' : u'macédonien',
'ml' : u'malayalam',
'mn' : u'mongol',
'mo' : u'moldave',
'moh' : u'mohawk',
'mos' : u'moré',
'mr' : u'marathe',
'ms' : u'malais',
'mt' : u'maltais',
'mwl' : u'mirandais',
'my' : u'birman',
'myv' : u'erza',
'na' : u'nauruan',
'nah' : u'nahuatl',
'nan' : u'minnan',
'nap' : u'napolitain',
'nds' : u'bas-saxon',
'ne' : u'népalais',
'nn' : u'norvégien]] ([[nynorsk',
'non' : u'vieux norrois',
'normand' : u'normand',
'nov' : u'novial',
'oc' : u'occitan',
'oj' : u'ojibwa',
'os' : u'ossète',
'pa' : u'pendjabi',
'pam' : u'kapampangan',
'pap' : u'papiamento',
'pau' : u'palau',
'pi' : u'pali',
'pih' : u'pitcairnais',
'pqm' : u'passamaquoddy',
'prv' : u'provençal',
'ps' : u'pachto',
'qu' : u'quechua',
'rap' : u'rapanui',
'rar' : u'rarotongien',
'rm' : u'romanche',
'rom' : u'rromani',
'ru' : u'russe',
'rup' : u'aroumain',
'sa' : u'sanskrit',
'sc' : u'sarde',
'scn' : u'sicilien',
'sco' : u'scots',
'se' : u'sami du nord',
'sg' : u'sango',
'sh' : u'serbo-croate',
'sl' : u'slovène',
'sm' : u'samoan',
'sn' : u'shona',
'so' : u'somali',
'sov' : u'sonsorolais',
'sq' : u'albanais',
'sr' : u'serbe',
'srn' : u'sranan',
'su' : u'soudanais',
'sul' : u'surigaonon',
'sw' : u'swahili',
'ta' : u'tamoul',
'tay' : u'atayal',
'tet' : u'tétoum',
'tg' : u'tadjik',
'th' : u'thaï',
'thx' : u'thrace',
'tk' : u'turkmène',
'tl' : u'tagalog',
'tn' : u'tswana',
'to' : u'tongien',
'tox' : u'tobi',
'tpi' : u'tok pisin',
'tpn' : u'tupinambá',
'trv' : u'taroko',
'tsg' : u'tausug',
'tt' : u'tatare',
'tus' : u'tuscarora',
'tvl' : u'tuvalu',
'ty' : u'tahitien',
'udm' : u'oudmourte',
'ug' : u'ouïgour',
'uk' : u'ukrainien',
'ur' : u'ourdou',
'uz' : u'ouzbek',
've' : u'venda',
'vec' : u'vénitien',
'vep' : u'vepse',
'vi' : u'vietnamien',
'vmb' : u'mbabaram',
'vo' : u'volapük',
'vot' : u'vote',
'wa' : u'wallon',
'wen' : u'sorabe',
'wo' : u'wolof',
'xh' : u'xhosa',
'yi' : u'yiddish',
'yo' : u'yoruba',
'ypk' : u'yupik',
'yua' : u'maya yucatèque',
'zh' : u'chinois',
'zu' : u'zoulou',
}
class myFile:
def __init__(self, name):
self.name = name
def write(self,what):
fic= codecs.open(self.name,'a','utf-8')
fic.write(what+'\n')
fic.close()
class MyBot:
def __init__(self, generator):
self.generator = generator
self.red = myFile("lg_fin.txt")
def run(self):
mod = re.compile(u'\[\[(.*)\]\]')
for page in self.generator:
try:
text = mod.match(page.get()).group(1)
self.red.write(u"'%s' : u'%s'," % (page.titleWithoutNamespace(),text))
except:
self.red.write(u"'%s' : NOT KNOWN" % (page.titleWithoutNamespace()))
def main():
#page generator
gen = None
# cat = catlib.Category(wikipedia.getSite(), u'Catégorie:français')
# gen = pagegenerators.CategorizedPageGenerator(cat)
gen = pagegenerators.TextfilePageGenerator("modeles.txt")
wikipedia.setAction("Fusion daf")
if not gen:
print "Erreur"
else:
print "OK"
preloadingGen = pagegenerators.PreloadingGenerator(gen)
bot = MyBot(gen)
bot.run()
if __name__ == "__main__":
try:
main()
finally:
wikipedia.stopme()