Revision 10718435 of "Utilisateur:JackBot/RemiseEnForme.py" on frwiktionary[[Catégorie:JackBot]]
<source lang=python>
#!/usr/bin/env python
# coding: utf-8
# Ce script formate les pages du Wiktionnaire, tous les jours après minuit depuis le Toolserver :
# 1) Retire certains doublons.
# 2) Ajoute les clés de tris, prononciations vides, et certains liens vers les conjugaisons.
# 3) Met à jour les liens vers les traductions (modèles trad, trad+, trad-, trad-début et trad-fin), et les classe par ordre alphabétique.
# 4) Ajoute les codes langues appropriés dans les modèles du Wiktionnaire du namespace 0 et paragraphes appropriés.
# 5) Complète les flexions de verbes à vérifier.
# 6) Traduit les importations de en.wikt.
# 7) Gestion des modèles {{voir}} en début de page.
# Importation des modules
import catlib, pagegenerators, os, codecs, urllib, re
from wikipedia import *
# Déclaration
language = "fr"
family = "wiktionary"
mynick = "JackBot"
site = getSite(language,family)
summary = u'[[Wiktionnaire:Structure des articles|Autoformatage]]'
# Modèles du site à traiter
limit4=781
Modele = range(1, limit4+1)
# http://fr.wiktionary.org/wiki/Cat%C3%A9gorie:Mod%C3%A8les_de_type_de_mot_du_Wiktionnaire
Modele[1] = u'-adj-'
Modele[2] = u'-flex-adj-indéf-'
Modele[3] = u'-adj-dém-'
Modele[4] = u'-adj-excl-'
Modele[5] = u'-adj-indéf-'
Modele[6] = u'-adj-int-'
Modele[7] = u'-adj-num-'
Modele[8] = u'-adj-pos-'
Modele[9] = u'-adv-'
Modele[10] = u'-adv-int-'
Modele[11] = u'-adv-pron-'
Modele[12] = u'-adv-rel-'
Modele[13] = u'-aff-'
Modele[14] = u'-art-'
Modele[15] = u'-flex-art-déf-'
Modele[16] = u'-flex-art-indéf-'
Modele[17] = u'-flex-art-part-'
Modele[18] = u'-art-déf-'
Modele[19] = u'-art-indéf-'
Modele[20] = u'-art-part-'
Modele[21] = u'-aux-'
Modele[22] = u'-circonf-'
Modele[23] = u'-class-'
Modele[24] = u'-conj-'
Modele[25] = u'-conj-coord-'
Modele[26] = u'-cont-'
Modele[27] = u'-copule-'
Modele[28] = u'-corrélatif-'
Modele[29] = u'-dét-'
Modele[30] = u'-erreur-'
Modele[31] = u'-faux-prov-'
Modele[32] = u'-flex-adj-'
Modele[33] = u'-flex-adj-num-'
Modele[34] = u'-flex-adj-pos-'
Modele[35] = u'-flex-adv-'
Modele[36] = u'-flex-art-'
Modele[37] = u'-flex-aux-'
Modele[38] = u'-flex-conj-'
Modele[39] = u'-flex-interj-'
Modele[40] = u'-flex-lettre-'
Modele[41] = u'-flex-loc-adj-'
Modele[42] = u'-flex-loc-conj-'
Modele[43] = u'-flex-loc-nom-'
Modele[44] = u'-flex-loc-verb-'
Modele[45] = u'-flex-nom-'
Modele[46] = u'-flex-nom-fam-'
Modele[47] = u'-flex-nom-pr-'
Modele[48] = u'-flex-mots-diff-'
Modele[50] = u'-flex-prép-'
Modele[51] = u'-flex-pronom-'
Modele[52] = u'-flex-pronom-indéf-'
Modele[53] = u'-flex-pronom-int-'
Modele[54] = u'-flex-pronom-pers-'
Modele[55] = u'-flex-pronom-rel-'
Modele[56] = u'-flex-verb-'
Modele[57] = u'-flex-verbe-'
Modele[58] = u'-interf-'
Modele[59] = u'-interj-'
Modele[60] = u'-lettre-'
Modele[61] = u'-loc-'
Modele[62] = u'-loc-adj-'
Modele[63] = u'-loc-adv-'
Modele[64] = u'-loc-conj-'
Modele[65] = u'-loc-dét-'
Modele[66] = u'-loc-interj-'
Modele[67] = u'-loc-nom-'
Modele[68] = u'-loc-phr-'
Modele[69] = u'-loc-post-'
Modele[70] = u'-loc-prép-'
Modele[71] = u'-loc-pronom-'
Modele[72] = u'-loc-verb-'
Modele[73] = u'-loc-verbe-'
Modele[74] = u'-nom-'
Modele[75] = u'-nom-fam-'
Modele[76] = u'-nom-ni-'
Modele[77] = u'-nom-nu-'
Modele[79] = u'-nom-nn-'
Modele[79] = u'-nom-npl-'
Modele[80] = u'-nom-pr-'
Modele[81] = u'-nom-sciences-'
Modele[82] = u'-numér-'
Modele[83] = u'-part-'
Modele[84] = u'-post-'
Modele[85] = u'-préf-'
Modele[87] = u'-prép-'
Modele[88] = u'-pronom-'
Modele[89] = u'-pronom-adj-'
Modele[90] = u'-pronom-dém-'
Modele[91] = u'-pronom-indéf-'
Modele[92] = u'-pronom-int-'
Modele[93] = u'-pronom-pers-'
Modele[94] = u'-pronom-pos-'
Modele[95] = u'-pronom-rel-'
Modele[96] = u'-prov-'
Modele[97] = u'-racine-'
Modele[98] = u'-radical-'
Modele[99] = u'-rimes-'
Modele[100] = u'-sigle-'
Modele[101] = u'-signe-'
Modele[102] = u'-subst-pron-pers-'
Modele[103] = u'-suf-'
Modele[104] = u'-flex-suf-'
Modele[105] = u'-var-typo-'
Modele[106] = u'-verb-'
Modele[107] = u'-verb-pr-'
Modele[108] = u'-verbe-'
Modele[109] = u'-adjectif-'
Modele[110] = u'-adverbe-'
Modele[111] = u'-locution-'
Modele[112] = u'-préfixe-'
Modele[113] = u'-suffixe-'
Modele[114] = u'-symb-'
Modele[115] = u'-inf-'
Modele[116] = u'-onoma-'
Modele[117] = u'-onoma-'
Modele[118] = u'-flex-loc-verbe-'
Modele[119] = u'-class-'
Modele[120] = u'-sinogramme-'
limit1 = 121 # Paragraphes avec modèle catégorisant
# http://fr.wiktionary.org/wiki/Cat%C3%A9gorie:Mod%C3%A8les_de_contexte
Modele[121] = u'-trad-'
Modele[122] = u'-drv-int-'
Modele[123] = u'-étym-'
Modele[124] = u'-exp-'
Modele[125] = u'-faux-amis-'
Modele[126] = u'-gent-'
Modele[127] = u'-hist-'
Modele[128] = u'-holo-'
Modele[129] = u'-homo-'
Modele[130] = u'-hyper-'
Modele[131] = u'-hypo-'
Modele[132] = u'-image-'
Modele[133] = u'-méro-'
Modele[134] = u'-note-'
Modele[135] = u'-var-ortho-'
Modele[136] = u'-ortho-arch-'
Modele[137] = u'-paro-'
Modele[138] = u'-vidéo-'
Modele[139] = u'-q-syn-'
Modele[140] = u'-réf-'
Modele[141] = u'-sino-dico-'
Modele[142] = u'-sous-esp-'
Modele[143] = u'-syll-'
Modele[144] = u'-syn-'
Modele[145] = u'-noms-vern-'
Modele[146] = u'-drv-'
Modele[147] = u'-trans-'
Modele[148] = u'-translit-'
Modele[149] = u'-tropo-'
Modele[150] = u'-var-'
Modele[151] = u'-voc-'
Modele[152] = u'-voir-'
Modele[153] = u'-pron-'
Modele[154] = u'-abrév-'
Modele[155] = u'-anagr-'
Modele[156] = u'-ant-'
Modele[157] = u'-apr-'
Modele[158] = u'-cit-'
Modele[159] = u'-compos-'
Modele[160] = u'-conjug-'
Modele[161] = u'-décl-'
Modele[162] = u'-dial-'
limit2 = 163 # Paragraphes sans modèle catégorisant
Modele[164] = u'ébauche'
Modele[165] = u'ébauche-trans'
Modele[166] = u'ébauche-déf'
Modele[167] = u'ébauche-étym'
Modele[168] = u'ébauche-pron'
Modele[169] = u'ébauche-étym-nom-scientifique'
Modele[170] = u'ébauche-exe'
Modele[171] = u'ébauche-pron'
Modele[172] = u'ébauche-syn'
limit3 = 173
Modele[174] = u'b-pl-cour'
Modele[175] = u'cardinal'
Modele[176] = u'comparatif'
Modele[177] = u'contemporain'
Modele[178] = u'courant'
Modele[179] = u'dérision'
Modele[180] = u'désuet'
Modele[181] = u'déterminé'
Modele[182] = u'didactique'
Modele[183] = u'dim-lex'
Modele[184] = u'diminutif'
Modele[185] = u'diplomatie'
Modele[186] = u'téléinformatique'
Modele[187] = u'diptote'
Modele[188] = u'élatif'
Modele[189] = u'ellipse'
Modele[190] = u'enclitique'
Modele[191] = u'enfantin'
Modele[192] = u'épithète'
Modele[193] = u'euphémisme'
Modele[194] = u'ex-rare'
Modele[195] = u'exagératif'
Modele[196] = u'expression'
Modele[197] = u'familier'
Modele[198] = u'figuré'
Modele[199] = u'formel'
Modele[200] = u'gallicisme'
Modele[201] = u'abréviation'
Modele[202] = u'hapax'
Modele[203] = u'hispanisme'
Modele[204] = u'humour'
Modele[205] = u'hyperbole'
Modele[206] = u'idiotisme'
Modele[207] = u'indéfini'
Modele[208] = u'indéterminé'
Modele[209] = u'informel'
Modele[210] = u'injurieux'
Modele[211] = u'interjection'
Modele[212] = u'ironique'
Modele[213] = u'litote'
Modele[214] = u'littéraire'
Modele[215] = u'm-cour'
Modele[216] = u'mélioratif'
Modele[217] = u'métaphore'
Modele[218] = u'métonymie'
Modele[219] = u'mot-valise'
Modele[220] = u'néologisme'
Modele[221] = u'néol litt'
Modele[222] = u'anglicisme'
Modele[223] = u'antiquité'
Modele[224] = u'ordinal'
Modele[225] = u'palindrome'
Modele[226] = u'archaïque'
Modele[227] = u'poissons'
Modele[228] = u'péjoratif'
Modele[229] = u'pl-cour'
Modele[230] = u'pl-rare'
Modele[231] = u'plaisanterie'
Modele[232] = u'poétique'
Modele[233] = u'populaire'
Modele[234] = u'propre'
Modele[235] = u'proverbial'
Modele[236] = u'rare'
Modele[237] = u'sigle'
Modele[238] = u'soutenu'
#Modele[239] = u'spécialement'
Modele[240] = u'saccusatif'
Modele[241] = u'sdatif'
Modele[242] = u'très familier'
Modele[243] = u'vieilli'
Modele[244] = u'vulgaire'
Modele[245] = u'wiki'
Modele[246] = u'popu'
Modele[247] = u'vx'
Modele[248] = u'dés'
Modele[249] = u'fam'
Modele[250] = u'péj'
Modele[251] = u'vulg'
Modele[252] = u'math'
# http://fr.wiktionary.org/wiki/Cat%C3%A9gorie:Mod%C3%A8les_de_domaine_d%E2%80%99utilisation
Modele[253] = u'administration'
Modele[254] = u'aéronautique'
Modele[255] = u'agriculture'
Modele[256] = u'alpinisme'
Modele[257] = u'anatomie'
Modele[258] = u'anthropologie'
Modele[259] = u'architecture'
Modele[260] = u'archéologie'
Modele[261] = u'arme'
Modele[262] = u'arts'
Modele[263] = u'astrologie'
Modele[264] = u'astronomie'
Modele[265] = u'audiovisuel'
Modele[266] = u'automobile'
Modele[267] = u'aviation'
Modele[268] = u'bactériologie'
Modele[269] = u'baseball'
Modele[270] = u'basket'
Modele[271] = u'bijouterie'
Modele[272] = u'billard'
Modele[273] = u'biochimie'
Modele[274] = u'biologie'
Modele[275] = u'botanique'
Modele[276] = u'boucherie'
Modele[277] = u'bowling'
Modele[278] = u'cartes'
Modele[279] = u'charpenterie'
Modele[280] = u'chasse'
Modele[281] = u'chimie'
Modele[282] = u'chirurgie'
Modele[283] = u'cinéma'
Modele[284] = u'commerce'
Modele[285] = u'construction'
Modele[286] = u'cosmétologie'
Modele[287] = u'couture'
Modele[288] = u'cricket'
Modele[289] = u'cuisine'
Modele[290] = u'cyclisme'
Modele[291] = u'danse'
Modele[292] = u'dermatologie'
Modele[293] = u'droit'
Modele[294] = u'échecs'
Modele[295] = u'écologie'
Modele[296] = u'finance'
Modele[297] = u'économie'
Modele[298] = u'éducation'
Modele[299] = u'électricité'
Modele[300] = u'électronique'
Modele[301] = u'électrotechnique'
Modele[302] = u'élevage'
Modele[303] = u'entomologie'
Modele[304] = u'équitation'
Modele[305] = u'escrime'
Modele[306] = u'ethnologie'
Modele[307] = u'famille'
Modele[308] = u'fantastique'
Modele[309] = u'fauconnerie'
Modele[310] = u'ferro'
Modele[311] = u'figure'
Modele[312] = u'football'
Modele[313] = u'gastronomie'
Modele[314] = u'généalogie'
Modele[315] = u'génétique'
Modele[316] = u'géographie'
Modele[317] = u'géologie'
Modele[318] = u'géométrie'
Modele[319] = u'géophysique'
Modele[320] = u'glaciologie'
Modele[321] = u'golf'
Modele[322] = u'grammaire'
Modele[323] = u'handball'
Modele[324] = u'héraldique'
Modele[325] = u'histoire'
Modele[326] = u'histologie'
Modele[327] = u'horlogerie'
Modele[328] = u'ichtyologie'
Modele[329] = u'imprimerie'
Modele[330] = u'industrie'
Modele[331] = u'informatique'
Modele[332] = u'internet'
Modele[333] = u'jardinage'
Modele[334] = u'paume'
Modele[335] = u'jeux'
Modele[336] = u'jonglage'
Modele[337] = u'journal'
Modele[338] = u'jurisprudence'
Modele[339] = u'justice'
Modele[340] = u'législation'
Modele[341] = u'linguistique'
Modele[342] = u'littérature'
Modele[343] = u'logique'
Modele[344] = u'maçonnerie'
Modele[345] = u'marine'
Modele[346] = u'mathématiques'
Modele[347] = u'mécanique'
Modele[348] = u'médecine'
Modele[349] = u'médecine non conv'
Modele[350] = u'média'
Modele[351] = u'menuiserie'
Modele[352] = u'métallurgie'
Modele[353] = u'météorologie'
Modele[354] = u'métrologie'
Modele[355] = u'microbiologie'
Modele[356] = u'militaire'
Modele[357] = u'minéralogie'
Modele[358] = u'minéraux'
Modele[359] = u'motocyclisme'
Modele[360] = u'musique'
Modele[361] = u'mycologie'
Modele[362] = u'mythologie'
Modele[363] = u'narratologie'
Modele[364] = u'natation'
Modele[365] = u'navigation'
Modele[366] = u'neurologie'
Modele[367] = u'maladies'
Modele[368] = u'nosologie'
Modele[369] = u'novlangue'
Modele[370] = u'numismatique'
Modele[371] = u'oenologie'
Modele[372] = u'optique'
Modele[373] = u'optométrie'
Modele[374] = u'ornithologie'
Modele[375] = u'paléographie'
Modele[376] = u'paléontologie'
Modele[377] = u'papillons'
Modele[378] = u'pâtisserie'
Modele[379] = u'pays'
Modele[380] = u'pêche'
Modele[381] = u'pédologie'
Modele[382] = u'peinture'
Modele[383] = u'pétrochimie'
Modele[384] = u'pharmacologie'
Modele[385] = u'philosophie'
Modele[386] = u'photographie'
Modele[387] = u'physiologie'
Modele[388] = u'physique'
Modele[389] = u'plante'
Modele[390] = u'poésie'
Modele[391] = u'poker'
Modele[392] = u'police'
Modele[393] = u'politique'
Modele[394] = u'psychiatrie'
Modele[395] = u'psychologie'
Modele[396] = u'religion'
Modele[397] = u'rhétorique'
Modele[398] = u'rugby'
Modele[399] = u'sci-fi'
Modele[400] = u'sciences'
Modele[401] = u'sculpture'
Modele[402] = u'serrurerie'
Modele[403] = u'sexualité'
Modele[404] = u'sociologie'
Modele[405] = u'sport'
Modele[406] = u'statistiques'
Modele[407] = u'sylviculture'
Modele[408] = u'technique'
Modele[409] = u'technologie'
Modele[410] = u'tennis'
Modele[411] = u'textile'
Modele[412] = u'théâtre'
Modele[413] = u'théologie'
Modele[414] = u'thermodynamique'
Modele[415] = u'topographie'
Modele[416] = u'topologie'
Modele[417] = u'toponymie'
Modele[418] = u'tourisme'
Modele[419] = u'transport'
Modele[420] = u'travail'
Modele[421] = u'typographie'
Modele[422] = u'télécommunications'
Modele[423] = u'urbanisme'
Modele[424] = u'vêtements'
Modele[425] = u'virologie'
Modele[426] = u'viticulture'
Modele[427] = u'zoologie'
# Abréviations (python pagegenerators.py -redirectonly:Template:!)
#Modele[428] = u'France' pb du nocat pour les prononciations
#Modele[429] = u'FR'
#Modele[430] = u'Belgique'
#Modele[431] = u'BE'
#Modele[432] = u'Suisse'
#Modele[433] = u'CH'
#Modele[434] = u'Québec'
#Modele[435] = u'QC'
#Modele[436] = u'Gaspésie'
#Modele[437] = u'Canada'
#Modele[438] = u'CA'
#Modele[439] = u'États-Unis'
#Modele[440] = u'US'
#Modele[441] = u'USA'
#Modele[442] = u'Royaume-Uni'
#Modele[443] = u'UK'
#Modele[444] = u'Grande-Bretagne'
#Modele[445] = u'GB'
#Modele[446] = u'Australie'
#Modele[447] = u'AU'
#Modele[448] = u'Nouvelle-Zélande'
#Modele[449] = u'NZ'
#Modele[450] = u'Irlande'
#Modele[451] = u'IE'
Modele[452] = u'archéo'
Modele[453] = u'armement'
Modele[454] = u'astrol'
Modele[455] = u'astron'
Modele[456] = u'audiovis'
Modele[457] = u'automo'
Modele[458] = u'aviat'
Modele[459] = u'bactério'
Modele[460] = u'bijou'
Modele[461] = u'biol'
Modele[462] = u'botan'
Modele[463] = u'chir'
Modele[464] = u'ciné'
Modele[465] = u'comm'
Modele[466] = u'constr'
Modele[467] = u'cosm'
Modele[468] = u'text'
Modele[469] = u'cout'
Modele[470] = u'cuis'
Modele[471] = u'cycl'
Modele[472] = u'dermat'
Modele[473] = u'écol'
Modele[474] = u'finan'
Modele[475] = u'écon'
Modele[476] = u'éduc'
Modele[477] = u'élec'
Modele[478] = u'électro'
Modele[479] = u'électrot'
Modele[480] = u'équi'
Modele[481] = u'foot'
Modele[482] = u'gastro'
Modele[483] = u'généal'
Modele[484] = u'géog'
Modele[485] = u'géol'
Modele[486] = u'géom'
Modele[487] = u'géoph'
Modele[488] = u'gram'
Modele[489] = u'hand'
Modele[490] = u'hérald'
Modele[491] = u'hist'
Modele[492] = u'histol'
Modele[493] = u'ichtyo'
Modele[494] = u'impr'
Modele[495] = u'indus'
Modele[496] = u'inform'
Modele[497] = u'jardin'
Modele[498] = u'juri'
Modele[499] = u'just'
Modele[500] = u'ling'
Modele[501] = u'littér'
Modele[502] = u'maçon'
Modele[503] = u'mari'
Modele[504] = u'math'
Modele[505] = u'méca'
Modele[506] = u'méde'
Modele[507] = u'métal'
Modele[508] = u'météo'
Modele[509] = u'métrol'
Modele[510] = u'mili'
Modele[511] = u'minér'
Modele[512] = u'musi'
Modele[513] = u'nata'
Modele[514] = u'navig'
Modele[515] = u'neuro'
Modele[516] = u'numis'
Modele[517] = u'oenol'
Modele[518] = u'ornit'
Modele[519] = u'paléo'
Modele[520] = u'pêch'
Modele[521] = u'pétro'
Modele[522] = u'philo'
Modele[523] = u'photo'
Modele[524] = u'physio'
Modele[525] = u'phys'
Modele[526] = u'poés'
Modele[527] = u'polit'
Modele[528] = u'psych'
Modele[529] = u'psycho'
Modele[530] = u'scul'
Modele[531] = u'serru'
Modele[532] = u'sexe'
Modele[533] = u'socio'
Modele[534] = u'stat'
Modele[535] = u'sylvi'
Modele[536] = u'tech'
Modele[537] = u'théol'
Modele[538] = u'topo'
Modele[539] = u'topon'
Modele[540] = u'tour'
Modele[541] = u'transp'
Modele[542] = u'typo'
Modele[543] = u'télécom'
Modele[544] = u'urban'
Modele[545] = u'vête'
Modele[546] = u'chim'
Modele[547] = u'phys'
Modele[548] = u'milit'
Modele[549] = u'méd'
Modele[550] = u'hist'
Modele[551] = u'gall'
Modele[552] = u'vieux'
Modele[553] = u'vx'
Modele[554] = u'arch'
Modele[555] = u'admin'
Modele[556] = u'aéro'
Modele[557] = u'agri'
Modele[558] = u'text'
Modele[559] = u'logi'
Modele[560] = u'pop'
Modele[561] = u'cardin'
Modele[562] = u'ordin'
Modele[563] = u'électron'
Modele[564] = u'électrotech'
Modele[565] = u'techno'
Modele[566] = u'technol'
Modele[567] = u'i'
Modele[568] = u't'
Modele[569] = u'acron'
Modele[570] = u'théât'
Modele[571] = u'météorol'
Modele[572] = u'info'
Modele[573] = u'transit'
Modele[574] = u'intrans'
Modele[575] = u'méton'
Modele[576] = u'prnl'
Modele[577] = u'réfl'
Modele[578] = u'réfléchi'
Modele[579] = u'rfx'
Modele[580] = u'perf'
Modele[581] = u'imperf'
Modele[582] = u'rhéto'
Modele[583] = u'exag'
Modele[584] = u'métaph'
Modele[585] = u'cour'
Modele[586] = u'sout'
Modele[587] = u'prov'
Modele[588] = u'prov'
Modele[589] = u'pron'
Modele[590] = u'term'
Modele[591] = u'terme'
Modele[592] = u'zool'
Modele[593] = u'poét'
Modele[594] = u'antiq'
Modele[595] = u'litt'
Modele[596] = u'mythol'
Modele[597] = u'opti'
Modele[598] = u'geog'
Modele[599] = u'hyperb'
Modele[600] = u'gastron'
Modele[601] = u'préciser'
Modele[602] = u'?'
#Modele[] = 'vérifier' Pas de langue
#Modele[] = 'région' Pas de langue
Modele[603] = u'td'
Modele[604] = u'tr-dir'
Modele[605] = u'tr-indir'
Modele[606] = u'trad'
Modele[607] = u'trad+'
Modele[609] = u'trad-'
Modele[610] = u'trad--'
Modele[611] = u'alpi'
Modele[612] = u'anat'
Modele[613] = u'anthro'
Modele[614] = u'archi'
Modele[615] = u'angl'
Modele[616] = u'vaudou'
Modele[617] = u'maintenance'
Modele[618] = u'phyton'
Modele[619] = u'phytonimie'
Modele[620] = u'déterminé'
Modele[621] = u'indéterminé'
Modele[622] = u'dét'
Modele[623] = u'indét'
Modele[624] = u'affectueux'
Modele[625] = u'glaciol'
Modele[626] = u'fanta'
Modele[627] = u'anal'
Modele[628] = u'dénombrable'
Modele[629] = u'dén'
Modele[630] = u'indénombrable'
Modele[631] = u'indén'
Modele[632] = u'nominatif'
Modele[633] = u'nomin'
Modele[634] = u'accusatif'
Modele[635] = u'accus'
Modele[636] = u'datif'
Modele[637] = u'génitif'
Modele[638] = u'génit'
Modele[639] = u'vocatif'
Modele[640] = u'vocat'
Modele[641] = u'ablatif'
Modele[642] = u'ablat'
Modele[643] = u'allatif'
Modele[644] = u'instrumental'
Modele[645] = u'locat'
Modele[646] = u'locatif'
Modele[647] = u'prépositionnel'
Modele[648] = u'indéclinable'
Modele[649] = u'indécl'
Modele[650] = u'ppart'
Modele[651] = u'génitif'
Modele[652] = u'psychol'
Modele[653] = u'psycho'
Modele[654] = u'chim'
Modele[655] = u'injur'
Modele[656] = u'mycol'
Modele[657] = u'myco'
Modele[658] = u'Internet'
Modele[659] = u'Écosse'
Modele[660] = u'diplomatie'
Modele[661] = u'tauromachie'
Modele[662] = u'germanisme'
Modele[663] = u'squelette'
Modele[664] = u'muscle'
Modele[665] = u'gymnastique'
Modele[666] = u'boxe'
Modele[667] = u'doute'
Modele[668] = u'liturgie'
Modele[669] = u'réflexif'
Modele[670] = u'r'
Modele[671] = u'irrég'
Modele[672] = u'irrégulier'
Modele[673] = u'arts martiaux'
Modele[674] = u'hydraulique'
Modele[675] = u'Commonwealth'
Modele[676] = u'genre'
Modele[677] = u'minéral'
Modele[678] = u'iron'
Modele[679] = u'ironie'
Modele[680] = u'plais'
Modele[681] = u'très rare'
Modele[682] = u'didact'
Modele[683] = u'algèbre'
Modele[684] = u'acronyme'
Modele[685] = u'allatif'
Modele[686] = u'analogie'
Modele[687] = u'très très rare'
Modele[688] = u'physiol'
Modele[689] = u'reproduction'
Modele[690] = u'repro'
Modele[691] = u'presse'
Modele[692] = u'Pays-Bas'
Modele[693] = u'meuble'
Modele[694] = u'Jamaïque'
Modele[695] = u'néol'
Modele[696] = u'archaïsme'
Modele[697] = u'nom'
Modele[698] = u'indéc'
Modele[699] = u'vétérinaire'
Modele[700] = u'reli'
Modele[701] = u'entom'
Modele[702] = u'entomol'
Modele[703] = u'pharmacie'
Modele[704] = u'pharmacol'
Modele[705] = u'athlétisme'
Modele[706] = u'athlé'
Modele[707] = u'christianisme'
Modele[708] = u'conjugaison'
Modele[709] = u'1ergroupe'
Modele[710] = u'2egroupe'
Modele[711] = u'3egroupe'
Modele[712] = u'dénominal de'
Modele[713] = u'déverbal de'
Modele[714] = u'superlatif de'
Modele[715] = u'narratol'
Modele[716] = u'passif'
Modele[717] = u'très-rare'
Modele[718] = u'extrêmement rare'
Modele[719] = u'jardi'
Modele[720] = u'sociol'
Modele[721] = u'papeterie'
Modele[722] = u'papèterie'
Modele[723] = u'Sénégal'
Modele[724] = u'geol'
Modele[725] = u'fami'
Modele[726] = u'tind'
Modele[727] = u'pédol'
Modele[728] = u'biophysique'
Modele[729] = u'psychia'
Modele[730] = u'paléontol'
Modele[731] = u'horticulture'
Modele[732] = u'probabilités'
Modele[733] = u'théorie des graphes'
Modele[734] = u'graphe'
Modele[735] = u'dessin'
Modele[736] = u'-prénom-'
Modele[737] = u'-flex-prénom-'
Modele[738] = u'('
Modele[739] = u')'
Modele[740] = u'trad-début'
Modele[741] = u'trad-fin'
#Modele[742] = u'T'
Modele[743] = u'gravure'
Modele[744] = u'livre'
Modele[745] = u'canoe'
Modele[746] = u'footing'
Modele[747] = u'jogging'
Modele[748] = u'running'
Modele[749] = u'course à pied'
Modele[750] = u'Mexique'
Modele[750] = u'programmation'
Modele[751] = u'prog'
Modele[752] = u'jeux vidéo'
Modele[753] = u'judo'
Modele[754] = u'gén-indén'
Modele[755] = u'reliure'
Modele[756] = u'Liban'
Modele[757] = u'caténatif'
Modele[758] = u'fam.'
Modele[759] = u'formater'
Modele[760] = u'aphérèse'
Modele[761] = u'apocope'
Modele[762] = u'argot'
Modele[763] = u'b-m-cour'
Modele[764] = u'escalade'
Modele[760] = u'aphérèse'
Modele[761] = u'apocope'
Modele[762] = u'argot'
Modele[763] = u'b-m-cour'
Modele[764] = u'escalade'
Modele[765] = u'm'
Modele[766] = u'f'
Modele[767] = u'n'
Modele[768] = u'c'
Modele[769] = u'mf'
Modele[770] = u'mf?'
Modele[770] = u'impers'
Modele[771] = u'impersonnel'
Modele[772] = u'pharma'
Modele[773] = u'apiculture'
Modele[774] = u'coiffure'
Modele[775] = u'animaux'
Modele[776] = u'plantes'
Modele[777] = u'astronautique'
# Modèles des autres Wiktionnaires à convertir
LimitTemplate = 66
Template = range(1, LimitTemplate+1)
TemplateFR = range(1, LimitTemplate+1)
Template[1] = u'===Adjective==='
TemplateFR[1] = u'{{-adj-}}'
Template[2] = u'===Adverb==='
TemplateFR[2] = u'{{-adv-}}'
Template[3] = u'===Article==='
TemplateFR[3] = u'{{-art-}}'
Template[4] = u'===Conjunction==='
TemplateFR[4] = u'{{-conj-}}'
Template[5] = u'===Determiner==='
TemplateFR[5] = u'{{-article-}}'
Template[6] = u'===Interjection==='
TemplateFR[6] = u'{{-interj-}}'
Template[7] = u'===Letter==='
TemplateFR[7] = u'{{-lettre-}}'
Template[8] = u'===Noun==='
TemplateFR[8] = u'{{-nom-}}'
Template[9] = u'===Numeral==='
TemplateFR[9] = u'{{-num-}}'
Template[10] = u'===Particle==='
TemplateFR[10] = u'{{-part-}}'
Template[11] = u'===Preposition==='
TemplateFR[11] = u'{{-prép-}}'
Template[12] = u'===Pronoun==='
TemplateFR[12] = u'{{-pronom-}}'
Template[13] = u'===Verb==='
TemplateFR[13] = u'{{-verbe-}}'
Template[14] = u'===Alternative forms==='
TemplateFR[14] = u'{{-var-ortho-}}'
Template[15] = u'====Antonyms===='
TemplateFR[15] = u'{{-ant-}}'
Template[16] = u'===Cardinal number==='
TemplateFR[16] = u'{{-adj-}}'
Template[17] = u'=====Conjugation====='
TemplateFR[17] = u''
Template[18] = u'====Derived terms===='
TemplateFR[18] = u'{{-drv-}}'
Template[19] = u'===Etymology==='
TemplateFR[19] = u'{{-étym-}}'
Template[20] = u'====External links===='
TemplateFR[20] = u'{{-voir-}}'
Template[21] = u'===Ordinal number==='
TemplateFR[21] = u'{{-adj-}}'
Template[22] = u'===Pronunciation==='
TemplateFR[22] = u'{{-pron-}}'
Template[23] = u'=====Quotations====='
TemplateFR[23] = u'#*'
Template[24] = u'====References===='
TemplateFR[24] = u'{{-réf-}}'
Template[25] = u'====Related terms===='
TemplateFR[25] = u'{{-apr-}}'
Template[26] = u'===See also==='
TemplateFR[26] = u'{{-voir-}}'
Template[27] = u'====Synonyms===='
TemplateFR[27] = u'{{-syn-}}'
Template[28] = u'====Translations===='
TemplateFR[28] = u'{{-trad-}}'
Template[29] = u'====Usage notes===='
TemplateFR[29] = u'{{-note-}}'
Template[30] = u'{{also|'
TemplateFR[30] = u'{{voir|'
Template[31] = u'==English=='
TemplateFR[31] = u'=={{=en=}}=='
Template[32] = u'==French=='
TemplateFR[32] = u'=={{=fr=}}=='
Template[33] = u'==Spanish=='
TemplateFR[33] = u'=={{=es=}}=='
Template[34] = u'==Italian=='
TemplateFR[34] = u'=={{=it=}}=='
Template[35] = u'==Portuguese=='
TemplateFR[35] = u'=={{=pt=}}=='
Template[36] = u'==German=='
TemplateFR[36] = u'=={{=de=}}=='
Template[37] = u'==Old English=='
TemplateFR[37] = u'=={{=ang=}}=='
Template[38] = u'===Adverbe==='
TemplateFR[38] = u'{{-adv-}}'
Template[39] = u'===Caractère==='
TemplateFR[39] = u'{{-car-}}'
Template[40] = u'===Conjonction==='
TemplateFR[40] = u'{{-conj-}}'
Template[41] = u'===Nom commun==='
TemplateFR[41] = u'{{-nom-}}'
Template[42] = u'===Nom propre==='
TemplateFR[42] = u'{{-nom-pr-}}'
Template[42] = u'===Verbe==='
TemplateFR[42] = u'{{-verbe-}}'
Template[43] = u'===Lettre==='
TemplateFR[43] = u'{{-lettre-}}'
Template[44] = u'===Nom==='
TemplateFR[44] = u'{{-nom-}}'
Template[45] = u'===Numéral==='
TemplateFR[45] = u'{{-num-}}'
Template[46] = u'===Particule==='
TemplateFR[46] = u'{{-part-}}'
Template[47] = u'===Préposition==='
TemplateFR[47] = u'{{-prép-}}'
Template[48] = u'===Pronom==='
TemplateFR[48] = u'{{-pronom-}}'
Template[49] = u'===Adjectif==='
TemplateFR[49] = u'{{-adj-}}'
Template[50] = u'===Anagrams==='
TemplateFR[50] = u'{{-anagr-}}'
Template[51] = u'{{IPA|'
TemplateFR[51] = u'{{pron|'
Template[52] = u'{{X-SAMPA|'
TemplateFR[52] = u'{{pron|'
Template[53] = u'trans-top'
TemplateFR[53] = u'trad-début'
Template[54] = u'{{trans-mid}}'
TemplateFR[54] = u''
Template[55] = u'trans-bottom'
TemplateFR[55] = u'trad-fin'
Template[56] = u'{{t+|'
TemplateFR[56] = u'{{trad+|'
Template[57] = u'{{t-|'
TemplateFR[57] = u'{{trad-|'
Template[58] = u'{{en-noun'
TemplateFR[58] = u'{{en-nom-rég'
Template[59] = u'----'
TemplateFR[59] = u''
Template[60] = u'#English'
TemplateFR[60] = u'#en'
Template[61] = u'{{context'
TemplateFR[61] = u'{{terme'
Template[62] = u'{{obsolete'
TemplateFR[62] = u'{{obsolète'
Template[63] = u'{{nautical'
TemplateFR[63] = u'{{marine'
Template[64] = u'{{figuratively '
TemplateFR[64] = u'{{figuré'
Template[65] = u'{{trans-see'
TemplateFR[65] = u'{{cf'
# Modification du wiki
def modification(PageHS):
#print(PageHS.encode(config.console_encoding, 'replace'))
PageEnd = u''
page = Page(site,PageHS)
if page.exists():
if page.namespace() !=0 and PageHS != u'Utilisateur:JackBot/test':
return
else:
try:
PageBegin = page.get()
except wikipedia.NoPage:
print "NoPage"
return
except wikipedia.IsRedirectPage:
print "Redirect page"
return
except wikipedia.LockedPage:
print "Locked/protected page"
return
else:
print "NoPage"
return
PageTemp = PageBegin
if PageTemp.find(u'{{formater') != -1 or PageTemp.find(u'{{supp') != -1: return
# Traductions des modèles des autres Wiktionnaires
for p in range(1,LimitTemplate):
while PageTemp.find(Template[p]) != -1: PageTemp = PageTemp[0:PageTemp.find(Template[p])] + TemplateFR[p] + PageTemp[PageTemp.find(Template[p])+len(Template[p]):len(PageTemp)]
# Ajout des {{voir}}
if PageTemp.find(u'{{voir|') == -1 and PageTemp.find(u'{{voir/') == -1:
PageVoir = u''
# Liste de toutes les pages potentiellement "à voir"
PagesCleTotal = PageHS
if PagesCleTotal.find(PageHS.lower()) == -1: PagesCleTotal = PagesCleTotal + u'|' + PageHS.lower()
if PagesCleTotal.find(PageHS.upper()) == -1: PagesCleTotal = PagesCleTotal + u'|' + PageHS.upper()
if PagesCleTotal.find(PageHS[0:1].lower() + PageHS[1:len(PageHS)]) == -1: PagesCleTotal = PagesCleTotal + u'|' + PageHS[0:1].lower() + PageHS[1:len(PageHS)]
if PagesCleTotal.find(PageHS[0:1].upper() + PageHS[1:len(PageHS)]) == -1: PagesCleTotal = PagesCleTotal + u'|' + PageHS[0:1].upper() + PageHS[1:len(PageHS)]
if PagesCleTotal.find(u'-' + PageHS[0:1].lower() + PageHS[1:len(PageHS)]) == -1: PagesCleTotal = PagesCleTotal + u'|-' + PageHS[0:1].lower() + PageHS[1:len(PageHS)]
if PagesCleTotal.find(PageHS[0:1].lower() + PageHS[1:len(PageHS)] + u'-') == -1: PagesCleTotal = PagesCleTotal + u'|' + PageHS[0:1].lower() + PageHS[1:len(PageHS)] + u'-'
if PageHS.find(u'e') != -1: PagesCleTotal = PagesCleTotal + u'|' + PageHS[0:PageHS.find(u'e')] + u'é' + PageHS[PageHS.find(u'e')+1:len(PageHS)] + u'|' + PageHS[0:PageHS.find(u'e')] + u'è' + PageHS[PageHS.find(u'e')+1:len(PageHS)]
if PageHS.find(u'é') != -1: PagesCleTotal = PagesCleTotal + u'|' + PageHS[0:PageHS.find(u'é')] + u'e' + PageHS[PageHS.find(u'é')+1:len(PageHS)]
if PageHS.find(u'è') != -1: PagesCleTotal = PagesCleTotal + u'|' + PageHS[0:PageHS.find(u'è')] + u'e' + PageHS[PageHS.find(u'è')+1:len(PageHS)]
if PagesCleTotal.find(CleDeTri(PageHS)) == -1: PagesCleTotal = PagesCleTotal + u'|' + CleDeTri(PageHS)
# Filtre des pages de la liste "à voir"
PagesCleRestant = PagesCleTotal + u'|'
PagesCleTotal = u''
PagesVoir = u''
while PagesCleRestant != u'':
HS = u'False'
PageCourante = PagesCleRestant[0:PagesCleRestant.find(u'|')]
PagesCleRestant = PagesCleRestant[PagesCleRestant.find(u'|')+1:len(PagesCleRestant)]
PageCle = Page(site,PageCourante)
try:
PageTempCle = PageCle.get()
except wikipedia.NoPage:
HS = u'True'
except wikipedia.IsRedirectPage:
HS = u'True'
if HS == u'False':
if PagesCleTotal.find(PageCourante) == -1: PagesCleTotal = PagesCleTotal + u'|' + PageCourante
if PageTempCle.find(u'{{voir|') != -1:
# A faire : retirer les pages uniquement avec {{-erreur-
PageTempCle2 = PageTempCle[PageTempCle.find(u'{{voir|')+len(u'{{voir|'):len(PageTempCle)]
PagesVoir = PagesVoir + u'|' + PageTempCle2[0:PageTempCle2.find(u'}}')]
elif PageTempCle.find(u'{{voir/') != -1:
PageTempCle2 = PageTempCle[PageTempCle.find(u'{{voir/')+len(u'{{voir/'):len(PageTempCle)]
PageTemp = u'{{voir/' + PageTempCle2[0:PageTempCle2.find(u'}}')+3] + PageTemp
pageMod = Page(site,u'Modèle:voir/' + PageTempCle2[0:PageTempCle2.find(u'}}')])
try:
PageTempModBegin = pageMod.get()
except wikipedia.NoPage:
break
except wikipedia.IsRedirectPage:
print "Redirect page"
break
except wikipedia.LockedPage:
print "Locked/protected page"
break
PageTempMod = PageTempModBegin
if PageTempMod.find(PageHS) == -1: PageTempMod = PageTempMod[0:PageTempMod.find(u'}}')] + u'|' + PageHS + PageTempMod[PageTempMod.find(u'}}'):len(PageTempMod)]
if PageTempMod.find(PageVoir) == -1: PageTempMod = PageTempMod[0:PageTempMod.find(u'}}')] + u'|' + PageVoir + PageTempMod[PageTempMod.find(u'}}'):len(PageTempMod)]
if PageTempMod != PageTempModBegin: sauvegarde(pageMod,PageTempMod)
PagesCleRestant = u''
break
# Filtre des doublons
if PagesVoir != u'':
PagesVoir = PagesVoir + u'|'
while PagesVoir.find(u'|') != -1:
if PagesCleTotal.find(PagesVoir[0:PagesVoir.find(u'|')]) == -1: PagesCleTotal = PagesCleTotal + u'|' + PagesVoir[0:PagesVoir.find(u'|')]
PagesVoir = PagesVoir[PagesVoir.find(u'|')+1:len(PagesVoir)]
#raw_input(PagesCleTotal.encode(config.console_encoding, 'replace'))
# Balayage de toutes les pages "à voir"
if PagesCleTotal != u'':
while PagesCleTotal[0:1] == u'|': PagesCleTotal = PagesCleTotal[1:len(PagesCleTotal)]
if PagesCleTotal != PageHS:
PagesCleRestant = PagesCleTotal + u'|'
while PagesCleRestant.find(u'|') != -1:
HS = u'False'
PageCourante = PagesCleRestant[0:PagesCleRestant.find(u'|')]
if PageCourante == u'': break
PagesCleRestant = PagesCleRestant[PagesCleRestant.find(u'|')+1:len(PagesCleRestant)]
PageCle = Page(site,PageCourante)
try:
PageTempCleBegin = PageCle.get()
except wikipedia.NoPage:
HS = u'True'
if HS == u'False':
PageTempCle = PageTempCleBegin
if PageTempCle.find(u'{{voir|') != -1:
if PagesCleTotal.find(u'|' + PageCourante) != -1:
PageTempCle2 = PageTempCle[PageTempCle.find(u'{{voir|')+len(u'{{voir|'):len(PageTempCle)]
PageTempCle = PageTempCle[0:PageTempCle.find(u'{{voir|')+len(u'{{voir|')] + PagesCleTotal[0:PagesCleTotal.find(u'|' + PageCourante)] + PagesCleTotal[PagesCleTotal.find(u'|' + PageCourante)+len(u'|' + PageCourante):len(PagesCleTotal)] + PageTempCle[PageTempCle.find(u'{{voir|')+len(u'{{voir|')+PageTempCle2.find(u'}}'):len(PageTempCle)]
else: # Cas du premier
PageTempCle2 = PageTempCle[PageTempCle.find(u'{{voir|')+len(u'{{voir'):len(PageTempCle)]
PageTempCle = PageTempCle[0:PageTempCle.find(u'{{voir|')+len(u'{{voir|')] + PagesCleTotal[len(PageCourante):len(PagesCleTotal)] + PageTempCle[PageTempCle.find(u'{{voir|')+len(u'{{voir')+PageTempCle2.find(u'}}'):len(PageTempCle)]
if PageTempCle != PageTempCleBegin:
if PageCourante == PageHS:
PageTemp = PageTempCle
else:
sauvegarde(PageCle,PageTempCle)
else:
if PagesCleTotal.find(u'|' + PageCourante) != -1:
PageTempCle = u'{{voir|' + PagesCleTotal[0:PagesCleTotal.find(u'|' + PageCourante)] + PagesCleTotal[PagesCleTotal.find(u'|' + PageCourante)+len(u'|' + PageCourante):len(PagesCleTotal)] + u'}}\n' + PageTempCle
else: # Cas du premier
PageTempCle = u'{{voir' + PagesCleTotal[len(PageCourante):len(PagesCleTotal)] + u'}}\n' + PageTempCle
if PageCourante == PageHS:
PageTemp = PageTempCle
else:
sauvegarde(PageCle,PageTempCle)
elif PageTemp.find(u'{{voir|') != -1:
PageTemp2 = PageTemp[PageTemp.find(u'{{voir|'):len(PageTemp)]
if PageTemp2.find(u'|' + PageHS + u'|') != -1 and PageTemp2.find(u'|' + PageHS + u'|') < PageTemp2.find(u'}}'):
PageTemp = PageTemp[0:PageTemp.find(u'{{voir|') + PageTemp2.find(u'|' + PageHS + u'|')] + PageTemp[PageTemp.find(u'{{voir|') + PageTemp2.find(u'|' + PageHS + u'|')+len(u'|' + PageHS):len(PageTemp)]
if PageTemp2.find(u'|' + PageHS + u'}') != -1 and PageTemp2.find(u'|' + PageHS + u'}') < PageTemp2.find(u'}}'):
PageTemp = PageTemp[0:PageTemp.find(u'{{voir|') + PageTemp2.find(u'|' + PageHS + u'}')] + PageTemp[PageTemp.find(u'{{voir|') + PageTemp2.find(u'|' + PageHS + u'}')+len(u'|' + PageHS):len(PageTemp)]
# Nettoyage
if PageTemp.find(u'{{voir}}\n') != -1: PageTemp = PageTemp[0:PageTemp.find(u'{{voir}}\n')] + PageTemp[PageTemp.find(u'{{voir}}\n')+len(u'{{voir}}\n'):len(PageTemp)]
if PageTemp.find(u'{{voir}}') != -1: PageTemp = PageTemp[0:PageTemp.find(u'{{voir}}')] + PageTemp[PageTemp.find(u'{{voir}}')+len(u'{{voir}}'):len(PageTemp)]
if (PageTemp.find(u'{{vérifier') != -1 and PageTemp.find(u'{{vérifier') < PageTemp.find(u'{{=')) or PageTemp.find(u'{{PàS') != -1:
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'==')-1]
PageTemp = PageTemp[PageTemp.find(u'==')-1:len(PageTemp)]
# Clés de tri
if PageTemp.find(u'{{clé de tri}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{clé de tri}}')] + PageTemp[PageTemp.find(u'{{clé de tri}}')+len(u'{{clé de tri}}'):len(PageTemp)]
if PageTemp.find(u'{{clé de tri|' + PageHS.lower() + u'}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{clé de tri|' + PageHS.lower() + u'}}')] + PageTemp[PageTemp.find(u'{{clé de tri|' + PageHS.lower() + u'}}')+len(u'{{clé de tri|' + PageHS.lower() + u'}}'):len(PageTemp)]
if PageTemp.find(u'{{clé de tri') == -1:
ClePage = CleDeTri(PageHS)
if ClePage != u'' and ClePage != PageHS:
if PageTemp.find(u'[[Catégorie:') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'[[Catégorie:')] + u'\n{{clé de tri|' + ClePage + u'}}\n' + PageTemp[PageTemp.find(u'[[Catégorie:'):len(PageTemp)]
elif PageTemp.find(u'[[Category:') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'[[Category:')] + u'\n{{clé de tri|' + ClePage + u'}}\n' + PageTemp[PageTemp.find(u'[[Category:'):len(PageTemp)]
else: # Avant interwikis
if re.compile('\[\[[a-z][^wsq]+:[^\[\]\n]+\]\]').search(PageTemp):
try:
i1 = re.search('\[\[[a-z][^wsq]+:[^\[\]\n]+\]\]',PageTemp).start()
PageTemp = PageTemp[:i1] + u'\n{{clé de tri|' + ClePage + u'}}\n\n' + PageTemp[i1:]
except:
print u'pb regex interwiki'
else:
PageTemp = PageTemp + u'\n\n{{clé de tri|' + ClePage + u'}}\n'
else:
PageTemp2 = PageTemp[PageTemp.find(u'{{clé de tri'):len(PageTemp)]
ClePage = PageTemp2[PageTemp2.find(u'|')+1:PageTemp2.find(u'}}')]
if CleDeTri(PageHS) != ClePage:
print (u'Fausse clé de tri dans :')
print (PageHS.encode(config.console_encoding, 'replace'))
print (ClePage.encode(config.console_encoding, 'replace'))
# Nettoyage des doublons
while PageTemp.find(u'{{R:DAF8}}\n{{Import:DAF8}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{R:DAF8}}\n{{Import:DAF8}}')] + PageTemp[PageTemp.find(u'{{R:DAF8}}\n{{Import:DAF8}}')+len(u'{{R:DAF8}}\n'):len(PageTemp)]
while PageTemp.find(u'{{Import:DAF8}}\n{{R:DAF8}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{Import:DAF8}}\n{{R:DAF8}}')+len(u'{{Import:DAF8}}')] + PageTemp[PageTemp.find(u'{{Import:DAF8}}\n{{R:DAF8}}')+len(u'{{Import:DAF8}}\n{{R:DAF8}}'):len(PageTemp)]
# Remplacements consensuels
while PageTemp.find(u' ') != -1:
PageTemp = PageTemp[0:PageTemp.find(u' ')] + u' ' + PageTemp[PageTemp.find(u' ')+len(u' '):len(PageTemp)]
while PageTemp.find(u'à') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'à')] + u'à' + PageTemp[PageTemp.find(u'à')+len(u'à'):len(PageTemp)]
while PageTemp.find(u'â') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'â')] + u'â' + PageTemp[PageTemp.find(u'â')+len(u'â'):len(PageTemp)]
while PageTemp.find(u'ä') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ä')] + u'ä' + PageTemp[PageTemp.find(u'ä')+len(u'ä'):len(PageTemp)]
while PageTemp.find(u'é') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'é')] + u'é' + PageTemp[PageTemp.find(u'é')+len(u'é'):len(PageTemp)]
while PageTemp.find(u'è') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'è')] + u'è' + PageTemp[PageTemp.find(u'è')+len(u'è'):len(PageTemp)]
while PageTemp.find(u'ê') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ê')] + u'ê' + PageTemp[PageTemp.find(u'ê')+len(u'ê'):len(PageTemp)]
while PageTemp.find(u'ë') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ë')] + u'ë' + PageTemp[PageTemp.find(u'ë')+len(u'ë'):len(PageTemp)]
while PageTemp.find(u'î') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'î')] + u'î' + PageTemp[PageTemp.find(u'î')+len(u'î'):len(PageTemp)]
while PageTemp.find(u'ï') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ï')] + u'ï' + PageTemp[PageTemp.find(u'ï')+len(u'ï'):len(PageTemp)]
while PageTemp.find(u'ô') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ô')] + u'ô' + PageTemp[PageTemp.find(u'ô')+len(u'ô'):len(PageTemp)]
while PageTemp.find(u'ö') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ö')] + u'ö' + PageTemp[PageTemp.find(u'ö')+len(u'ö'):len(PageTemp)]
while PageTemp.find(u'ù') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ù')] + u'ù' + PageTemp[PageTemp.find(u'ù')+len(u'ù'):len(PageTemp)]
while PageTemp.find(u'û') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'û')] + u'û' + PageTemp[PageTemp.find(u'û')+len(u'û'):len(PageTemp)]
while PageTemp.find(u'ü') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ü')] + u'ü' + PageTemp[PageTemp.find(u'ü')+len(u'ü'):len(PageTemp)]
while PageTemp.find(u'ç') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ç')] + u'ç' + PageTemp[PageTemp.find(u'ç')+len(u'ç'):len(PageTemp)]
while PageTemp.find(u'ʼ') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ʼ')] + u'ʼ' + PageTemp[PageTemp.find(u'ʼ')+len(u'ʼ'):len(PageTemp)]
while re.compile('{{T\|.*\n\n\*[ ]*{{T\|').search(PageTemp):
i1 = re.search(u'{{T\|.*\n\n\*[ ]*{{T\|',PageTemp).end()
PageTemp = PageTemp[:i1][0:PageTemp[:i1].rfind(u'\n')-1] + PageTemp[:i1][PageTemp[:i1].rfind(u'\n'):len(PageTemp[:i1])] + PageTemp[i1:]
while PageTemp.find(u'— {{source|') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'— {{source|')] + PageTemp[PageTemp.find(u'— {{source|')+2:len(PageTemp)]
while PageTemp.find(u'\n#*') != -1 and PageTemp.find(u'—') != -1:
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'\n#*')+len(u'\n#*')]
PageTemp = PageTemp[PageTemp.find(u'\n#*')+len(u'\n#*'):len(PageTemp)]
if PageTemp.find(u'—') !=-1 and PageTemp.find(u'—') < PageTemp.find(u'\n') and PageEnd.rfind(u'=}}') != PageEnd.rfind(u'fr=}}')+2:
PageTemp2 = PageTemp[PageTemp.find(u'—')+1:len(PageTemp)]
if PageTemp2.find(u'{{') < PageTemp2.find(u'}}'):
while PageTemp2.find(u'\'\'') != -1 and PageTemp2.find(u'\'\'') < PageTemp2.find(u'{') and PageTemp2.find(u'\'\'') < PageTemp2.find(u'#*'):
PageTemp = PageTemp[0:PageTemp.find(u'—')+1+PageTemp2.find(u'\'\'')] + PageTemp[PageTemp.find(u'—')+1+PageTemp2.find(u'\'\'')+2:len(PageTemp)]
PageTemp2 = PageTemp[PageTemp.find(u'—')+1:len(PageTemp2)]
while PageTemp[PageTemp.find(u'—')+1:PageTemp.find(u'—')+2] == u' ':
PageTemp = PageTemp[0:PageTemp.find(u'—')+1] + PageTemp[PageTemp.find(u'—')+2:len(PageTemp)]
PageTemp2 = PageTemp[PageTemp.find(u'—')+1:len(PageTemp2)]
PageTemp = PageTemp[0:PageTemp.find(u'—')] + u'\n#*:' + PageTemp[PageTemp.find(u'—')+1:PageTemp.find(u'—')+2].upper() + PageTemp[PageTemp.find(u'—')+2:len(PageTemp)]
PageTemp = PageEnd + PageTemp
PageEnd = u''
#raw_input(PageTemp.encode(config.console_encoding, 'replace')[0:1000])
while PageTemp.find(u'Catégorie:Villes') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'Catégorie:Villes')] + u'Catégorie:Localités' + PageTemp[PageTemp.find(u'Catégorie:Villes')+len(u'Catégorie:Villes'):len(PageTemp)]
while PageTemp.find(u'{{-réf-}}\n{{R:DAF8}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{R:DAF8}}')] + u'*' + PageTemp[PageTemp.find(u'{{R:DAF8}}'):len(PageTemp)]
while PageTemp.find(u'{{-réf-}}\n{{Import:DAF8}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{Import:DAF8}}')] + u'*' + PageTemp[PageTemp.find(u'{{Import:DAF8}}'):len(PageTemp)]
while PageTemp.find(u'{{-réf-}}\n{{Import:Littré}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{Import:Littré}}')] + u'*' + PageTemp[PageTemp.find(u'{{Import:Littré}}'):len(PageTemp)]
while PageTemp.find(u'\n{{WP') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'\n{{WP')+1] + u'*' + PageTemp[PageTemp.find(u'\n{{WP')+1:len(PageTemp)]
while PageTemp.find(u'-verb-|en}}\nto \'\'\'') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'-verb-|en}}\nto \'\'\'')+len(u'-verb-|en}}\n')] + PageTemp[PageTemp.find(u'-verb-|en}}\nto \'\'\'')+len(u'-verb-|en}}\n')+3:len(PageTemp)]
while PageTemp.find(u'-verb-|en}}\n\'\'\'to ') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'-verb-|en}}\n\'\'\'to ')+len(u'-verb-|en}}\n\'\'\'')] + PageTemp[PageTemp.find(u'-verb-|en}}\n\'\'\'to ')+len(u'-verb-|en}}\n\'\'\'to '):len(PageTemp)]
while PageTemp.find(u'{{API|') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{API|')] + u'{{pron|' + PageTemp[PageTemp.find(u'{{API|')+len(u'{{API|'):len(PageTemp)]
while PageTemp.find(u'{{API}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{API}}')] + u'{{pron|}}' + PageTemp[PageTemp.find(u'{{API}}')+len(u'{{API}}'):len(PageTemp)]
while PageTemp.find(u'\n* {{SAMPA}} : //') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'\n* {{SAMPA}} : //')] + PageTemp[PageTemp.find(u'\n* {{SAMPA}} : //')+len(u'\n* {{SAMPA}} : //'):len(PageTemp)]
while PageTemp.find(u'{{figuré}} {{métaphore|fr}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{figuré}} {{métaphore|fr}}')] + u'{{figuré|fr}}' + PageTemp[PageTemp.find(u'{{figuré}} {{métaphore|fr}}')+len(u'{{figuré}} {{métaphore|fr}}'):len(PageTemp)]
while PageTemp.find(u'{{figuré|fr}} {{métaphore|fr}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{figuré|fr}} {{métaphore|fr}}')] + u'{{figuré|fr}}' + PageTemp[PageTemp.find(u'{{figuré|fr}} {{métaphore|fr}}')+len(u'{{figuré|fr}} {{métaphore|fr}}'):len(PageTemp)]
while PageTemp.find(u'{{PAGENAME}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{PAGENAME}}')] + u'{{subst:PAGENAME}}' + PageTemp[PageTemp.find(u'{{PAGENAME}}')+len(u'{{PAGENAME}}'):len(PageTemp)]
while PageTemp.find(u'{{trad/zh') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{trad/zh')] + u'{{trad/défaut' + PageTemp[PageTemp.find(u'{{trad/zh')+len(u'{{trad/zh'):len(PageTemp)]
while PageTemp.find(u'{{{{T|trad') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{{{T|trad')+2] + PageTemp[PageTemp.find(u'{{{{T|trad')+6:len(PageTemp)]
while PageTemp.find(u'|type=du nom') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'|type=du nom')] + PageTemp[PageTemp.find(u'|type=du nom')+len(u'|type=du nom'):len(PageTemp)]
while PageTemp.find(u'{{boîte début') != -1:
if PageTemp.find(u'{{boîte début|titre=') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{boîte début|titre=')+2] + u'(' + PageTemp[PageTemp.find(u'{{boîte début|titre=')+len(u'{{boîte début|titre='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'{{boîte début')+2] + u'(' + PageTemp[PageTemp.find(u'{{boîte début')+len(u'{{boîte début'):len(PageTemp)]
while PageTemp.find(u'{{boîte milieu') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{boîte milieu')+2] + u'-' + PageTemp[PageTemp.find(u'{{boîte milieu')+len(u'{{boîte milieu'):len(PageTemp)]
while PageTemp.find(u'{{boîte fin') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{boîte fin')+2] + u')' + PageTemp[PageTemp.find(u'{{boîte fin')+len(u'{{boîte fin'):len(PageTemp)]
while PageTemp.find(u'{{boite début') != -1:
if PageTemp.find(u'{{boite début|titre=') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{boite début|titre=')+2] + u'(' + PageTemp[PageTemp.find(u'{{boite début|titre=')+len(u'{{boite début|titre='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'{{boite début')+2] + u'(' + PageTemp[PageTemp.find(u'{{boite début')+len(u'{{boite début'):len(PageTemp)]
while PageTemp.find(u'{{boite milieu') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{boite milieu')+2] + u'-' + PageTemp[PageTemp.find(u'{{boite milieu')+len(u'{{boite milieu'):len(PageTemp)]
while PageTemp.find(u'{{boite fin') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{boite fin')+2] + u')' + PageTemp[PageTemp.find(u'{{boite fin')+len(u'{{boite fin'):len(PageTemp)]
while PageTemp.find(u'\n{{-}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'\n{{-}}')] + PageTemp[PageTemp.find(u'\n{{-}}')+len(u'\n{{-}}'):len(PageTemp)]
while PageTemp.find(u'{{-}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{-}}')] + PageTemp[PageTemp.find(u'{{-}}')+len(u'{{-}}'):len(PageTemp)]
while PageTemp.find(u'\n{{trad-milieu}}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'\n{{trad-milieu}}')] + PageTemp[PageTemp.find(u'\n{{trad-milieu}}')+len(u'\n{{trad-milieu}}'):len(PageTemp)]
while PageTemp.find(u'\n{{colonnes|') != -1:
PageTemp2 = PageTemp[0:PageTemp.find(u'\n{{colonnes|')]
if PageTemp2.rfind(u'{{') != -1 and PageTemp2.rfind(u'{{') == PageTemp2.rfind(u'{{trad-début'): # modèles impriqués dans trad
PageTemp2 = PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|'):len(PageTemp)]
if PageTemp2.find(u'\n}}\n') != -1:
if PageTemp2[0:len(u'titre=')] == u'titre=':
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')] + u'\n{{trad-fin}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')+len(u'\n}}'):len(PageTemp)]
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')] + u'\n{{trad-début|' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|titre='):PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'|')] + u'}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'|')+1:len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')] + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')+len(u'\n}}'):len(PageTemp)]
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')] + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|'):len(PageTemp)]
else: break
elif PageTemp2.rfind(u'{{') != -1 and PageTemp2.rfind(u'{{') == PageTemp2.rfind(u'{{('): # modèles impriqués ailleurs
PageTemp2 = PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|'):len(PageTemp)]
if PageTemp2.find(u'\n}}\n') != -1:
if PageTemp2[0:len(u'titre=')] == u'titre=':
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')] + u'\n{{)}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')+len(u'\n}}'):len(PageTemp)]
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')] + u'\n{{(|' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|titre='):PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'|')] + u'}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'|')+1:len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')] + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')+len(u'\n}}'):len(PageTemp)]
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')] + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|'):len(PageTemp)]
else: break
elif PageTemp2.rfind(u'{{') != -1 and (PageTemp2.rfind(u'{{') == PageTemp2.rfind(u'{{trad-fin') or PageTemp2.rfind(u'{{') == PageTemp2.rfind(u'{{-trad')): # modèle unique dans trad
PageTemp2 = PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|'):len(PageTemp)]
if PageTemp2.find(u'\n}}\n') != -1:
if PageTemp2[0:len(u'titre=')] == u'titre=':
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')] + u'\n{{trad-fin}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')+len(u'\n}}'):len(PageTemp)]
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')] + u'\n{{trad-début|' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|titre='):PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'|')] + u'}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'|')+1:len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')] + u'\n{{trad-fin}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')+len(u'\n}}'):len(PageTemp)]
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')] + u'\n{{trad-début}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|'):len(PageTemp)]
else: break
else: # modèle unique ailleurs
PageTemp2 = PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|'):len(PageTemp)]
if PageTemp2.find(u'\n}}\n') != -1:
if PageTemp2[0:len(u'titre=')] == u'titre=':
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')] + u'\n{{)}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')+len(u'\n}}'):len(PageTemp)]
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')] + u'\n{{(|' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|titre='):PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'|')] + u'}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'|')+1:len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')] + u'\n{{)}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|')+PageTemp2.find(u'\n}}\n')+len(u'\n}}'):len(PageTemp)]
PageTemp = PageTemp[0:PageTemp.find(u'\n{{colonnes|')] + u'\n{{(}}' + PageTemp[PageTemp.find(u'\n{{colonnes|')+len(u'\n{{colonnes|'):len(PageTemp)]
else: break
while PageTemp.find(u'}}1=') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'}}1=')] + PageTemp[PageTemp.find(u'}}1=')+len(u'}}1='):len(PageTemp)]
while PageTemp.find(u'|ko-hanja') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'|ko-hanja')] + u'|ko-Hani' + PageTemp[PageTemp.find(u'|ko-hanja')+len(u'|ko-hanja'):len(PageTemp)]
while PageTemp.find(u'|be-x-old}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'|be-x-old}')] + u'|be-tarask}' + PageTemp[PageTemp.find(u'|be-x-old}')+len(u'|be-x-old}'):len(PageTemp)]
while PageTemp.find(u'|nds-nl}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'|nds-nl}')] + u'|nds-NL}' + PageTemp[PageTemp.find(u'|nds-nl}')+len(u'|nds-nl}'):len(PageTemp)]
while PageTemp.find(u'|zh-min-nan}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'|zh-min-nan}')] + u'|nan}' + PageTemp[PageTemp.find(u'|zh-min-nan}')+len(u'|zh-min-nan}'):len(PageTemp)]
while PageTemp.find(u'|lsf}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'|lsf}')] + u'|fsl}' + PageTemp[PageTemp.find(u'|lsf}')+len(u'|lsf}'):len(PageTemp)]
while PageTemp.find(u'|arg}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'|arg}')] + u'|an}' + PageTemp[PageTemp.find(u'|arg}')+len(u'|arg}'):len(PageTemp)]
while PageTemp.find(u'|nav}') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'|nav}')] + u'|nv}' + PageTemp[PageTemp.find(u'|nav}')+len(u'|nav}'):len(PageTemp)]
PageTemp = PageEnd + PageTemp
PageEnd = u''
# Classement des traductions
while PageTemp.find(u'{{T|') != -1:
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'{{T|')]
PageTemp = PageTemp[PageTemp.find(u'{{T|'):len(PageTemp)]
# Rangement de la ligne de la traduction par ordre alphabétique de la langue dans PageEnd
langue1 = PageTemp[PageTemp.find(u'{{T|')+4:PageTemp.find(u'}')]
if langue1.find(u'|') != -1: langue1 = langue1[0:langue1.find(u'|')]
if langue1 != u'':
Langue1 = Page(site,u'Modèle:' + langue1)
try: PageTemp2 = Langue1.get()
except wikipedia.NoPage:
print u'NoPage : ' + langue1.encode(config.console_encoding, 'replace')
return
except wikipedia.IsRedirectPage:
print u'Redirection : ' + langue1.encode(config.console_encoding, 'replace')
return
except wikipedia.ServerError:
print u'ServerError : ' + langue1.encode(config.console_encoding, 'replace')
return
except wikipedia.BadTitle:
print u'BadTitle : ' + langue1.encode(config.console_encoding, 'replace')
return
if PageTemp2.find(u'<noinclude>') != -1:
langue = CleDeTri(PageTemp2[0:PageTemp2.find(u'<noinclude>')])
langue2 = u'zzz'
TradCourante = PageEnd[PageEnd.rfind(u'\n'):len(PageEnd)] + PageTemp[0:PageTemp.find(u'\n')]
TradSuivantes = u''
PageEnd = PageEnd[0:PageEnd.rfind(u'\n')]
PageTemp = PageTemp[PageTemp.find(u'\n'):len(PageTemp)]
while PageEnd.rfind(u'{{') != PageEnd.rfind(u'{{-trad-') and PageEnd.rfind(u'{{') != PageEnd.rfind(u'{{trad-début') and PageEnd.rfind(u'{{') != PageEnd.rfind(u'{{trad-fin') and PageEnd.rfind(u'{{') != PageEnd.rfind(u'{{trad-trier') and langue2 > langue and PageEnd.rfind(u'{{T') != PageEnd.rfind(u'{{T|conv'):
langue2 = PageEnd[PageEnd.rfind(u'{{T|')+len(u'{{T|'):len(PageEnd)]
langue2 = langue2[0:langue2.find(u'}}')]
if langue2.find(u'|') != -1: langue2 = langue2[0:langue2.find(u'|')]
Langue2 = Page(site,u'Modèle:' + langue2)
try: PageTemp3 = Langue2.get()
except wikipedia.NoPage:
print u'NoPage : ' + langue2.encode(config.console_encoding, 'replace')
return
except wikipedia.IsRedirectPage:
print u'Redirection : ' + langue2.encode(config.console_encoding, 'replace')
return
except wikipedia.ServerError:
print u'ServerError : ' + langue2.encode(config.console_encoding, 'replace')
return
if PageTemp3.find(u'<noinclude>') != -1:
langue2 = CleDeTri(PageTemp3[0:PageTemp3.find(u'<noinclude>')])
if langue2 > langue:
TradSuivantes = PageEnd[PageEnd.rfind(u'\n'):len(PageEnd)] + TradSuivantes
PageEnd = PageEnd[0:PageEnd.rfind(u'\n')]
PageEnd = PageEnd + TradCourante + TradSuivantes
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'\n')+1]
PageTemp = PageTemp[PageTemp.find(u'\n')+1:len(PageTemp)]
#print(PageEnd.encode(config.console_encoding, 'replace'))
#print(PageTemp.encode(config.console_encoding, 'replace'))
PageTemp = PageEnd + PageTemp
PageEnd = u''
#raw_input(PageTemp.encode(config.console_encoding, 'replace'))
if PageTemp.find(u'{{-nom-sciences-|conv}}') != -1 and PageTemp.find(u'[[Catégorie:Noms scientifiques]]') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'[[Catégorie:Noms scientifiques]]')] + PageTemp[PageTemp.find(u'[[Catégorie:Noms scientifiques]]')+len(u'[[Catégorie:Noms scientifiques]]'):len(PageTemp)]
# Repasse derrière Piedbot
if PageTemp.find(u'{{-flex-') != -1 and PageHS[len(PageHS)-1:len(PageHS)] == u's' and PageTemp.find(u'{{-homo-}}\n*[[' + PageHS[0:len(PageHS)-1] + u']]\n*') == -1 and PageTemp.find(u'{{-homo-}}\n*[[' + PageHS[0:len(PageHS)-1] + u']]') != -1 and PageTemp.find(u'{{-homo-}}\n*[[' + PageHS[0:len(PageHS)-1] + u']] ') == -1 and PageTemp.find(u'{{-homo-}}\n*[[' + PageHS[0:len(PageHS)-1] + u']],') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{-homo-}}\n*[[' + PageHS[0:len(PageHS)-1] + u']]')] + PageTemp[PageTemp.find(u'{{-homo-}}\n*[[' + PageHS[0:len(PageHS)-1] + u']]')+len(u'{{-homo-}}\n*[[' + PageHS[0:len(PageHS)-1] + u']]')+1:len(PageTemp)]
elif PageTemp.find(u'{{-flex-') != -1 and PageHS[len(PageHS)-1:len(PageHS)] == u's' and PageTemp.find(u'{{-homo-}}\n* [[' + PageHS[0:len(PageHS)-1] + u']]\n*') == -1 and PageTemp.find(u'{{-homo-}}\n* [[' + PageHS[0:len(PageHS)-1] + u']]') != -1 and PageTemp.find(u'{{-homo-}}\n* [[' + PageHS[0:len(PageHS)-1] + u']] ') == -1 and PageTemp.find(u'{{-homo-}}\n* [[' + PageHS[0:len(PageHS)-1] + u']],') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'{{-homo-}}\n* [[' + PageHS[0:len(PageHS)-1] + u']]')] + PageTemp[PageTemp.find(u'{{-homo-}}\n* [[' + PageHS[0:len(PageHS)-1] + u']]')+len(u'{{-homo-}}\n* [[' + PageHS[0:len(PageHS)-1] + u']]')+1:len(PageTemp)]
# Gentités et leurs adjectifs
if PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'e]], {{fplur}} : [[' + PageHS + u'es]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'e]], {{fplur}} : [[' + PageHS + u'es]])')] + u'{{fr-accord-mixte|}}' + PageTemp[PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'e]], {{fplur}} : [[' + PageHS + u'es]])')+len(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'e]], {{fplur}} : [[' + PageHS + u'es]])'):len(PageTemp)]
if PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'e]], {{fplur}} : \'\'\'' + PageHS + u'es]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'e]], {{fplur}} : \'\'\'' + PageHS + u'es]])')] + u'{{fr-accord-mixte|}}' + PageTemp[PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'e]], {{fplur}} : \'\'\'' + PageHS + u'es]])')+len(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'e]], {{fplur}} : \'\'\'' + PageHS + u'es]])')+1:len(PageTemp)]
if PageTemp.find(u'({{p}} : [[' + PageHS + u']], {{f}} : [[' + PageHS + u'e]], {{fplur}} : [[' + PageHS + u'es]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : [[' + PageHS + u']], {{f}} : [[' + PageHS + u'e]], {{fplur}} : [[' + PageHS + u'es]])')] + u'{{fr-accord-s|}}' + PageTemp[PageTemp.find(u'({{p}} : [[' + PageHS + u']], {{f}} : [[' + PageHS + u'e]], {{fplur}} : [[' + PageHS + u'es]])')+len(u'({{p}} : [[' + PageHS + u']], {{f}} : [[' + PageHS + u'e]], {{fplur}} : [[' + PageHS + u'es]])'):len(PageTemp)]
if PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u'\'\'\', {{f}} : \'\'\'' + PageHS + u'e]], {{fplur}} : \'\'\'' + PageHS + u'es]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u'\'\'\', {{f}} : \'\'\'' + PageHS + u'e]], {{fplur}} : \'\'\'' + PageHS + u'es]])')] + u'{{fr-accord-s|}}' + PageTemp[PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u'\'\'\', {{f}} : \'\'\'' + PageHS + u'e]], {{fplur}} : \'\'\'' + PageHS + u'es]])')+len(u'({{p}} : \'\'\'' + PageHS + u'\'\'\', {{f}} : \'\'\'' + PageHS + u'e]], {{fplur}} : \'\'\'' + PageHS + u'es]])'):len(PageTemp)]
if PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'le]], {{fplur}} : [[' + PageHS + u'les]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'le]], {{fplur}} : [[' + PageHS + u'les]])')] + u'{{fr-accord-el|}}' + PageTemp[PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'le]], {{fplur}} : [[' + PageHS + u'les]])')+len(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'le]], {{fplur}} : [[' + PageHS + u'les]])'):len(PageTemp)]
if PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'le]], {{fplur}} : \'\'\'' + PageHS + u'les]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'le]], {{fplur}} : \'\'\'' + PageHS + u'les]])')] + u'{{fr-accord-el|}}' + PageTemp[PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'le]], {{fplur}} : \'\'\'' + PageHS + u'les]])')+len(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'le]], {{fplur}} : \'\'\'' + PageHS + u'les]])')+1:len(PageTemp)]
if PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'ne]], {{fplur}} : [[' + PageHS + u'nes]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'ne]], {{fplur}} : [[' + PageHS + u'nes]])')] + u'{{fr-accord-en|}}' + PageTemp[PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'ne]], {{fplur}} : [[' + PageHS + u'nes]])')+len(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'ne]], {{fplur}} : [[' + PageHS + u'nes]])'):len(PageTemp)]
if PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'ne]], {{fplur}} : \'\'\'' + PageHS + u'nes]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'ne]], {{fplur}} : \'\'\'' + PageHS + u'nes]])')] + u'{{fr-accord-en|}}' + PageTemp[PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'ne]], {{fplur}} : \'\'\'' + PageHS + u'nes]])')+len(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'ne]], {{fplur}} : \'\'\'' + PageHS + u'nes]])')+1:len(PageTemp)]
if PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'te]], {{fplur}} : [[' + PageHS + u'tes]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'te]], {{fplur}} : [[' + PageHS + u'tes]])')] + u'{{fr-accord-et|}}' + PageTemp[PageTemp.find(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'te]], {{fplur}} : [[' + PageHS + u'tes]])')+len(u'({{p}} : [[' + PageHS + u's]], {{f}} : [[' + PageHS + u'te]], {{fplur}} : [[' + PageHS + u'tes]])'):len(PageTemp)]
if PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'te]], {{fplur}} : \'\'\'' + PageHS + u'tes]])') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'te]], {{fplur}} : \'\'\'' + PageHS + u'tes]])')] + u'{{fr-accord-et|}}' + PageTemp[PageTemp.find(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'te]], {{fplur}} : \'\'\'' + PageHS + u'tes]])')+len(u'({{p}} : \'\'\'' + PageHS + u's\'\'\', {{f}} : \'\'\'' + PageHS + u'te]], {{fplur}} : \'\'\'' + PageHS + u'tes]])')+1:len(PageTemp)]
# Ajouts des codes langues
EstCodeLangue = u'false'
trad = u'false'
codelangue = None
position = 1
p = 1
while position > -1: # On sauvegarde la partie traitée d'une page provisoire dans une page finale jusqu'à disparition de la première
#if codelangue == u'':
#print(PageEnd.encode(config.console_encoding, 'replace')[0:1000])
#print(PageTemp.encode(config.console_encoding, 'replace')[0:1000])
#raw_input(codelangue)
position = PageTemp.find("{{") # On cherche chaque modèle
if position < 0: break
if PageTemp.find(u'{{fr-unité-SI') != -1: # Détermination de la langue du paragraphe
if PageTemp.find(u'{{fr-unité-SI') < PageTemp.find("{{=") or PageTemp.find("{{=") == -1:
codelangue = u'fr'
elif position == PageTemp.find("{{="):
codelangue = PageTemp[PageTemp.find("{{=")+3:PageTemp.find("=}}")]
EstCodeLangue = "true"
elif PageTemp.find(u'{{conv-symb-SI') != -1:
if PageTemp.find(u'{{conv-symb-SI') < PageTemp.find("{{=") or PageTemp.find("{{=") == -1:
codelangue = u'conv'
elif position == PageTemp.find("{{="):
codelangue = PageTemp[PageTemp.find("{{=")+3:PageTemp.find("=}}")]
EstCodeLangue = "true"
elif PageTemp.find(u'{{-car-') != -1:
if PageTemp.find(u'{{-car-') < PageTemp.find("{{=") or PageTemp.find("{{=") == -1:
codelangue = u'conv'
elif position == PageTemp.find("{{="):
codelangue = PageTemp[PageTemp.find("{{=")+3:PageTemp.find("=}}")]
EstCodeLangue = "true"
elif position == PageTemp.find("{{="):
PageTemp2 = PageTemp[position+3:len(PageTemp)]
if PageTemp2.find("}}") < PageTemp2.find("|") or PageTemp2.find("|") == -1:
if PageTemp.find("{{=") < PageTemp.find("=}}"):
codelangue = PageTemp[PageTemp.find("{{=")+3:PageTemp.find("=}}")]
else:
PageTemp2 = PageTemp[PageTemp.find(u'=}}')+3:len(PageTemp)]
codelangue = PageTemp[PageTemp.find(u'{{=')+3:PageTemp.find(u'=}}')+3+PageTemp2.find(u'=}}')]
else:
codelangue = PageTemp[PageTemp.find("{{=")+3:PageTemp.find("{{=")+3+PageTemp2.find("=|")]
position = PageTemp.find("}}")
PageTemp2 = PageTemp[PageTemp.find(u'=}}')+3:len(PageTemp)]
if len(PageHS) == 1 and (codelangue == u'zh' or codelangue == u'ja' or codelangue == u'ko-hanja' or codelangue == u'vi-chunho') and (PageTemp2.find(u'{{-') == -1 or (PageTemp2.find(u'{{-') > PageTemp2.find(u'{{=') and PageTemp2.find(u'{{=') != -1) or PageTemp2.find(u'{{-') == PageTemp2.find(u'{{-réf-') or PageTemp2.find(u'{{-') == PageTemp2.find(u'{{-pron-') or PageTemp2.find(u'{{-') == PageTemp2.find(u'{{-drv-')):
PageTemp = PageTemp[0:PageTemp.find(u'==\n')+3] + u'{{-sinogramme-|' + codelangue + u'}}\n\'\'\'{{subst:PAGENAME}}\'\'\'\n\n' + PageTemp[PageTemp.find(u'==\n')+3:len(PageTemp)]
position = position + 2
PageEnd = PageEnd + PageTemp[0:position] # Transfert vers la page finale de l'article jusqu'au modèle en traitement exclu
PageTemp = PageTemp[position:len(PageTemp)]
if PageTemp.find(" }}") < PageTemp.find("}}") and PageTemp.find(" }}") != -1 : # Détermination du caractère délimitant la fin du nom du modèle
PageTemp = PageTemp[0:PageTemp.find(" }}")] + PageTemp[PageTemp.find(" }}")+1:len(PageTemp)]
if PageTemp.find("|") > PageTemp.find("}}"):
position = PageTemp.find("}}")
elif PageTemp.find("|") == -1:
position = PageTemp.find("}}")
else:
position = PageTemp.find("|")
# Nettoyage de la ponctuation en français
while PageTemp.find(u' ,') != -1 and codelangue == u'fr':
PageTemp = PageTemp[0:PageTemp.find(u' ,')] + PageTemp[PageTemp.find(u' ,')+1:len(PageTemp)]
while PageTemp.find(u' .') != -1 and codelangue == u'fr':
PageTemp = PageTemp[0:PageTemp.find(u' .')] + PageTemp[PageTemp.find(u' .')+1:len(PageTemp)]
# Nettoyage de certains modèles
if PageTemp[0:position] == u'en-conj-rég':
PageTemp2 = PageTemp[position+1:len(PageTemp)]
if PageTemp2.find(u'|') < PageTemp2.find(u'}}') and PageTemp2.find(u'|') != -1:
if PageTemp2[0:PageTemp2.find(u'|')] == PageHS:
PageTemp = PageTemp[0:position] + PageTemp[position+1+PageTemp2.find(u'|'):len(PageTemp)]
else:
if PageTemp2[0:PageTemp2.find(u'}}')] == PageHS:
PageTemp = PageTemp[0:position] + PageTemp[position+1+PageTemp2.find(u'}}'):len(PageTemp)]
#raw_input(PageEnd.encode(config.console_encoding, 'replace')[0:1000])
# Comparaison avec chaque modèle connu
for p in range(1,limit4):
if Modele[p] == PageTemp[0:position]:
#print(Modele[p].encode(config.console_encoding, 'replace'))
#raw_input(codelangue)
# Modèles spéciaux
if not codelangue:
#print(PageTemp.encode(config.console_encoding, 'replace')[0:1000])
#raw_input("codelangue nul")
if Modele[p] == u'formater':
return
elif Modele[p] == u'ébauche':
return
else:
print u'Code langue manquant dans :'
print Modele[p].encode(config.console_encoding, 'replace')
PageEnd = u'{{formater|Code langue manquant}}\n' + PageBegin
sauvegarde(page,PageEnd)
return
if Modele[p] == u'term' or Modele[p] == u'terme':
for p2 in range(1,limit4):
if Modele[p2] == PageTemp[PageTemp.find("|")+1:PageTemp.find("}}")]:
if EstCodeLangue == "false":
PageEnd = PageEnd + Modele[p2] + "|nocat=1}}"
else:
PageEnd = PageEnd + Modele[p2] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
break
elif Modele[p] == u'pron' or Modele[p] == u'dénominal de' or Modele[p] == u'déverbal de' or Modele[p] == u'superlatif de':
# Trie des lettres de l'API
if Modele[p] == u'pron':
while PageTemp.find(u'\'') != -1 and PageTemp.find(u'\'') < PageTemp.find(u'}}'): PageTemp = PageTemp[0:PageTemp.find("\'")] + u'ˈ' + PageTemp[PageTemp.find(u'\'')+1:len(PageTemp)]
while PageTemp.find(u'ε') != -1 and PageTemp.find(u'ε') < PageTemp.find(u'}}'): PageTemp = PageTemp[0:PageTemp.find(u'ε')] + u'ɛ' + PageTemp[PageTemp.find(u'ε')+1:len(PageTemp)]
while PageTemp.find(u'ε̃') != -1 and PageTemp.find(u'ε̃') < PageTemp.find(u'}}'): PageTemp = PageTemp[0:PageTemp.find(u'ε̃')] + u'ɛ̃' + PageTemp[PageTemp.find(u'ε̃')+1:len(PageTemp)]
if PageTemp[0:8] == u'pron||}}':
PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}")] + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif PageTemp[position:position+3] == u'|}}' or PageTemp[position:position+4] == u'| }}':
PageEnd = PageEnd + PageTemp[0:position] + "||" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif (PageTemp.find("lang=") != -1 and PageTemp.find("lang=") < PageTemp.find("}}")):
PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}")+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif position == PageTemp.find(u'|'):
PageTemp2 = PageTemp[position+1:PageTemp.find("}}")]
if PageTemp2.find(u'|') == -1:
PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}")] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
else:
PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}")+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif position == PageTemp.find("}}"):
PageEnd = PageEnd + PageTemp[0:position] + "||" + codelangue + "}}"
PageTemp = PageTemp[position+2:len(PageTemp)]
break
else:
PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}")] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
#elif Modele[p] == u'fr-rég' or Modele[p] == u'fr-inv': synchro de la pronociation avec {{pron|
elif Modele[p] == u'm' or Modele[p] == u'f':
if trad == u'true' or (codelangue != u'en' and codelangue != u'zh' and codelangue != u'ja' and codelangue != u'ko'):
PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}")+2]
else:
PageEnd = PageEnd[0:len(PageEnd)-2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'mf' or Modele[p] == u'mf?':
if trad == u'true' or (codelangue != u'en' and codelangue != u'zh' and codelangue != u'ja' and codelangue != u'ko'):
PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}")+2]
else:
PageEnd = PageEnd[0:len(PageEnd)-2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'n' or Modele[p] == u'c':
if trad == u'true' or (codelangue != u'en' and codelangue != u'zh' and codelangue != u'ja' and codelangue != u'ko' and codelangue != u'fr'):
PageEnd = PageEnd + Modele[p] + u'}}'
else:
PageEnd = PageEnd[0:len(PageEnd)-2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'aphérèse' or Modele[p] == u'apocope' or Modele[p] == u'mot-valise' or Modele[p] == u'contraction' or Modele[p] == u'contr' or (
Modele[p] == u'ellipse') or Modele[p] == u'abréviation' or Modele[p] == u'abrév' or Modele[p] == u'métonymie' or Modele[p] == u'méton':
if (EstCodeLangue == u'false') and PageEnd.rfind(u'-étym-}}') != PageEnd.rfind(u'-}}')-5: # Les modèles d'étymologie contiennent des codes langues dans ce paragraphe aussi
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
if position == PageTemp.find("|"): # S'il y a déjà un paramètre
PageTemp2 = PageTemp[PageTemp.find("|")+1:len(PageTemp)]
if (PageTemp2.find("m=") > PageTemp2.find("|")) and (PageTemp2.find("m=") < PageTemp2.find("}}")): # Si PageTemp2 = ...|m=1...}}...
PageEnd = PageEnd + Modele[p] + u'|' + codelangue + u'|m=1}}'
elif (PageTemp2.find("m=") >= 0) and (PageTemp2.find("m=") < PageTemp2.find("}}")): # Si PageTemp2 = m=1...}}...
PageEnd = PageEnd + PageTemp[0:position] + u'|m=1|' + codelangue + u'}}'
elif (PageTemp2.find(u'déf=') > PageTemp2.find("|")) and (PageTemp2.find(u'déf=') < PageTemp2.find("}}")):
PageEnd = PageEnd + Modele[p] + u'|' + codelangue + u'|déf=oui}}'
elif (PageTemp2.find(u'déf=') >= 0) and (PageTemp2.find(u'déf=') < PageTemp2.find("}}")):
PageEnd = PageEnd + PageTemp[0:position] + u'|déf=oui|' + codelangue + u'}}'
else:
PageEnd = PageEnd + Modele[p] + u'|' + codelangue + u'}}'
else:
PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}")] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'conjugaison' or Modele[p] == u'conj' or Modele[p] == u'1ergroupe' or Modele[p] == u'2egroupe' or Modele[p] == u'3egroupe': # Modèle à deux paramètres
if Modele[p] == u'1ergroupe':
PageTemp = u'|grp=1' + PageTemp[len(u'1ergroupe'):len(PageTemp)]
PageEnd = PageEnd + u'conj'
elif Modele[p] == u'2egroupe':
PageTemp = u'|grp=2' + PageTemp[len(u'2egroupe'):len(PageTemp)]
PageEnd = PageEnd + u'conj'
elif Modele[p] == u'3egroupe':
PageTemp = u'|grp=3' + PageTemp[len(u'3egroupe'):len(PageTemp)]
PageEnd = PageEnd + u'conj'
elif Modele[p] == u'conjugaison':
PageTemp = PageTemp[len(u'conjugaison'):len(PageTemp)]
PageEnd = PageEnd + u'conjugaison'
elif Modele[p] == u'conj':
PageTemp = PageTemp[len(u'conj'):len(PageTemp)]
PageEnd = PageEnd + u'conj'
# Vérification des groupes en espagnol, portugais et italien
if codelangue == u'es':
if PageHS[len(PageHS)-2:len(PageHS)] == u'ar' or PageHS[len(PageHS)-4:len(PageHS)] == u'arsi':
if (PageTemp.find(u'grp=') != -1 and PageTemp.find(u'grp=') < PageTemp.find("}}")):
if PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=}') or PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'1' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'1' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp=')+1:len(PageTemp)]
elif (PageTemp.find(u'groupe=') != -1 and PageTemp.find(u'groupe=') < PageTemp.find("}}")):
if PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=}') or PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'1' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'1' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe=')+1:len(PageTemp)]
else:
PageTemp = u'|groupe=1' + PageTemp
elif PageHS[len(PageHS)-2:len(PageHS)] == u'er' or PageHS[len(PageHS)-4:len(PageHS)] == u'ersi':
if (PageTemp.find(u'grp=') != -1 and PageTemp.find(u'grp=') < PageTemp.find("}}")):
if PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=}') or PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'2' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'2' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp=')+1:len(PageTemp)]
elif (PageTemp.find(u'groupe=') != -1 and PageTemp.find(u'groupe=') < PageTemp.find("}}")):
if PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=}') or PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'2' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'2' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe=')+1:len(PageTemp)]
else:
PageTemp = u'|groupe=2' + PageTemp
elif PageHS[len(PageHS)-2:len(PageHS)] == u'ir' or PageHS[len(PageHS)-4:len(PageHS)] == u'irsi':
if (PageTemp.find(u'grp=') != -1 and PageTemp.find(u'grp=') < PageTemp.find("}}")):
if PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=}') or PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'3' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'3' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp=')+1:len(PageTemp)]
elif (PageTemp.find(u'groupe=') != -1 and PageTemp.find(u'groupe=') < PageTemp.find("}}")):
if PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=}') or PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'3' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'3' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe=')+1:len(PageTemp)]
else:
PageTemp = u'|groupe=3' + PageTemp
elif codelangue == u'pt':
if PageHS[len(PageHS)-2:len(PageHS)] == u'ar' or PageHS[len(PageHS)-4:len(PageHS)] == u'ar-se':
if (PageTemp.find(u'grp=') != -1 and PageTemp.find(u'grp=') < PageTemp.find("}}")):
if PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=}') or PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'1' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'1' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp=')+1:len(PageTemp)]
elif (PageTemp.find(u'groupe=') != -1 and PageTemp.find(u'groupe=') < PageTemp.find("}}")):
if PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=}') or PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'1' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'1' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe=')+1:len(PageTemp)]
else:
PageTemp = u'|groupe=1' + PageTemp
elif PageHS[len(PageHS)-2:len(PageHS)] == u'er' or PageHS[len(PageHS)-4:len(PageHS)] == u'er-se':
if (PageTemp.find(u'grp=') != -1 and PageTemp.find(u'grp=') < PageTemp.find("}}")):
if PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=}') or PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'2' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'2' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp=')+1:len(PageTemp)]
elif (PageTemp.find(u'groupe=') != -1 and PageTemp.find(u'groupe=') < PageTemp.find("}}")):
if PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=}') or PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'2' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'2' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe=')+1:len(PageTemp)]
else:
PageTemp = u'|groupe=2' + PageTemp
elif PageHS[len(PageHS)-2:len(PageHS)] == u'ir' or PageHS[len(PageHS)-4:len(PageHS)] == u'ir-se':
if (PageTemp.find(u'grp=') != -1 and PageTemp.find(u'grp=') < PageTemp.find("}}")):
if PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=}') or PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'3' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'3' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp=')+1:len(PageTemp)]
elif (PageTemp.find(u'groupe=') != -1 and PageTemp.find(u'groupe=') < PageTemp.find("}}")):
if PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=}') or PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'3' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'3' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe=')+1:len(PageTemp)]
else:
PageTemp = u'|groupe=3' + PageTemp
elif codelangue == u'it':
if PageHS[len(PageHS)-3:len(PageHS)] == u'are' or PageHS[len(PageHS)-4:len(PageHS)] == u'arsi':
if (PageTemp.find(u'grp=') != -1 and PageTemp.find(u'grp=') < PageTemp.find("}}")):
if PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=}') or PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'1' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'1' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp=')+1:len(PageTemp)]
elif (PageTemp.find(u'groupe=') != -1 and PageTemp.find(u'groupe=') < PageTemp.find("}}")):
if PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=}') or PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'1' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'1' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe=')+1:len(PageTemp)]
else:
PageTemp = u'|groupe=1' + PageTemp
elif PageHS[len(PageHS)-3:len(PageHS)] == u'ere' or PageHS[len(PageHS)-4:len(PageHS)] == u'ersi':
if (PageTemp.find(u'grp=') != -1 and PageTemp.find(u'grp=') < PageTemp.find("}}")):
if PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=}') or PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'2' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'2' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp=')+1:len(PageTemp)]
elif (PageTemp.find(u'groupe=') != -1 and PageTemp.find(u'groupe=') < PageTemp.find("}}")):
if PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=}') or PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'2' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'2' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe=')+1:len(PageTemp)]
else:
PageTemp = u'|groupe=2' + PageTemp
elif PageHS[len(PageHS)-3:len(PageHS)] == u'ire' or PageHS[len(PageHS)-4:len(PageHS)] == u'irsi':
if (PageTemp.find(u'grp=') != -1 and PageTemp.find(u'grp=') < PageTemp.find("}}")):
if PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=}') or PageTemp.find(u'|grp=') == PageTemp.find(u'|grp=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'3' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|grp=')+len(u'|grp=')] + u'3' + PageTemp[PageTemp.find(u'|grp=')+len(u'|grp=')+1:len(PageTemp)]
elif (PageTemp.find(u'groupe=') != -1 and PageTemp.find(u'groupe=') < PageTemp.find("}}")):
if PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=}') or PageTemp.find(u'|groupe=') == PageTemp.find(u'|groupe=|'):
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'3' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe='):len(PageTemp)]
else:
PageTemp = PageTemp[0:PageTemp.find(u'|groupe=')+len(u'|groupe=')] + u'3' + PageTemp[PageTemp.find(u'|groupe=')+len(u'|groupe=')+1:len(PageTemp)]
else:
PageTemp = u'|groupe=3' + PageTemp
if (PageTemp.find(codelangue) != -1 and PageTemp.find(codelangue) < PageTemp.find("}}")) or codelangue == u'fr':
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
else:
if PageTemp.find(u'|nocat=1') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'|nocat=1')] + PageTemp[PageTemp.find(u'|nocat=1')+len(u'|nocat=1'):len(PageTemp)]
PageTemp = u'|' + codelangue + PageTemp
break
elif Modele[p] == u'-prénom-' or Modele[p] == u'-flex-prénom-': # Modèle à trois paramètres : codelangue, num et genre
EstCodeLangue == "true"
if PageTemp.find("genre=") != -1 and PageTemp.find("genre=") < PageTemp.find("}}") and (PageTemp.find("num=") == -1 or PageTemp.find("num=") > PageTemp.find("}}")):
if PageTemp.find("genre=") > position+1: # genre= est après le code langue
PageEnd = PageEnd + Modele[p] + u'|' + codelangue + PageTemp[PageTemp.find("genre=")-1:PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # genre= est avant un éventuel code langue
PageTemp2 = PageTemp[position+1:len(PageTemp)]
if (PageTemp2.find(u'|') != -1) and (PageTemp2.find(u'|') < PageTemp2.find(u'}}')): # il y a un code langue
PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')+2] + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # Pas de code langue
PageEnd = PageEnd + PageTemp[0:position+1+PageTemp2.find(u'}}')] + u'|' + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif PageTemp.find("genre=") != -1 and PageTemp.find("genre=") < PageTemp.find("}}") and PageTemp.find("num=") != -1 and PageTemp.find("num=") < PageTemp.find("}}"):
if PageTemp.find("genre=") < PageTemp.find("num="):
# en travaux (recalculer les num)
break
else:
# en travaux (recalculer les num)
break
elif PageTemp.find("num=") != -1 and PageTemp.find("num=") < PageTemp.find("}}") and (PageTemp.find("genre=") == -1 or PageTemp.find("genre=") > PageTemp.find("}}")):
if PageTemp.find("num=") > position+1: # num= est après le code langue
PageEnd = PageEnd + Modele[p] + u'|' + codelangue + PageTemp[PageTemp.find("num=")-1:PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # num= est avant un éventuel code langue
PageTemp2 = PageTemp[position+1:len(PageTemp)]
if (PageTemp2.find(u'|') != -1) and (PageTemp2.find(u'|') < PageTemp2.find(u'}}')): # il y a un code langue
PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')+2] + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # Pas de code langue
PageEnd = PageEnd + PageTemp[0:position+1+PageTemp2.find(u'}}')] + u'|' + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
break
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'source':
if PageTemp.find(u'{{w|') != -1 and PageTemp.find(u'{{w|') < PageTemp.find(u'}}'):
PageTemp2 = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'}}')+2+PageTemp2.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)+PageTemp2.find(u'}}')+2]
break
else:
PageEnd = PageEnd + PageTemp[0:position+1+PageTemp2.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'mythologie' or Modele[p] == u'myth': # Modèle à deux paramètres
if (PageTemp.find("myt=") != -1 and PageTemp.find("myt=") < PageTemp.find("}}")):
if PageTemp.find("myt=") > position+1: # myt= est après le code langue
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Animaux imaginaires'
) != -1 and (PageTemp.find(u':Catégorie:Animaux imaginaires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Animaux imaginaires') + 1 != PageTemp.rfind(u'Catégorie:Animaux imaginaires'))
) or (PageTemp.find(u'Catégorie:Plantes imaginaires'
) != -1 and (PageTemp.find(u':Catégorie:Plantes imaginaires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Plantes imaginaires') + 1 != PageTemp.rfind(u'Catégorie:Plantes imaginaires'))
) or (PageTemp.find(u'Catégorie:Divinités'
) != -1 and (PageTemp.find(u':Catégorie:Divinités') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Divinités') + 1 != PageTemp.rfind(u'Catégorie:Divinités'))):
PageEnd = PageEnd + Modele[p] + u'|nocat=1|' + PageTemp[PageTemp.find("myt="):PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else:
PageEnd = PageEnd + Modele[p] + u'|' + codelangue + PageTemp[PageTemp.find("myt=")-1:PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # myt= est avant un éventuel code langue
PageTemp2 = PageTemp[position+1:len(PageTemp)]
if (PageTemp2.find(u'|') != -1) and (PageTemp2.find(u'|') < PageTemp2.find(u'}}')): # il y a un code langue
if EstCodeLangue == "false":
PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')] + u'|nocat=1}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else:
PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')+2] + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # Pas de code langue
PageEnd = PageEnd + PageTemp[0:position+1+PageTemp2.find(u'}}')] + u'|' + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Animaux imaginaires'
) != -1 and (PageTemp.find(u':Catégorie:Animaux imaginaires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Animaux imaginaires') + 1 != PageTemp.rfind(u'Catégorie:Animaux imaginaires'))
) or (PageTemp.find(u'Catégorie:Plantes imaginaires'
) != -1 and (PageTemp.find(u':Catégorie:Plantes imaginaires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Plantes imaginaires') + 1 != PageTemp.rfind(u'Catégorie:Plantes imaginaires'))
) or (PageTemp.find(u'Catégorie:Divinités'
) != -1 and (PageTemp.find(u':Catégorie:Divinités') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Divinités') + 1 != PageTemp.rfind(u'Catégorie:Divinités'))): # Pas de myt= ni de langue
PageEnd = PageEnd + PageTemp[0:position] + u'|nocat=1}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'religion' or Modele[p] == u'reli': # Modèle à deux paramètres
if (PageTemp.find("rel=") != -1 and PageTemp.find("rel=") < PageTemp.find("}}")):
if PageTemp.find("rel=") > position+1: # rel= est après le code langue
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Divinités'
) != -1 and (PageTemp.find(u':Catégorie:Divinités') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Divinités') + 1 != PageTemp.rfind(u'Catégorie:Divinités'))):
PageEnd = PageEnd + Modele[p] + u'|nocat=1|' + PageTemp[PageTemp.find("rel="):PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else:
PageEnd = PageEnd + Modele[p] + u'|' + codelangue + PageTemp[PageTemp.find("rel=")-1:PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # rel= est avant un éventuel code langue
PageTemp2 = PageTemp[position+1:len(PageTemp)]
if (PageTemp2.find(u'|') != -1) and (PageTemp2.find(u'|') < PageTemp2.find(u'}}')): # il y a un code langue
if EstCodeLangue == "false":
PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')+1] + u'|nocat=1}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else:
PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')+2] + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # Pas de code langue
PageEnd = PageEnd + PageTemp[0:position+1+PageTemp2.find(u'}}')] + u'|' + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Divinités'
) != -1 and (PageTemp.find(u':Catégorie:Divinités') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Divinités') + 1 != PageTemp.rfind(u'Catégorie:Divinités'))): # Pas de rel= ni de langue
PageEnd = PageEnd + PageTemp[0:position] + u'|nocat=1}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'sport':
if (PageTemp.find("sport=") != -1 and PageTemp.find("sport=") < PageTemp.find("}}")):
if PageTemp.find("sport=") > position+1: # sport= est après le code langue
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Sports'
) != -1 and (PageTemp.find(u':Catégorie:Sports') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Sports') + 1 != PageTemp.rfind(u'Catégorie:Sports'))):
PageEnd = PageEnd + Modele[p] + u'|nocat=1|' + PageTemp[PageTemp.find("sport="):PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else:
PageEnd = PageEnd + Modele[p] + u'|' + codelangue + PageTemp[PageTemp.find("sport=")-1:PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # sport= est avant un éventuel code langue
PageTemp2 = PageTemp[position+1:len(PageTemp)]
if (PageTemp2.find(u'|') != -1) or (PageTemp2.find(u'|') < PageTemp2.find(u'}}')): # il y a un code langue
if EstCodeLangue == "false":
PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')+1] + u'|nocat=1}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else:
PageEnd = PageEnd + PageTemp[0:position+PageTemp2.find(u'|')+2] + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
else: # Pas de code langue
PageEnd = PageEnd + PageTemp[0:position+1+PageTemp2.find(u'}}')] + u'|' + codelangue + u'}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Sports'
) != -1 and (PageTemp.find(u':Catégorie:Sports') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Sports') + 1 != PageTemp.rfind(u'Catégorie:Sports'))):
PageEnd = PageEnd + PageTemp[0:position] + u'|nocat=1}}'
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'athlétisme' or Modele[p] == u'athlé':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Sports'
) != -1 and (PageTemp.find(u':Catégorie:Sports') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Sports') + 1 != PageTemp.rfind(u'Catégorie:Sports'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'danse':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Danses'
) != -1 and (PageTemp.find(u':Catégorie:Danses') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Danses') + 1 != PageTemp.rfind(u'Catégorie:Danses'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'jeux':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Jeux'
) != -1 and (PageTemp.find(u':Catégorie:Jeux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Jeux') + 1 != PageTemp.rfind(u'Catégorie:Jeux'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'géographie' or Modele[p] == u'géog' or Modele[p] == u'geog' or Modele[p] == u'toponymie' or Modele[p] == u'topon':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Gentilés'
) != -1 and (PageTemp.find(u':Catégorie:Gentilés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Gentilés') + 1 != PageTemp.rfind(u'Catégorie:Gentilés'))
) or (PageTemp.find(u'Catégorie:Continents'
) != -1 and (PageTemp.find(u':Catégorie:Continents') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Continents') + 1 != PageTemp.rfind(u'Catégorie:Continents'))
) or (PageTemp.find(u'Catégorie:Pays'
) != -1 and (PageTemp.find(u':Catégorie:Pays') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Pays') + 1 != PageTemp.rfind(u'Catégorie:Pays'))
) or (PageTemp.find(u'Catégorie:Localités'
) != -1 and (PageTemp.find(u':Catégorie:Localités') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Localités') + 1 != PageTemp.rfind(u'Catégorie:Localités'))
) or (PageTemp.find(u'Catégorie:Îles'
) != -1 and (PageTemp.find(u':Catégorie:Îles') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Îles') + 1 != PageTemp.rfind(u'Catégorie:Îles'))
) or (PageTemp.find(u'Catégorie:Régions'
) != -1 and (PageTemp.find(u':Catégorie:Régions') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Régions') + 1 != PageTemp.rfind(u'Catégorie:Régions'))
) or (PageTemp.find(u'Catégorie:Océans'
) != -1 and (PageTemp.find(u':Catégorie:Océans') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Océans') + 1 != PageTemp.rfind(u'Catégorie:Océans'))
) or (PageTemp.find(u'Catégorie:Mers'
) != -1 and (PageTemp.find(u':Catégorie:Mers') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Mers') + 1 != PageTemp.rfind(u'Catégorie:Mers'))
) or (PageTemp.find(u'Catégorie:Fleuves'
) != -1 and (PageTemp.find(u':Catégorie:Fleuves') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fleuves') + 1 != PageTemp.rfind(u'Catégorie:Fleuves'))
) or (PageTemp.find(u'Catégorie:Rivières'
) != -1 and (PageTemp.find(u':Catégorie:Rivières') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Rivières') + 1 != PageTemp.rfind(u'Catégorie:Rivières'))
) or (PageTemp.find(u'Catégorie:Baies'
) != -1 and (PageTemp.find(u':Catégorie:Baies') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Baies') + 1 != PageTemp.rfind(u'Catégorie:Baies'))
) or (PageTemp.find(u'Catégorie:Détroits'
) != -1 and (PageTemp.find(u':Catégorie:Détroits') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Détroits') + 1 != PageTemp.rfind(u'Catégorie:Détroits'))
) or (PageTemp.find(u'Catégorie:Montagnes'
) != -1 and (PageTemp.find(u':Catégorie:Montagnes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Montagnes') + 1 != PageTemp.rfind(u'Catégorie:Montagnes'))
) or (PageTemp.find(u'Catégorie:Chefs-lieux'
) != -1 and (PageTemp.find(u':Catégorie:Chefs-lieux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Chefs-lieux') + 1 != PageTemp.rfind(u'Catégorie:Chefs-lieux'))
) or (PageTemp.find(u'Catégorie:États'
) != -1 and (PageTemp.find(u':Catégorie:États') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:États') + 1 != PageTemp.rfind(u'Catégorie:États'))
) or (PageTemp.find(u'Catégorie:Provinces'
) != -1 and (PageTemp.find(u':Catégorie:Provinces') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Provinces') + 1 != PageTemp.rfind(u'Catégorie:Provinces'))
) or (PageTemp.find(u'Catégorie:Départements'
) != -1 and (PageTemp.find(u':Catégorie:Départements') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Départements') + 1 != PageTemp.rfind(u'Catégorie:Départements'))
) or (PageTemp.find(u'Catégorie:Cantons'
) != -1 and (PageTemp.find(u':Catégorie:Cantons') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Cantons') + 1 != PageTemp.rfind(u'Catégorie:Cantons'))
) or (PageTemp.find(u'Catégorie:Capitales'
) != -1 and (PageTemp.find(u':Catégorie:Capitales') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Capitales') + 1 != PageTemp.rfind(u'Catégorie:Capitales'))
) or (PageTemp.find(u'Catégorie:Districts'
) != -1 and (PageTemp.find(u':Catégorie:Districts') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Districts') + 1 != PageTemp.rfind(u'Catégorie:Districts'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'zoologie' or Modele[p] == u'zool' or Modele[p] == u'entomologie' or Modele[p] == u'entomol' or Modele[p] == u'entom' or Modele[p] == u'ornithologie':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Amphibiens'
) != -1 and (PageTemp.find(u':Catégorie:Amphibiens') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Amphibiens') + 1 != PageTemp.rfind(u'Catégorie:Amphibiens'))
) or (PageTemp.find(u'Catégorie:Batraciens'
) != -1 and (PageTemp.find(u':Catégorie:Batraciens') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Batraciens') + 1 != PageTemp.rfind(u'Catégorie:Batraciens'))
) or (PageTemp.find(u'Catégorie:Animaux'
) != -1 and (PageTemp.find(u':Catégorie:Animaux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Animaux') + 1 != PageTemp.rfind(u'Catégorie:Animaux'))
) or (PageTemp.find(u'Catégorie:Créatures'
) != -1 and (PageTemp.find(u':Catégorie:Créatures') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Créatures') + 1 != PageTemp.rfind(u'Catégorie:Créatures'))
) or (PageTemp.find(u'Catégorie:Crustacés'
) != -1 and (PageTemp.find(u':Catégorie:Crustacés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Crustacés') + 1 != PageTemp.rfind(u'Catégorie:Crustacés'))
) or (PageTemp.find(u'Catégorie:Dinosaures'
) != -1 and (PageTemp.find(u':Catégorie:Dinosaures') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Dinosaures') + 1 != PageTemp.rfind(u'Catégorie:Dinosaures'))
) or (PageTemp.find(u'Catégorie:Eumétazoaires'
) != -1 and (PageTemp.find(u':Catégorie:Eumétazoaires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Eumétazoaires') + 1 != PageTemp.rfind(u'Catégorie:Eumétazoaires'))
) or (PageTemp.find(u'Catégorie:Arthropodes'
) != -1 and (PageTemp.find(u':Catégorie:Arthropodes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Arthropodes') + 1 != PageTemp.rfind(u'Catégorie:Arthropodes'))
) or (PageTemp.find(u'Catégorie:Chélicérates'
) != -1 and (PageTemp.find(u':Catégorie:Chélicérates') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Chélicérates') + 1 != PageTemp.rfind(u'Catégorie:Chélicérates'))
) or (PageTemp.find(u'Catégorie:Arachnides'
) != -1 and (PageTemp.find(u':Catégorie:Arachnides') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Arachnides') + 1 != PageTemp.rfind(u'Catégorie:Arachnides'))
) or (PageTemp.find(u'Catégorie:Araignées'
) != -1 and (PageTemp.find(u':Catégorie:Araignées') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Araignées') + 1 != PageTemp.rfind(u'Catégorie:Araignées'))
) or (PageTemp.find(u'Catégorie:Insectes'
) != -1 and (PageTemp.find(u':Catégorie:Insectes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Insectes') + 1 != PageTemp.rfind(u'Catégorie:Insectes'))
) or (PageTemp.find(u'Catégorie:Mouches'
) != -1 and (PageTemp.find(u':Catégorie:Mouches') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Mouches') + 1 != PageTemp.rfind(u'Catégorie:Mouches'))
) or (PageTemp.find(u'Catégorie:Papillons'
) != -1 and (PageTemp.find(u':Catégorie:Papillons') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Papillons') + 1 != PageTemp.rfind(u'Catégorie:Papillons'))
) or (PageTemp.find(u'Catégorie:Fourmis'
) != -1 and (PageTemp.find(u':Catégorie:Fourmis') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fourmis') + 1 != PageTemp.rfind(u'Catégorie:Fourmis'))
) or (PageTemp.find(u'Catégorie:Mammifères'
) != -1 and (PageTemp.find(u':Catégorie:Mammifères') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Mammifères') + 1 != PageTemp.rfind(u'Catégorie:Mammifères'))
) or (PageTemp.find(u'Catégorie:Carnivores'
) != -1 and (PageTemp.find(u':Catégorie:Carnivores') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Carnivores') + 1 != PageTemp.rfind(u'Catégorie:Carnivores'))
) or (PageTemp.find(u'Catégorie:Cétartiodactyles'
) != -1 and (PageTemp.find(u':Catégorie:Cétartiodactyles') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Cétartiodactyles') + 1 != PageTemp.rfind(u'Catégorie:Cétartiodactyles'))
) or (PageTemp.find(u'Catégorie:Chevaux'
) != -1 and (PageTemp.find(u':Catégorie:Chevaux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Chevaux') + 1 != PageTemp.rfind(u'Catégorie:Chevaux'))
) or (PageTemp.find(u'Catégorie:Éléphantidés'
) != -1 and (PageTemp.find(u':Catégorie:Éléphantidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Éléphantidés') + 1 != PageTemp.rfind(u'Catégorie:Éléphantidés'))
) or (PageTemp.find(u'Catégorie:Chauves-souris'
) != -1 and (PageTemp.find(u':Catégorie:Chauves-souris') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Chauves-souris') + 1 != PageTemp.rfind(u'Catégorie:Chauves-souris'))
) or (PageTemp.find(u'Catégorie:Mammifères marins'
) != -1 and (PageTemp.find(u':Catégorie:Mammifères marins') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Mammifères marins') + 1 != PageTemp.rfind(u'Catégorie:Mammifères marins'))
) or (PageTemp.find(u'Catégorie:Cétacés'
) != -1 and (PageTemp.find(u':Catégorie:Cétacés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Cétacés') + 1 != PageTemp.rfind(u'Catégorie:Cétacés marins'))
) or (PageTemp.find(u'Catégorie:Ongulés'
) != -1 and (PageTemp.find(u':Catégorie:Ongulés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Ongulés') + 1 != PageTemp.rfind(u'Catégorie:Ongulés'))
) or (PageTemp.find(u'Catégorie:Équins'
) != -1 and (PageTemp.find(u':Catégorie:Équins') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Équins') + 1 != PageTemp.rfind(u'Catégorie:Équins'))
) or (PageTemp.find(u'Catégorie:Ruminants'
) != -1 and (PageTemp.find(u':Catégorie:Ruminants') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Ruminants') + 1 != PageTemp.rfind(u'Catégorie:Ruminants'))
) or (PageTemp.find(u'Catégorie:Bovins'
) != -1 and (PageTemp.find(u':Catégorie:Bovins') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Bovins') + 1 != PageTemp.rfind(u'Catégorie:Bovins'))
) or (PageTemp.find(u'Catégorie:Ovins'
) != -1 and (PageTemp.find(u':Catégorie:Ovins') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Ovins') + 1 != PageTemp.rfind(u'Catégorie:Ovins'))
) or (PageTemp.find(u'Catégorie:Caprins'
) != -1 and (PageTemp.find(u':Catégorie:Caprins') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Caprins') + 1 != PageTemp.rfind(u'Catégorie:Caprins'))
) or (PageTemp.find(u'Catégorie:Antilopes'
) != -1 and (PageTemp.find(u':Catégorie:Antilopes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Antilopes') + 1 != PageTemp.rfind(u'Catégorie:Antilopes'))
) or (PageTemp.find(u'Catégorie:Cervidés'
) != -1 and (PageTemp.find(u':Catégorie:Cervidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Cervidés') + 1 != PageTemp.rfind(u'Catégorie:Cervidés'))
) or (PageTemp.find(u'Catégorie:Chameaux'
) != -1 and (PageTemp.find(u':Catégorie:Chameaux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Chameaux') + 1 != PageTemp.rfind(u'Catégorie:Chameaux'))
) or (PageTemp.find(u'Catégorie:Giraffidés'
) != -1 and (PageTemp.find(u':Catégorie:Giraffidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Giraffidés') + 1 != PageTemp.rfind(u'Catégorie:Giraffidés'))
) or (PageTemp.find(u'Catégorie:Lamas'
) != -1 and (PageTemp.find(u':Catégorie:Lamas') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Lamas') + 1 != PageTemp.rfind(u'Catégorie:Lamas'))
) or (PageTemp.find(u'Catégorie:Porcins'
) != -1 and (PageTemp.find(u':Catégorie:Porcins') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Porcins') + 1 != PageTemp.rfind(u'Catégorie:Porcins'))
) or (PageTemp.find(u'Catégorie:Marsupiaux'
) != -1 and (PageTemp.find(u':Catégorie:Marsupiaux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Marsupiaux') + 1 != PageTemp.rfind(u'Catégorie:Marsupiaux'))
) or (PageTemp.find(u'Catégorie:Grenouilles'
) != -1 and (PageTemp.find(u':Catégorie:Grenouilles') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Grenouilles') + 1 != PageTemp.rfind(u'Catégorie:Grenouilles'))
) or (PageTemp.find(u'Catégorie:Marsupiaux'
) != -1 and (PageTemp.find(u':Catégorie:Marsupiaux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Marsupiaux') + 1 != PageTemp.rfind(u'Catégorie:Marsupiaux'))
) or (PageTemp.find(u'Catégorie:Primates'
) != -1 and (PageTemp.find(u':Catégorie:Primates') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Primates') + 1 != PageTemp.rfind(u'Catégorie:Primates'))
) or (PageTemp.find(u'Catégorie:Proboscidiens'
) != -1 and (PageTemp.find(u':Catégorie:Proboscidiens') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Proboscidiens') + 1 != PageTemp.rfind(u'Catégorie:Proboscidiens'))
) or (PageTemp.find(u'Catégorie:Thériens'
) != -1 and (PageTemp.find(u':Catégorie:Thériens') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Thériens') + 1 != PageTemp.rfind(u'Catégorie:Thériens'))
) or (PageTemp.find(u'Catégorie:Caniformes'
) != -1 and (PageTemp.find(u':Catégorie:Caniformes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Caniformes') + 1 != PageTemp.rfind(u'Catégorie:Caniformes'))
) or (PageTemp.find(u'Catégorie:Canidés'
) != -1 and (PageTemp.find(u':Catégorie:Canidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Canidés') + 1 != PageTemp.rfind(u'Catégorie:Canidés'))
) or (PageTemp.find(u'Catégorie:Chiens'
) != -1 and (PageTemp.find(u':Catégorie:Chiens') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Chiens') + 1 != PageTemp.rfind(u'Catégorie:Chiens'))
) or (PageTemp.find(u'Catégorie:Chats'
) != -1 and (PageTemp.find(u':Catégorie:Chats') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Chats') + 1 != PageTemp.rfind(u'Catégorie:Chats'))
) or (PageTemp.find(u'Catégorie:Félidés'
) != -1 and (PageTemp.find(u':Catégorie:Félidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Félidés') + 1 != PageTemp.rfind(u'Catégorie:Félidés'))
) or (PageTemp.find(u'Catégorie:Deutérostomiens'
) != -1 and (PageTemp.find(u':Catégorie:Deutérostomiens') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Deutérostomiens') + 1 != PageTemp.rfind(u'Catégorie:Deutérostomiens'))
) or (PageTemp.find(u'Catégorie:Chordés'
) != -1 and (PageTemp.find(u':Catégorie:Chordés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Chordés') + 1 != PageTemp.rfind(u'Catégorie:Chordés'))
) or (PageTemp.find(u'Catégorie:Vertébrés'
) != -1 and (PageTemp.find(u':Catégorie:Vertébrés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Vertébrés') + 1 != PageTemp.rfind(u'Catégorie:Vertébrés'))
) or (PageTemp.find(u'Catégorie:Mollusques'
) != -1 and (PageTemp.find(u':Catégorie:Mollusques') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Mollusques') + 1 != PageTemp.rfind(u'Catégorie:Mollusques'))
) or (PageTemp.find(u'Catégorie:Oiseaux'
) != -1 and (PageTemp.find(u':Catégorie:Oiseaux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Oiseaux') + 1 != PageTemp.rfind(u'Catégorie:Oiseaux'))
) or (PageTemp.find(u'Catégorie:Anatidés'
) != -1 and (PageTemp.find(u':Catégorie:Anatidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Anatidés') + 1 != PageTemp.rfind(u'Catégorie:Anatidés'))
) or (PageTemp.find(u'Catégorie:Passereaux'
) != -1 and (PageTemp.find(u':Catégorie:Passereaux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Passereaux') + 1 != PageTemp.rfind(u'Catégorie:Passereaux'))
) or (PageTemp.find(u'Catégorie:Anatidés'
) != -1 and (PageTemp.find(u':Catégorie:Anatidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Anatidés') + 1 != PageTemp.rfind(u'Catégorie:Anatidés'))
) or (PageTemp.find(u'Catégorie:Sphéniscidés'
) != -1 and (PageTemp.find(u':Catégorie:Sphéniscidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Sphéniscidés') + 1 != PageTemp.rfind(u'Catégorie:Sphéniscidés'))
) or (PageTemp.find(u'Catégorie:Parazoaires'
) != -1 and (PageTemp.find(u':Catégorie:Parazoaires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Parazoaires') + 1 != PageTemp.rfind(u'Catégorie:Parazoaires'))
) or (PageTemp.find(u'Catégorie:Éponges'
) != -1 and (PageTemp.find(u':Catégorie:Éponges') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Éponges') + 1 != PageTemp.rfind(u'Catégorie:Éponges'))
) or (PageTemp.find(u'Catégorie:Poissons'
) != -1 and (PageTemp.find(u':Catégorie:Poissons') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Poissons') + 1 != PageTemp.rfind(u'Catégorie:Poissons'))
) or (PageTemp.find(u'Catégorie:Requins'
) != -1 and (PageTemp.find(u':Catégorie:Requins') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Requins') + 1 != PageTemp.rfind(u'Catégorie:Requins'))
) or (PageTemp.find(u'Catégorie:Saumons'
) != -1 and (PageTemp.find(u':Catégorie:Saumons') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Saumons') + 1 != PageTemp.rfind(u'Catégorie:Saumons'))
) or (PageTemp.find(u'Catégorie:Truites'
) != -1 and (PageTemp.find(u':Catégorie:Truites') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Truites') + 1 != PageTemp.rfind(u'Catégorie:Truites'))
) or (PageTemp.find(u'Catégorie:Reptiles'
) != -1 and (PageTemp.find(u':Catégorie:Reptiles') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Reptiles') + 1 != PageTemp.rfind(u'Catégorie:Reptiles'))
) or (PageTemp.find(u'Catégorie:Serpents'
) != -1 and (PageTemp.find(u':Catégorie:Serpents') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Serpents') + 1 != PageTemp.rfind(u'Catégorie:Serpents'))
) or (PageTemp.find(u'Catégorie:Tétrapodes'
) != -1 and (PageTemp.find(u':Catégorie:Tétrapodes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Tétrapodes') + 1 != PageTemp.rfind(u'Catégorie:Tétrapodes'))
) or (PageTemp.find(u'Catégorie:Métazoaires supérieurs'
) != -1 and (PageTemp.find(u':Catégorie:Métazoaires supérieurs') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Métazoaires supérieurs') + 1 != PageTemp.rfind(u'Catégorie:Métazoaires supérieurs'))
) or (PageTemp.find(u'Catégorie:Féliformes'
) != -1 and (PageTemp.find(u':Catégorie:Féliformes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Féliformes') + 1 != PageTemp.rfind(u'Catégorie:Féliformes'))
) or (PageTemp.find(u'Catégorie:Mantinés'
) != -1 and (PageTemp.find(u':Catégorie:Mantinés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Mantinés') + 1 != PageTemp.rfind(u'Catégorie:Mantinés'))
) or (PageTemp.find(u'Catégorie:Rangifers'
) != -1 and (PageTemp.find(u':Catégorie:Rangifers') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Rangifers') + 1 != PageTemp.rfind(u'Catégorie:Rangifers'))
) or (PageTemp.find(u'Catégorie:Corvidés'
) != -1 and (PageTemp.find(u':Catégorie:Corvidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Corvidés') + 1 != PageTemp.rfind(u'Catégorie:Corvidés'))
) or (PageTemp.find(u'Catégorie:Anoures'
) != -1 and (PageTemp.find(u':Catégorie:Anoures') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Anoures') + 1 != PageTemp.rfind(u'Catégorie:Anoures'))
) or (PageTemp.find(u'Catégorie:Faucons'
) != -1 and (PageTemp.find(u':Catégorie:Faucons') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Faucons') + 1 != PageTemp.rfind(u'Catégorie:Faucons'))
) or (PageTemp.find(u'Catégorie:Bivalves'
) != -1 and (PageTemp.find(u':Catégorie:Bivalves') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Bivalves') + 1 != PageTemp.rfind(u'Catégorie:Bivalves'))
) or (PageTemp.find(u'Catégorie:Céphalopodes'
) != -1 and (PageTemp.find(u':Catégorie:Céphalopodes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Céphalopodes') + 1 != PageTemp.rfind(u'Catégorie:Céphalopodes'))
) or (PageTemp.find(u'Catégorie:Gastéropodes'
) != -1 and (PageTemp.find(u':Catégorie:Gastéropodes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Gastéropodes') + 1 != PageTemp.rfind(u'Catégorie:Gastéropodes'))
) or (PageTemp.find(u'Catégorie:Rongeurs'
) != -1 and (PageTemp.find(u':Catégorie:Rongeurs') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Rongeurs') + 1 != PageTemp.rfind(u'Catégorie:Rongeurs'))
) or (PageTemp.find(u'Catégorie:Écureuils'
) != -1 and (PageTemp.find(u':Catégorie:Écureuils') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Écureuils') + 1 != PageTemp.rfind(u'Catégorie:Écureuils'))
) or (PageTemp.find(u'Catégorie:Léporidés'
) != -1 and (PageTemp.find(u':Catégorie:Léporidés') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Léporidés') + 1 != PageTemp.rfind(u'Catégorie:Léporidés'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'botanique' or Modele[p] == u'botan':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Plantes'
) != -1 and (PageTemp.find(u':Catégorie:Plantes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Plantes') + 1 != PageTemp.rfind(u'Catégorie:Plantes'))
) or (PageTemp.find(u'Catégorie:Arbres'
) != -1 and (PageTemp.find(u':Catégorie:Arbres') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Arbres') + 1 != PageTemp.rfind(u'Catégorie:Arbres'))
) or (PageTemp.find(u'Catégorie:Céréales'
) != -1 and (PageTemp.find(u':Catégorie:Céréales') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Céréales') + 1 != PageTemp.rfind(u'Catégorie:Céréales'))
) or (PageTemp.find(u'Catégorie:Fleurs'
) != -1 and (PageTemp.find(u':Catégorie:Fleurs') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fleurs') + 1 != PageTemp.rfind(u'Catégorie:Fleurs'))
) or (PageTemp.find(u'Catégorie:Fougères'
) != -1 and (PageTemp.find(u':Catégorie:Fougères') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fougères') + 1 != PageTemp.rfind(u'Catégorie:Fougères'))
) or (PageTemp.find(u'Catégorie:Fruits'
) != -1 and (PageTemp.find(u':Catégorie:Fruits') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fruits') + 1 != PageTemp.rfind(u'Catégorie:Fruits'))
) or (PageTemp.find(u'Catégorie:Fougères'
) != -1 and (PageTemp.find(u':Catégorie:Fougères') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fougères') + 1 != PageTemp.rfind(u'Catégorie:Fougères'))
) or (PageTemp.find(u'Catégorie:Plantes imaginaires'
) != -1 and (PageTemp.find(u':Catégorie:Plantes imaginaires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Plantes imaginaires') + 1 != PageTemp.rfind(u'Catégorie:Plantes imaginaires'))
) or (PageTemp.find(u'Catégorie:Lianes'
) != -1 and (PageTemp.find(u':Catégorie:Lianes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Lianes') + 1 != PageTemp.rfind(u'Catégorie:Lianes'))
) or (PageTemp.find(u'Catégorie:Poires'
) != -1 and (PageTemp.find(u':Catégorie:Poires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Poires') + 1 != PageTemp.rfind(u'Catégorie:Poires'))
) or (PageTemp.find(u'Catégorie:Prunes'
) != -1 and (PageTemp.find(u':Catégorie:Prunes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Prunes') + 1 != PageTemp.rfind(u'Catégorie:Prunes'))
) or (PageTemp.find(u'Catégorie:Pêches'
) != -1 and (PageTemp.find(u':Catégorie:Pêches') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Pêches') + 1 != PageTemp.rfind(u'Catégorie:Pêches'))
) or (PageTemp.find(u'Catégorie:Pommes'
) != -1 and (PageTemp.find(u':Catégorie:Pommes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Pommes') + 1 != PageTemp.rfind(u'Catégorie:Pommes'))
) or (PageTemp.find(u'Catégorie:Pommes de terre'
) != -1 and (PageTemp.find(u':Catégorie:Pommes de terre') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Pommes de terre') + 1 != PageTemp.rfind(u'Catégorie:Pommes de terre'))
) or (PageTemp.find(u'Catégorie:Algues'
) != -1 and (PageTemp.find(u':Catégorie:Algues') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Algues') + 1 != PageTemp.rfind(u'Catégorie:Algues'))
) or (PageTemp.find(u'Catégorie:Fabacées'
) != -1 and (PageTemp.find(u':Catégorie:Fabacées') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fabacées') + 1 != PageTemp.rfind(u'Catégorie:Fabacées'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'médecine' or Modele[p] == u'méde' or Modele[p] == u'vétérinaire' or Modele[p] == u'chirurgie' or Modele[p] == u'chir' or Modele[p] == u'pharmacologie' or Modele[p] == u'pharmacol' or Modele[p] == u'pharmacie':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Médecine non conventionnelles'
) != -1 and (PageTemp.find(u'Catégorie:Médecine non conventionnelles') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Médecine non conventionnelles') + 1 != PageTemp.rfind(u'Catégorie:Médecine non conventionnelles'))
) or (PageTemp.find(u'Catégorie:Maladies'
) != -1 and (PageTemp.find(u'Catégorie:Maladies') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Maladies') + 1 != PageTemp.rfind(u'Catégorie:Maladies'))
) or (PageTemp.find(u'Catégorie:Maladies de l’œil'
) != -1 and (PageTemp.find(u'Catégorie:Maladies de l’œil') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Maladies de l’œil') + 1 != PageTemp.rfind(u'Catégorie:Maladies de l’œil'))
) or (PageTemp.find(u'Catégorie:Maladies orphelines'
) != -1 and (PageTemp.find(u'Catégorie:Maladies orphelines') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Maladies orphelines') + 1 != PageTemp.rfind(u'Catégorie:Maladies orphelines'))
) or (PageTemp.find(u'Catégorie:Troubles du langage'
) != -1 and (PageTemp.find(u'Catégorie:Troubles du langage') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Troubles du langage') + 1 != PageTemp.rfind(u'Catégorie:Troubles du langage'))
) or (PageTemp.find(u'Catégorie:Phobies'
) != -1 and (PageTemp.find(u'Catégorie:Phobies') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Phobies') + 1 != PageTemp.rfind(u'Catégorie:Phobies'))
) or (PageTemp.find(u'Catégorie:Maladies psychiatriques'
) != -1 and (PageTemp.find(u'Catégorie:Maladies psychiatriques') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Maladies psychiatriques') + 1 != PageTemp.rfind(u'Catégorie:Maladies psychiatriques'))
) or (PageTemp.find(u'Catégorie:Dermatologie'
) != -1 and (PageTemp.find(u'Catégorie:Dermatologie') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Dermatologie') + 1 != PageTemp.rfind(u'Catégorie:Dermatologie'))
) or (PageTemp.find(u'Catégorie:Médicaments'
) != -1 and (PageTemp.find(u':Catégorie:Médicaments') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Médicaments') + 1 != PageTemp.rfind(u'Catégorie:Médicaments'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'métrologie' or Modele[p] == u'métrol':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Unités de mesure'
) != -1 and (PageTemp.find(u':Catégorie:Unités de mesure') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Unités de mesure') + 1 != PageTemp.rfind(u'Catégorie:Unités de mesure'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'rhétorique' or Modele[p] == u'rhéto':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Figures de style'
) != -1 and (PageTemp.find(u'Catégorie:Figures de style') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Figures de style') + 1 != PageTemp.rfind(u'Catégorie:Figures de style'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'linguistique' or Modele[p] == u'ling':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Langues'
) != -1 and (PageTemp.find(u'Catégorie:Langues') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Langues') + 1 != PageTemp.rfind(u'Catégorie:Langues'))
) or (PageTemp.find(u'Catégorie:Dialectes'
) != -1 and (PageTemp.find(u'Catégorie:Dialectes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Dialectes') + 1 != PageTemp.rfind(u'Catégorie:Dialectes'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'typographie' or Modele[p] == u'typo':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Ponctuations'
) != -1 and (PageTemp.find(u'Catégorie:Ponctuations') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Ponctuations') + 1 != PageTemp.rfind(u'Catégorie:Ponctuations'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'sciences':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Noms de sciences'
) != -1 and (PageTemp.find(u'Catégorie:Noms de sciences') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Noms de sciences') + 1 != PageTemp.rfind(u'Catégorie:Noms de sciences'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'astronomie' or Modele[p] == u'astro' or Modele[p] == u'astron':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Étoiles'
) != -1 and (PageTemp.find(u'Catégorie:Étoiles') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Étoiles') + 1 != PageTemp.rfind(u'Catégorie:Étoiles'))
) or (PageTemp.find(u'Catégorie:Constellations'
) != -1 and (PageTemp.find(u'Catégorie:Constellations') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Constellations') + 1 != PageTemp.rfind(u'Catégorie:Constellations'))
) or (PageTemp.find(u'Catégorie:Planètes'
) != -1 and (PageTemp.find(u'Catégorie:Planètes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Planètes') + 1 != PageTemp.rfind(u'Catégorie:Planètes'))
) or (PageTemp.find(u'Catégorie:Satellites'
) != -1 and (PageTemp.find(u'Catégorie:Satellites') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Satellites') + 1 != PageTemp.rfind(u'Catégorie:Satellites'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'astrologie' or Modele[p] == u'astrol':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Zodiaques'
) != -1 and (PageTemp.find(u'Catégorie:Zodiaques') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Zodiaques') + 1 != PageTemp.rfind(u'Catégorie:Zodiaques'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'mycologie' or Modele[p] == u'mycol' or Modele[p] == u'myco':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Champignons'
) != -1 and (PageTemp.find(u'Catégorie:Champignons') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Champignons') + 1 != PageTemp.rfind(u'Catégorie:Champignons'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'chimie' or Modele[p] == u'chim':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Éléments chimique'
) != -1 and (PageTemp.find(u'Catégorie:Éléments chimique') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Éléments chimique') + 1 != PageTemp.rfind(u'Catégorie:Éléments chimique'))
) or (PageTemp.find(u'Catégorie:Métaux'
) != -1 and (PageTemp.find(u'Catégorie:Métaux') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Métaux') + 1 != PageTemp.rfind(u'Catégorie:Métaux'))
) or (PageTemp.find(u'Catégorie:Alliages'
) != -1 and (PageTemp.find(u'Catégorie:Alliages') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Alliages') + 1 != PageTemp.rfind(u'Catégorie:Alliages'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'cuisine' or Modele[p] == u'cuis':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Aliments'
) != -1 and (PageTemp.find(u'Catégorie:Aliments') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Aliments') + 1 != PageTemp.rfind(u'Catégorie:Aliments'))
) or (PageTemp.find(u'Catégorie:Préparations culinaires'
) != -1 and (PageTemp.find(u'Catégorie:Préparations culinaires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Préparations culinaires') + 1 != PageTemp.rfind(u'Catégorie:Préparations culinaires'))
) or (PageTemp.find(u'Catégorie:Ustensiles de cuisine'
) != -1 and (PageTemp.find(u'Catégorie:Ustensiles de cuisine') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Ustensiles de cuisine') + 1 != PageTemp.rfind(u'Catégorie:Ustensiles de cuisine'))
) or (PageTemp.find(u'Catégorie:Condiments'
) != -1 and (PageTemp.find(u'Catégorie:Condiments') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Condiments') + 1 != PageTemp.rfind(u'Catégorie:Condiments'))
) or (PageTemp.find(u'Catégorie:Fromages'
) != -1 and (PageTemp.find(u'Catégorie:Fromages') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fromages') + 1 != PageTemp.rfind(u'Catégorie:Fromages'))
) or (PageTemp.find(u'Catégorie:Viandes'
) != -1 and (PageTemp.find(u'Catégorie:Viandes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Viandes') + 1 != PageTemp.rfind(u'Catégorie:Viandes'))
) or (PageTemp.find(u'Catégorie:Fruits'
) != -1 and (PageTemp.find(u'Catégorie:Fruits') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fruits') + 1 != PageTemp.rfind(u'Catégorie:Fruits'))
) or (PageTemp.find(u'Catégorie:Fruits de mer'
) != -1 and (PageTemp.find(u'Catégorie:Fruits de mer') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Fruits de mer') + 1 != PageTemp.rfind(u'Catégorie:Fruits de mer'))
) or (PageTemp.find(u'Catégorie:Légumes'
) != -1 and (PageTemp.find(u'Catégorie:Légumes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Légumes') + 1 != PageTemp.rfind(u'Catégorie:Légumes'))
) or (PageTemp.find(u'Catégorie:Alcools'
) != -1 and (PageTemp.find(u'Catégorie:Alcools') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Alcools') + 1 != PageTemp.rfind(u'Catégorie:Alcools'))
) or (PageTemp.find(u'Catégorie:Vins'
) != -1 and (PageTemp.find(u'Catégorie:Vins') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Vins') + 1 != PageTemp.rfind(u'Catégorie:Vins'))
) or (PageTemp.find(u'Catégorie:Champignons'
) != -1 and (PageTemp.find(u'Catégorie:Champignons') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Champignons') + 1 != PageTemp.rfind(u'Catégorie:Champignons'))
) or (PageTemp.find(u'Catégorie:Pommes'
) != -1 and (PageTemp.find(u'Catégorie:Pommes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Pommes') + 1 != PageTemp.rfind(u'Catégorie:Pommes'))
) or (PageTemp.find(u'Catégorie:Poires'
) != -1 and (PageTemp.find(u'Catégorie:Poires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Poires') + 1 != PageTemp.rfind(u'Catégorie:Poires'))
) or (PageTemp.find(u'Catégorie:Tomates'
) != -1 and (PageTemp.find(u'Catégorie:Tomates') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Tomates') + 1 != PageTemp.rfind(u'Catégorie:Tomates'))
) or (PageTemp.find(u'Catégorie:Pâtes'
) != -1 and (PageTemp.find(u'Catégorie:Pâtes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Pâtes') + 1 != PageTemp.rfind(u'Catégorie:Pâtes'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'œnologie' or Modele[p] == u'œnol':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Vins'
) != -1 and (PageTemp.find(u'Catégorie:Vins') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Vins') + 1 != PageTemp.rfind(u'Catégorie:Vins'))
) or (PageTemp.find(u'Catégorie:Cépages'
) != -1 and (PageTemp.find(u'Catégorie:Cépages') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Cépages') + 1 != PageTemp.rfind(u'Catégorie:Cépages'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'militaire' or Modele[p] == u'mili' or Modele[p] == u'guerre':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Soldats'
) != -1 and (PageTemp.find(u'Catégorie:Soldats') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Soldats') + 1 != PageTemp.rfind(u'Catégorie:Soldats'))
) or (PageTemp.find(u'Catégorie:Grades militaires'
) != -1 and (PageTemp.find(u'Catégorie:Grades militaires') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Grades militaires') + 1 != PageTemp.rfind(u'Catégorie:Grades militaires'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'armement' or Modele[p] == u'arme':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Armes'
) != -1 and (PageTemp.find(u'Catégorie:Armes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Armes') + 1 != PageTemp.rfind(u'Catégorie:Armes'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'musique' or Modele[p] == u'musi':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Instruments'
) != -1 and (PageTemp.find(u'Catégorie:Instruments') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Instruments') + 1 != PageTemp.rfind(u'Catégorie:Instruments'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'électricité' or Modele[p] == u'élec':
if (EstCodeLangue == "false"
) or (PageTemp.find(u'Catégorie:Composants électriques'
) != -1 and (PageTemp.find(u'Catégorie:Composants électriques') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Composants électriques') + 1 != PageTemp.rfind(u'Catégorie:Composants électriques'))):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
# Ce modèle par contre remplace la catégorie
elif Modele[p] == u'injurieux' or Modele[p] == u'injur':
if (EstCodeLangue == "false"):
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
if PageTemp.find(u'[[Catégorie:Insultes en français]]') != -1 and codelangue == u'fr':
PageTemp = PageTemp[0:PageTemp.find(u'[[Catégorie:Insultes en français]]')] + PageTemp[PageTemp.find(u'[[Catégorie:Insultes en français]]')+len(u'[[Catégorie:Insultes en français]]'):len(PageTemp)]
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'préciser' or Modele[p] == u'?' or Modele[p] == u'doute':
if codelangue != "":
if PageTemp[position:position+2] == u'}}' or PageTemp[position:position+4] == u'fr}}':
PageEnd = PageEnd + PageTemp[0:position] + "||" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
else:
while PageTemp.find(u'{{') < PageTemp.find(u'}}'):
# On saute les différents modèles inclus
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'}}')+2]
PageTemp = PageTemp[PageTemp.find(u'}}')+2:len(PageTemp)]
if PageTemp.find("|") > PageTemp.find(u'}}') or PageTemp.find(u'|') == -1:
position = PageTemp.find("}}")
else:
position = PageTemp.find("|")
PageTemp2 = PageTemp[position+1:len(PageTemp)]
#raw_input(PageTemp.encode(config.console_encoding, 'replace'))
if PageTemp2.find(u'|') != -1 and PageTemp2.find(u'|') < PageTemp2.find(u'}}'):
# Code langue déjà renseigné
break
elif PageTemp.find(u'|') != -1 and PageTemp.find(u'|') < PageTemp.find(u'}}'):
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'}}')] + u'|' + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
else:
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'}}')] + u'||' + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'perfectif' or Modele[p] == u'perf' or Modele[p] == u'imperfectif' or Modele[p] == u'imperf' or Modele[p] == u'déterminé' or Modele[p] == u'dét' or Modele[p] == u'indéterminé' or Modele[p] == u'indét':
if (EstCodeLangue == "false") or PageEnd.rfind(u'(') > PageEnd.rfind(u')'): # Si on est dans des parenthèses
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
break
elif Modele[p] == u'-trad-':
EstCodeLangue = u'false'
trad = u'true'
PageEnd = PageEnd + Modele[p] + u'}}'
PageTemp = PageTemp[PageTemp.find(u'}}')+2:len(PageTemp)]
break
elif Modele[p] == u'trad' or Modele[p] == u'trad+' or Modele[p] == u'trad-' or Modele[p] == u'trad--':
# Lettres spéciales à remplacer dans les traductions vers certaines langues
PageTemp2 = PageTemp[position+1:len(PageTemp)]
if PageTemp2[0:PageTemp2.find(u'|')] == u'ro' or PageTemp2[0:PageTemp2.find(u'|')] == u'mo':
while PageTemp.find(u'ş') != -1 and PageTemp.find(u'ş') < PageTemp.find(u'\n'):
PageTemp = PageTemp[0:PageTemp.find(u'ş')] + u'ș' + PageTemp[PageTemp.find(u'ş')+1:len(PageTemp)]
while PageTemp.find(u'Ş') != -1 and PageTemp.find(u'Ş') < PageTemp.find(u'\n'):
PageTemp = PageTemp[0:PageTemp.find(u'Ş')] + u'Ș' + PageTemp[PageTemp.find(u'Ş')+1:len(PageTemp)]
while PageTemp.find(u'ţ') != -1 and PageTemp.find(u'ţ') < PageTemp.find(u'\n'):
PageTemp = PageTemp[0:PageTemp.find(u'ţ')] + u'ț' + PageTemp[PageTemp.find(u'ţ')+1:len(PageTemp)]
while PageTemp.find(u'Ţ') != -1 and PageTemp.find(u'Ţ') < PageTemp.find(u'\n'):
PageTemp = PageTemp[0:PageTemp.find(u'Ţ')] + u'Ț' + PageTemp[PageTemp.find(u'Ţ')+1:len(PageTemp)]
elif PageTemp2[0:PageTemp2.find(u'|')] == u'az' or PageTemp2[0:PageTemp2.find(u'|')] == u'ku' or PageTemp2[0:PageTemp2.find(u'|')] == u'sq' or PageTemp2[0:PageTemp2.find(u'|')] == u'tk' or PageTemp2[0:PageTemp2.find(u'|')] == u'tr' or PageTemp2[0:PageTemp2.find(u'|')] == u'tt':
while PageTemp.find(u'ș') != -1 and PageTemp.find(u'ș') < PageTemp.find(u'\n'):
PageTemp = PageTemp[0:PageTemp.find(u'ș')] + u'ş' + PageTemp[PageTemp.find(u'ș')+1:len(PageTemp)]
while PageTemp.find(u'Ș') != -1 and PageTemp.find(u'Ș') < PageTemp.find(u'\n'):
PageTemp = PageTemp[0:PageTemp.find(u'Ș')] + u'Ş' + PageTemp[PageTemp.find(u'Ș')+1:len(PageTemp)]
while PageTemp.find(u'ț') != -1 and PageTemp.find(u'ț') < PageTemp.find(u'\n'):
PageTemp = PageTemp[0:PageTemp.find(u'ț')] + u'ţ' + PageTemp[PageTemp.find(u'ț')+1:len(PageTemp)]
while PageTemp.find(u'Ț') != -1 and PageTemp.find(u'Ț') < PageTemp.find(u'\n'):
PageTemp = PageTemp[0:PageTemp.find(u'Ț')] + u'Ţ' + PageTemp[PageTemp.find(u'Ț')+1:len(PageTemp)]
elif PageTemp2[0:PageTemp2.find(u'|')] == u'fon':
while PageTemp.find(u'ε') != -1 and PageTemp.find(u'ε') < PageTemp.find(u'\n'):
PageTemp = PageTemp[0:PageTemp.find(u'ε')] + u'ɛ' + PageTemp[PageTemp.find(u'ε')+1:len(PageTemp)]
elif PageTemp2[0:PageTemp2.find(u'|')] == u'nan':
PageTemp = PageTemp[0:PageTemp.find(u'nan')] + u'zh-min-nan' + PageTemp[PageTemp.find(u'nan')+len(u'nan'):len(PageTemp)]
elif PageTemp2[0:PageTemp2.find(u'|')] == u'ko-hanja':
PageTemp = PageTemp[0:PageTemp.find(u'ko-hanja')] + u'ko' + PageTemp[PageTemp.find(u'ko-hanja')+len(u'ko-hanja'):len(PageTemp)]
elif PageTemp2[0:PageTemp2.find(u'|')] == u'ko-Hani':
PageTemp = PageTemp[0:PageTemp.find(u'ko-Hani')] + u'ko' + PageTemp[PageTemp.find(u'ko-Hani')+len(u'ko-Hani'):len(PageTemp)]
elif PageTemp2[0:PageTemp2.find(u'|')] == u'prv':
PageTemp = PageTemp[0:PageTemp.find(u'prv')] + u'oc' + PageTemp[PageTemp.find(u'prv')+len(u'prv'):len(PageTemp)]
if PageTemp2[0:PageTemp2.find(u'|')] == u'mo': break # Bug du site fermé, voir [[chat]]
# Connexions aux Wiktionnaires des traductions
PageTemp2 = PageTemp[position+1:len(PageTemp)]
PageTemp3 = PageTemp2[PageTemp2.find(u'|')+1:len(PageTemp2)]
if PageTemp2[0:PageTemp2.find(u'|')] == "": break
elif PageTemp3.find(u'}}') == "" or not PageTemp3.find(u'}}'): break
elif PageTemp2[0:PageTemp2.find(u'|')] == u'conv':
siteTemp = getSite('species', 'species') # Bug species depuis début 2011
try:
pageExt = Page(siteTemp,PageTemp3[0:PageTemp3.find(u'}}')])
except wikipedia.NoPage:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
except wikipedia.BadTitle:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
except wikipedia.InvalidTitle:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
if pageExt.exists():
PageEnd = PageEnd + PageTemp[0:4] + "+"
PageTemp = PageTemp[position:len(PageTemp)]
break
else:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
elif PageTemp3.find(u'|') != -1 and PageTemp3.find(u'|') < PageTemp3.find(u'}}'):
try:
siteTemp = getSite(PageTemp2[0:PageTemp2.find(u'|')],family)
except wikipedia.ServerError:
PageEnd = PageEnd + PageTemp[0:4] + "--"
PageTemp = PageTemp[position:len(PageTemp)]
break
except wikipedia.NoSuchSite:
PageEnd = PageEnd + PageTemp[0:4] + "--"
PageTemp = PageTemp[position:len(PageTemp)]
break
try:
pageExt = Page(siteTemp,PageTemp3[0:PageTemp3.find(u'|')])
except wikipedia.BadTitle:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
except wikipedia.InvalidTitle:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
except wikipedia.NoPage:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
if pageExt.exists():
PageEnd = PageEnd + PageTemp[0:4] + "+"
PageTemp = PageTemp[position:len(PageTemp)]
break
else:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
else:
try:
siteTemp = getSite(PageTemp2[0:PageTemp2.find(u'|')],family)
except wikipedia.NoSuchSite:
PageEnd = PageEnd + PageTemp[0:4] + "--"
PageTemp = PageTemp[position:len(PageTemp)]
break
try:
pageExt = Page(siteTemp,PageTemp3[0:PageTemp3.find(u'}}')])
except wikipedia.BadTitle:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
except wikipedia.NoPage:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
except wikipedia.ServerError:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
if pageExt.exists():
PageEnd = PageEnd + PageTemp[0:4] + "+"
PageTemp = PageTemp[position:len(PageTemp)]
break
else:
PageEnd = PageEnd + PageTemp[0:4] + "-"
PageTemp = PageTemp[position:len(PageTemp)]
break
elif Modele[p] == u'(':
if trad == u'true':
PageEnd = PageEnd + u'trad-début'
else:
PageEnd = PageEnd + u'('
PageTemp = PageTemp[position:len(PageTemp)]
break
elif Modele[p] == u')':
if trad == u'true':
PageEnd = PageEnd + u'trad-fin'
else:
PageEnd = PageEnd + u')'
PageTemp = PageTemp[position:len(PageTemp)]
break
elif Modele[p] == u'trad-début':
if trad == u'true':
PageEnd = PageEnd + u'trad-début'
else:
PageEnd = PageEnd + u'('
PageTemp = PageTemp[position:len(PageTemp)]
break
elif Modele[p] == u'trad-fin':
if trad == u'true':
PageEnd = PageEnd + u'trad-fin'
else:
PageEnd = PageEnd + u')'
PageTemp = PageTemp[position:len(PageTemp)]
break
if p < limit1: # Si on est dans le paragraphe définition
EstCodeLangue = "true"
if PageTemp[position+1:position+4] == "num" and PageTemp[position+1:position+5] != "num}":
PageEnd = PageEnd + PageTemp[0:position+6] + "|" + codelangue + "}}"
elif PageTemp[position+4:position+7] == "num" and PageTemp[position+4:position+8] != "num}":
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "|" + PageTemp[position+4:position+9] + "}}"
elif PageTemp[position+5:position+8] == "num" and PageTemp[position+5:position+9] != "num}":
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "|" + PageTemp[position+5:position+10] + "}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
elif p < limit2: # Si on est dans un autre paragraphe
EstCodeLangue = "false"
trad = u'false'
PageEnd = PageEnd + PageTemp[0:position] + "}}"
elif p < limit3: # Si on est dans une ébauche
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
elif p > limit4:
EstCodeLangue = "false" # Si on est dans un modèle à substituer simplement
PageEnd = PageEnd + TModele[p] + "}}"
else:
if EstCodeLangue == "true":
PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
else:
PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
if position == PageTemp.find("|"):
position = PageTemp.find("}}")
PageTemp = PageTemp[position+2:len(PageTemp)]
elif (PageTemp[0:position] == u'-flex-verb-' or PageTemp[0:position] == u'-flex-verbe-') and codelangue == u'fr':
if PageTemp.find(u'fr-verbe-flexion') != -1:
Infinitif = PageTemp[PageTemp.find(u'[[')+2:PageTemp.find(u']]')]
if Infinitif == u'verbe':
PageTemp = PageTemp[0:PageTemp.find(u'[[verbe]]')] + u'verbe' + PageTemp[PageTemp.find(u'[[verbe]]')+len(u'[[verbe]]'):len(PageTemp)]
Infinitif = PageTemp[PageTemp.find(u'[[')+2:PageTemp.find(u']]')]
if Infinitif.find(u'|') != -1: Infinitif = Infinitif[Infinitif.find(u'|')+1:len(Infinitif)]
try:
page2 = Page(site,Infinitif)
Page2 = page2.get()
except wikipedia.NoPage:
print "NoPage flex-verb : " + Infinitif.encode(config.console_encoding, 'replace')
return
except wikipedia.SectionError:
print "SectionError flex-verb : " + Infinitif.encode(config.console_encoding, 'replace')
return
except wikipedia.IsRedirectPage:
print "Redirect page flex-verb : " + Infinitif.encode(config.console_encoding, 'replace')
return
# http://fr.wiktionary.org/w/index.php?title=Catégorie:Appels de modèles incorrects:fr-verbe-flexion incomplet
PageTemp2 = PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
if PageTemp2.find(u'flexion=') != -1 and PageTemp2.find(u'flexion=') < PageTemp2.find(u'}}'):
PageTemp3 = PageTemp2[PageTemp2.find(u'flexion='):len(PageTemp2)]
if PageTemp3.find(u'|') != -1 and PageTemp3.find(u'|') < PageTemp3.find(u'}'):
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')+PageTemp2.find(u'flexion=')+PageTemp3.find(u'|'):len(PageTemp)]
PageTemp2 = PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
if PageTemp2.find(Infinitif) == -1 or PageTemp2.find(Infinitif) > PageTemp2.find(u'}}'):
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|' + Infinitif + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
if PageTemp.find(u'|' + Infinitif + u'\n') != -1: # Bug de l'hyperlien vers l'annexe
PageTemp = PageTemp[0:PageTemp.find(u'|' + Infinitif + u'\n')+len(u'|' + Infinitif)] + PageTemp[PageTemp.find(u'|' + Infinitif + u'\n')+len(u'|' + Infinitif + u'\n'):len(PageTemp)]
# Analyse du modèle en cours
PageTemp2 = PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
PageTemp2 = PageTemp2[0:PageTemp2.find(u'}}')+2]
if PageTemp2.find(u'impers=oui') == -1:
# http://fr.wiktionary.org/w/index.php?title=Mod%C3%A8le:fr-verbe-flexion&action=edit
if Page2.find(u'{{impers') != -1 and Infinitif != u'être':
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|impers=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif Page2.find(u'|groupe=1') != -1 or Page2.find(u'|grp=1') != -1:
# je
if PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
break
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui')] + u'|imp.p.2s=oui' + PageTemp[PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui')] + u'|sub.p.3s=oui' + PageTemp[PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui')] + u'|sub.p.1s=oui' + PageTemp[PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.3s=oui') == -1 and PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui')] + u'|ind.p.3s=oui' + PageTemp[PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.1s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.3s=oui') == -1 and PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui')] + u'|ind.p.3s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|imp.p.2s=oui|ind.p.1s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.3s=oui') == -1 and PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.1s=oui|ind.p.3s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui')] + u'|sub.p.1s=oui|sub.p.3s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui')] + u'|sub.p.1s=oui|sub.p.3s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.3s=oui') == -1 and PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.3s=oui|sub.p.1s=oui|sub.p.3s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.1s=oui|sub.p.1s=oui|sub.p.3s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.1s=oui|sub.p.1s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.1s=oui|sub.p.1s=oui|ind.p.3s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.3s=oui') == -1 and PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.1s=oui|ind.p.3s=oui|sub.p.1s=oui|ind.p.3s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# tu
if PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'sub.p.2s=oui') != -1:
break
elif PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'sub.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui')] + u'|sub.p.2s=oui' + PageTemp[PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.2s=oui') == -1 and PageTemp2.find(u'sub.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.2s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# nous
if PageTemp2.find(u'ind.i.1p=oui') != -1 and PageTemp2.find(u'sub.p.1p=oui') != -1:
break
if PageTemp2.find(u'ind.i.1p=oui') != -1 and PageTemp2.find(u'sub.p.1p=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.i.1p=oui')+len(u'ind.i.1p=oui')] + u'|sub.p.1p=oui' + PageTemp[PageTemp.find(u'ind.i.1p=oui')+len(u'ind.i.1p=oui'):len(PageTemp)]
if PageTemp2.find(u'ind.i.1p=oui') == -1 and PageTemp2.find(u'sub.p.1p=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.i.1p=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# vous
if PageTemp2.find(u'ind.i.2p=oui') != -1 and PageTemp2.find(u'sub.p.2p=oui') != -1:
break
if PageTemp2.find(u'ind.i.2p=oui') != -1 and PageTemp2.find(u'sub.p.2p=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.i.2p=oui')+len(u'ind.i.2p=oui')] + u'|sub.p.2p=oui' + PageTemp[PageTemp.find(u'ind.i.2p=oui')+len(u'ind.i.2p=oui'):len(PageTemp)]
if PageTemp2.find(u'ind.i.2p=oui') == -1 and PageTemp2.find(u'sub.p.2p=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.i.2p=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# ils
if PageTemp2.find(u'ind.p.3p=oui') != -1 and PageTemp2.find(u'sub.p.3p=oui') != -1:
break
if PageTemp2.find(u'ind.p.3p=oui') != -1 and PageTemp2.find(u'sub.p.3p=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.3p=oui')+len(u'ind.p.3p=oui')] + u'|sub.p.3p=oui' + PageTemp[PageTemp.find(u'ind.p.3p=oui')+len(u'ind.p.3p=oui'):len(PageTemp)]
if PageTemp2.find(u'ind.p.3p=oui') == -1 and PageTemp2.find(u'sub.p.3p=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.3p=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# Certains -ir sont du 3ème
elif Page2.find(u'{{impers') == -1 and (Page2.find(u'|groupe=2') != -1 or Page2.find(u'|grp=2') != -1):
# je
if PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'ind.ps.1s=oui') != -1 and PageTemp2.find(u'ind.ps.2s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
break
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'ind.ps.1s=oui') != -1 and PageTemp2.find(u'ind.ps.2s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.ps.2s=oui')+len(u'ind.ps.2s=oui')] + u'|imp.p.2s=oui' + PageTemp[PageTemp.find(u'ind.ps.2s=oui')+len(u'ind.ps.2s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'ind.ps.1s=oui') != -1 and PageTemp2.find(u'ind.ps.2s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.ps.1s=oui')+len(u'ind.ps.1s=oui')] + u'|ind.ps.2s=oui' + PageTemp[PageTemp.find(u'ind.ps.1s=oui')+len(u'ind.ps.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'ind.ps.1s=oui') == -1 and PageTemp2.find(u'ind.ps.2s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui')] + u'|ind.ps.1s=oui' + PageTemp[PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') == -1 and PageTemp2.find(u'ind.ps.1s=oui') != -1 and PageTemp2.find(u'ind.ps.2s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui')] + u'|ind.p.2s=oui' + PageTemp[PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'ind.ps.1s=oui') != -1 and PageTemp2.find(u'ind.ps.2s=oui') != -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.1s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'ind.ps.1s=oui') != -1 and PageTemp2.find(u'ind.ps.2s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.ps.1s=oui')+len(u'ind.ps.1s=oui')] + u'|ind.ps.2s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'ind.ps.1s=oui')+len(u'ind.ps.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'ind.ps.1s=oui') == -1 and PageTemp2.find(u'ind.ps.2s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui')] + u'|ind.ps.1s=oui|ind.ps.2s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') == -1 and PageTemp2.find(u'ind.ps.1s=oui') == -1 and PageTemp2.find(u'ind.ps.2s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui')] + u'|ind.p.2s=oui|ind.ps.1s=oui|ind.ps.2s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.2s=oui') == -1 and PageTemp2.find(u'ind.ps.1s=oui') == -1 and PageTemp2.find(u'ind.ps.2s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.1s=oui|ind.p.2s=oui|ind.ps.1s=oui|ind.ps.2s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'ind.ps.1s=oui') == -1 and PageTemp2.find(u'ind.ps.2s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui')] + u'|ind.ps.1s=oui|ind.ps.2s=oui' + PageTemp[PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') != -1 and PageTemp2.find(u'ind.p.2s=oui') == -1 and PageTemp2.find(u'ind.ps.1s=oui') == -1 and PageTemp2.find(u'ind.ps.2s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui')] + u'|ind.p.2s=oui|ind.ps.1s=oui|ind.ps.2s=oui' + PageTemp[PageTemp.find(u'ind.p.1s=oui')+len(u'ind.p.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'ind.p.1s=oui') == -1 and PageTemp2.find(u'ind.p.2s=oui') != -1 and PageTemp2.find(u'ind.ps.1s=oui') == -1 and PageTemp2.find(u'ind.ps.2s=oui') == -1 and PageTemp2.find(u'imp.p.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui')] + u'|ind.p.1s=oui|ind.ps.1s=oui|ind.ps.2s=oui|imp.p.2s=oui' + PageTemp[PageTemp.find(u'ind.p.2s=oui')+len(u'ind.p.2s=oui'):len(PageTemp)]
#...
if PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'sub.i.1s=oui') != -1:
break
elif PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'sub.i.1s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'sub.p.3s=oui')+len(u'sub.p.3s=oui')] + u'|sub.i.1s=oui' + PageTemp[PageTemp.find(u'sub.p.3s=oui')+len(u'sub.p.3s=oui'):len(PageTemp)]
elif PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'sub.i.1s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'sub.p.1s=oui')+len(u'sub.p.1s=oui')] + u'|sub.p.3s=oui' + PageTemp[PageTemp.find(u'sub.p.1s=oui')+len(u'sub.p.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'sub.i.1s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|sub.p.1s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'sub.i.1s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'sub.p.1s=oui')+len(u'sub.p.1s=oui')] + u'|sub.p.3s=oui|sub.i.1s=oui' + PageTemp[PageTemp.find(u'sub.p.1s=oui')+len(u'sub.p.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') == -1 and PageTemp2.find(u'sub.i.1s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|sub.p.1s=oui|sub.p.3s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') != -1 and PageTemp2.find(u'sub.i.1s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|sub.p.1s=oui|sub.i.1s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# tu
if PageTemp2.find(u'sub.p.2s=oui') != -1 and PageTemp2.find(u'sub.i.2s=oui') != -1:
break
if PageTemp2.find(u'sub.p.2s=oui') != -1 and PageTemp2.find(u'sub.i.2s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'sub.p.2s=oui')+len(u'sub.p.2s=oui')] + u'|sub.i.2s=oui' + PageTemp[PageTemp.find(u'sub.p.2s=oui')+len(u'sub.p.2s=oui'):len(PageTemp)]
if PageTemp2.find(u'sub.p.2s=oui') == -1 and PageTemp2.find(u'sub.i.2s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|sub.p.2s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# il
if PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'ind.ps.3s=oui') != -1:
break
if PageTemp2.find(u'ind.p.3s=oui') != -1 and PageTemp2.find(u'ind.ps.3s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui')] + u'|ind.ps.3s=oui' + PageTemp[PageTemp.find(u'ind.p.3s=oui')+len(u'ind.p.3s=oui'):len(PageTemp)]
if PageTemp2.find(u'ind.p.3s=oui') == -1 and PageTemp2.find(u'ind.ps.3s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.ps.3s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# nous
if PageTemp2.find(u'ind.i.1p=oui') != -1 and PageTemp2.find(u'sub.p.1p=oui') != -1:
break
if PageTemp2.find(u'ind.i.1p=oui') != -1 and PageTemp2.find(u'sub.p.1p=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.i.1p=oui')+len(u'ind.i.1p=oui')] + u'|sub.p.1p=oui' + PageTemp[PageTemp.find(u'ind.i.1p=oui')+len(u'ind.i.1p=oui'):len(PageTemp)]
if PageTemp2.find(u'ind.i.1p=oui') == -1 and PageTemp2.find(u'sub.p.1p=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.i.1p=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# vous
if PageTemp2.find(u'ind.i.2p=oui') != -1 and PageTemp2.find(u'sub.p.2p=oui') != -1:
break
if PageTemp2.find(u'ind.i.2p=oui') != -1 and PageTemp2.find(u'sub.p.2p=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.i.2p=oui')+len(u'ind.i.2p=oui')] + u'|sub.p.2p=oui' + PageTemp[PageTemp.find(u'ind.i.2p=oui')+len(u'ind.i.2p=oui'):len(PageTemp)]
if PageTemp2.find(u'ind.i.2p=oui') == -1 and PageTemp2.find(u'sub.p.2p=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.i.2p=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
# ils
if PageTemp2.find(u'ind.p.3p=oui') != -1 and PageTemp2.find(u'sub.p.3p=oui') != -1:
break
if PageTemp2.find(u'ind.p.3p=oui') != -1 and PageTemp2.find(u'sub.p.3p=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'ind.p.3p=oui')+len(u'ind.p.3p=oui')] + u'|sub.p.3p=oui' + PageTemp[PageTemp.find(u'ind.p.3p=oui')+len(u'ind.p.3p=oui'):len(PageTemp)]
if PageTemp2.find(u'ind.p.3p=oui') == -1 and PageTemp2.find(u'sub.p.3p=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|ind.p.3p=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
elif Page2.find(u'|groupe=3') != -1 or Page2.find(u'|grp=3') != -1:
if PageTemp2.find(u'grp=3') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|grp=3' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]
'''# je
if PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') != -1:
break
elif PageTemp2.find(u'sub.p.1s=oui') != -1 and PageTemp2.find(u'sub.p.3s=oui') == -1:
PageTemp = PageTemp[0:PageTemp.find(u'sub.p.1s=oui')+len(u'sub.p.1s=oui')] + u'|sub.p.3s=oui' + PageTemp[PageTemp.find(u'sub.p.1s=oui')+len(u'sub.p.1s=oui'):len(PageTemp)]
elif PageTemp2.find(u'sub.p.1s=oui') == -1 and PageTemp2.find(u'sub.p.3s=oui') != -1:
PageTemp = PageTemp[0:PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion')] + u'|sub.p.1s=oui' + PageTemp[PageTemp.find(u'fr-verbe-flexion')+len(u'fr-verbe-flexion'):len(PageTemp)]'''
PageEnd = PageEnd + PageTemp[0:PageTemp.find(u'\n')+1]
PageTemp = PageTemp[PageTemp.find(u'\n')+1:len(PageTemp)]
p=p+1
PageEnd = PageEnd + PageTemp[0:len(PageTemp)]
# Liens vers les conjugaisons régulières
if PageEnd.find(u'-loc-') == -1 and PageEnd.find(u'[[Image:') ==-1: # Bug (ex : broyer du noir, définir) {{lang/span\|[a-z\-]*\|([^}]*)}}
langues = [ (u'es', u'ar', u'arsi', u'er', u'ersi', u'ir', u'irsi'),
(u'pt', u'ar', u'ar-se', u'er', u'er-se', u'ir', u'ir-se'),
(u'it', u'are', u'arsi', u'ere', u'ersi', u'ire', u'irsi'),
(u'fr', u'er', u'er', u'ir', u'ir', u're', u'ar')
]
for (langue,premier,ppron,deuxieme,dpron,troisieme,tpron) in langues:
if re.compile('{{\-verb[e]*\-[pr\-]*\|[ ]*' + langue + u'}}').search(PageEnd) and not re.compile('{{\-verb[e]*\-[pr\-]*\|[ ]*' + langue + u'}}.*\n*.*{{conj[a-z1-3\| ]*').search(PageEnd):
if re.compile('{{\-verb[e]*\-[pr\-]*\|[ ]*' + langue + u'.*\n*[ ^\[]*{{pron\|').search(PageEnd):
if PageHS[len(PageHS)-len(premier):len(PageHS)] == premier or PageHS[len(PageHS)-len(ppron):len(PageHS)] == ppron:
try:
i1 = re.search(u'{{\-verb[e]*\-[pr\-]*\|[ ]*' + langue + u'.*}}\n.*}}',PageEnd).end()
PageEnd = PageEnd[:i1] + u' {{conj|grp=1|' + langue + u'}}' + PageEnd[i1:]
except:
print PageHS.encode(config.console_encoding, 'replace') + u' ' + langue.encode(config.console_encoding, 'replace') + u' ' + premier
elif PageHS[len(PageHS)-len(premier):len(PageHS)] == deuxieme or PageHS[len(PageHS)-len(ppron):len(PageHS)] == dpron:
try:
i1 = re.search(u'{{\-verb[e]*\-[pr\-]*\|[ ]*' + langue + u'.*}}\n.*}}',PageEnd).end()
PageEnd = PageEnd[:i1] + u' {{conj|grp=2|' + langue + u'}}' + PageEnd[i1:]
except:
print PageHS.encode(config.console_encoding, 'replace') + u' ' + langue.encode(config.console_encoding, 'replace') + u' ' + deuxieme
elif PageHS[len(PageHS)-len(premier):len(PageHS)] == troisieme or PageHS[len(PageHS)-len(ppron):len(PageHS)] == tpron:
try:
i1 = re.search(u'{{\-verb[e]*\-[pr\-]*\|[ ]*' + langue + u'.*}}\n.*}}',PageEnd).end()
PageEnd = PageEnd[:i1] + u' {{conj|grp=3|' + langue + u'}}' + PageEnd[i1:]
except:
print PageHS.encode(config.console_encoding, 'replace') + u' ' + langue.encode(config.console_encoding, 'replace') + u' ' + troisieme
else:
if PageHS[len(PageHS)-len(premier):len(PageHS)] == premier or PageHS[len(PageHS)-len(ppron):len(PageHS)] == ppron:
try:
i1 = re.search(u'{{\-verb[e]*\-[pr\-]*\|[ ]*' + langue + u'.*}}\n.*\'\'\'',PageEnd).end()
PageEnd = PageEnd[:i1] + u' {{pron||' + langue + u'}} {{conj|grp=1|' + langue + u'}}' + PageEnd[i1:]
except:
print PageHS.encode(config.console_encoding, 'replace') + u' ' + langue.encode(config.console_encoding, 'replace') + u' sans {{pron}}'
elif PageHS[len(PageHS)-len(premier):len(PageHS)] == deuxieme or PageHS[len(PageHS)-len(ppron):len(PageHS)] == dpron:
try:
i1 = re.search(u'{{\-verb[e]*\-[pr\-]*\|[ ]*' + langue + u'.*}}\n[^\[]*\'\'\'',PageEnd).end()
PageEnd = PageEnd[:i1] + u' {{pron||' + langue + u'}} {{conj|grp=2|' + langue + u'}}' + PageEnd[i1:]
except:
print PageHS.encode(config.console_encoding, 'replace') + u' ' + langue.encode(config.console_encoding, 'replace') + u' sans {{pron}}'
elif PageHS[len(PageHS)-len(premier):len(PageHS)] == troisieme or PageHS[len(PageHS)-len(ppron):len(PageHS)] == tpron:
try:
i1 = re.search(u'{{\-verb[e]*\-[pr\-]*\|[ ]*' + langue + u'.*}}\n[^\[]*\'\'\'',PageEnd).end()
PageEnd = PageEnd[:i1] + u' {{pron||' + langue + u'}} {{conj|grp=3|' + langue + u'}}' + PageEnd[i1:]
except:
print PageHS.encode(config.console_encoding, 'replace') + u' ' + langue.encode(config.console_encoding, 'replace') + u' sans {{pron}}'
#print(PageEnd.encode(config.console_encoding, 'replace'))
if PageEnd != PageBegin: sauvegarde(page,PageEnd)
def CleDeTri(PageTitre):
PageT = u''
key = "false"
for lettre in range(0,len(PageTitre)):
# Latin
if PageTitre[lettre:lettre+1] == u'à' or PageTitre[lettre:lettre+1] == u'Á' or PageTitre[lettre:lettre+1] == u'á' or PageTitre[lettre:lettre+1] == u'â' or PageTitre[lettre:lettre+1] == u'ä' or PageTitre[lettre:lettre+1] == u'ā' or PageTitre[lettre:lettre+1] == u'ă' or PageTitre[lettre:lettre+1] == u'ą' or PageTitre[lettre:lettre+1] == u'ǎ' or PageTitre[lettre:lettre+1] == u'ǻ' or PageTitre[lettre:lettre+1] == u'ȁ' or PageTitre[lettre:lettre+1] == u'ȃ' or PageTitre[lettre:lettre+1] == u'ȧ' or PageTitre[lettre:lettre+1] == u'ɑ' or PageTitre[lettre:lettre+1] == u'ạ' or PageTitre[lettre:lettre+1] == u'ả' or PageTitre[lettre:lettre+1] == u'ấ' or PageTitre[lettre:lettre+1] == u'Ấ' or PageTitre[lettre:lettre+1] == u'ⱥ' or PageTitre[lettre:lettre+1] == u'À' or PageTitre[lettre:lettre+1] == u'Â' or PageTitre[lettre:lettre+1] == u'Ä' or PageTitre[lettre:lettre+1] == u'Å' or PageTitre[lettre:lettre+1] == u'Ā' or PageTitre[lettre:lettre+1] == u'Ă' or PageTitre[lettre:lettre+1] == u'Ą' or PageTitre[lettre:lettre+1] == u'Ǎ' or PageTitre[lettre:lettre+1] == u'Ǻ' or PageTitre[lettre:lettre+1] == u'Ȁ' or PageTitre[lettre:lettre+1] == u'Ȃ' or PageTitre[lettre:lettre+1] == u'Ȧ' or PageTitre[lettre:lettre+1] == u'Ⱥ' or PageTitre[lettre:lettre+1] == u'æ' or PageTitre[lettre:lettre+1] == u'ǣ' or PageTitre[lettre:lettre+1] == u'ǽ' or PageTitre[lettre:lettre+1] == u'Æ' or PageTitre[lettre:lettre+1] == u'Ǣ' or PageTitre[lettre:lettre+1] == u'Ǽ' or PageTitre[lettre:lettre+1] == u'Ɑ' or PageTitre[lettre:lettre+1] == u'Ǟ' or PageTitre[lettre:lettre+1] == u'Ǡ' or PageTitre[lettre:lettre+1] == u'ắ' or PageTitre[lettre:lettre+1] == u'Ắ' or PageTitre[lettre:lettre+1] == u'å' or PageTitre[lettre:lettre+1] == u'Å':
PageT = PageT + "a"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ƀ' or PageTitre[lettre:lettre+1] == u'ƃ' or PageTitre[lettre:lettre+1] == u'Ɓ' or PageTitre[lettre:lettre+1] == u'Ƃ' or PageTitre[lettre:lettre+1] == u'Ƀ':
PageT = PageT + "b"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ç' or PageTitre[lettre:lettre+1] == u'ć' or PageTitre[lettre:lettre+1] == u'ĉ' or PageTitre[lettre:lettre+1] == u'ċ' or PageTitre[lettre:lettre+1] == u'č' or PageTitre[lettre:lettre+1] == u'ƈ' or PageTitre[lettre:lettre+1] == u'ȼ' or PageTitre[lettre:lettre+1] == u'Ç' or PageTitre[lettre:lettre+1] == u'Ć' or PageTitre[lettre:lettre+1] == u'Ĉ' or PageTitre[lettre:lettre+1] == u'Ċ' or PageTitre[lettre:lettre+1] == u'Č' or PageTitre[lettre:lettre+1] == u'Ƈ' or PageTitre[lettre:lettre+1] == u'Ȼ':
# ĉ -> cx en espéranto
PageT = PageT + "c"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ď' or PageTitre[lettre:lettre+1] == u'đ' or PageTitre[lettre:lettre+1] == u'ƌ' or PageTitre[lettre:lettre+1] == u'ȡ' or PageTitre[lettre:lettre+1] == u'Ď' or PageTitre[lettre:lettre+1] == u'Đ' or PageTitre[lettre:lettre+1] == u'Ɖ' or PageTitre[lettre:lettre+1] == u'Ɗ' or PageTitre[lettre:lettre+1] == u'Ƌ' or PageTitre[lettre:lettre+1] == u'ȸ' or PageTitre[lettre:lettre+1] == u'dž' or PageTitre[lettre:lettre+1] == u'dz' or PageTitre[lettre:lettre+1] == u'DŽ' or PageTitre[lettre:lettre+1] == u'Dž' or PageTitre[lettre:lettre+1] == u'DZ' or PageTitre[lettre:lettre+1] == u'Dz':
PageT = PageT + "d"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'è' or PageTitre[lettre:lettre+1] == u'È' or PageTitre[lettre:lettre+1] == u'é' or PageTitre[lettre:lettre+1] == u'É' or PageTitre[lettre:lettre+1] == u'ê' or PageTitre[lettre:lettre+1] == u'Ê' or PageTitre[lettre:lettre+1] == u'ë' or PageTitre[lettre:lettre+1] == u'Ë' or PageTitre[lettre:lettre+1] == u'ē' or PageTitre[lettre:lettre+1] == u'ĕ' or PageTitre[lettre:lettre+1] == u'ė' or PageTitre[lettre:lettre+1] == u'ę' or PageTitre[lettre:lettre+1] == u'ě' or PageTitre[lettre:lettre+1] == u'ǝ' or PageTitre[lettre:lettre+1] == u'ɛ' or PageTitre[lettre:lettre+1] == u'ȅ' or PageTitre[lettre:lettre+1] == u'ȇ' or PageTitre[lettre:lettre+1] == u'ȩ' or PageTitre[lettre:lettre+1] == u'ɇ' or PageTitre[lettre:lettre+1] == u'ế' or PageTitre[lettre:lettre+1] == u'Ế' or PageTitre[lettre:lettre+1] == u'Ē' or PageTitre[lettre:lettre+1] == u'Ĕ' or PageTitre[lettre:lettre+1] == u'Ė' or PageTitre[lettre:lettre+1] == u'Ę' or PageTitre[lettre:lettre+1] == u'Ě' or PageTitre[lettre:lettre+1] == u'Ǝ' or PageTitre[lettre:lettre+1] == u'Ɛ' or PageTitre[lettre:lettre+1] == u'Ȅ' or PageTitre[lettre:lettre+1] == u'Ȇ' or PageTitre[lettre:lettre+1] == u'Ȩ' or PageTitre[lettre:lettre+1] == u'Ɇ' or PageTitre[lettre:lettre+1] == u'ệ' or PageTitre[lettre:lettre+1] == u'Ệ':
PageT = PageT + "e"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ƒ' or PageTitre[lettre:lettre+1] == u'Ƒ':
PageT = PageT + "f"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ĝ' or PageTitre[lettre:lettre+1] == u'ğ' or PageTitre[lettre:lettre+1] == u'ġ' or PageTitre[lettre:lettre+1] == u'ģ' or PageTitre[lettre:lettre+1] == u'ǥ' or PageTitre[lettre:lettre+1] == u'ǧ' or PageTitre[lettre:lettre+1] == u'ǵ' or PageTitre[lettre:lettre+1] == u'Ĝ' or PageTitre[lettre:lettre+1] == u'Ğ' or PageTitre[lettre:lettre+1] == u'Ġ' or PageTitre[lettre:lettre+1] == u'Ģ' or PageTitre[lettre:lettre+1] == u'Ɠ' or PageTitre[lettre:lettre+1] == u'Ǥ' or PageTitre[lettre:lettre+1] == u'Ǧ' or PageTitre[lettre:lettre+1] == u'Ǵ':
PageT = PageT + "g"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ĥ' or PageTitre[lettre:lettre+1] == u'ħ' or PageTitre[lettre:lettre+1] == u'ȟ' or PageTitre[lettre:lettre+1] == u'Ĥ' or PageTitre[lettre:lettre+1] == u'Ħ' or PageTitre[lettre:lettre+1] == u'Ȟ':
PageT = PageT + "h"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ı' or PageTitre[lettre:lettre+1] == u'î' or PageTitre[lettre:lettre+1] == u'ĩ' or PageTitre[lettre:lettre+1] == u'ī' or PageTitre[lettre:lettre+1] == u'ĭ' or PageTitre[lettre:lettre+1] == u'į' or PageTitre[lettre:lettre+1] == u'ǐ' or PageTitre[lettre:lettre+1] == u'ȉ' or PageTitre[lettre:lettre+1] == u'ȋ' or PageTitre[lettre:lettre+1] == u'Î' or PageTitre[lettre:lettre+1] == u'Ĩ' or PageTitre[lettre:lettre+1] == u'Ī' or PageTitre[lettre:lettre+1] == u'Ĭ' or PageTitre[lettre:lettre+1] == u'Į' or PageTitre[lettre:lettre+1] == u'İ' or PageTitre[lettre:lettre+1] == u'Ɨ' or PageTitre[lettre:lettre+1] == u'Ǐ' or PageTitre[lettre:lettre+1] == u'Ȉ' or PageTitre[lettre:lettre+1] == u'Ȋ' or PageTitre[lettre:lettre+1] == u'ij' or PageTitre[lettre:lettre+1] == u'IJ' or PageTitre[lettre:lettre+1] == u'ì' or PageTitre[lettre:lettre+1] == u'Ì' or PageTitre[lettre:lettre+1] == u'ï' or PageTitre[lettre:lettre+1] == u'Ï':
PageT = PageT + "i"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ĵ' or PageTitre[lettre:lettre+1] == u'ǰ' or PageTitre[lettre:lettre+1] == u'ȷ' or PageTitre[lettre:lettre+1] == u'ɉ' or PageTitre[lettre:lettre+1] == u'Ĵ' or PageTitre[lettre:lettre+1] == u'Ɉ':
PageT = PageT + "j"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ķ' or PageTitre[lettre:lettre+1] == u'ƙ' or PageTitre[lettre:lettre+1] == u'ǩ' or PageTitre[lettre:lettre+1] == u'Ķ' or PageTitre[lettre:lettre+1] == u'Ƙ' or PageTitre[lettre:lettre+1] == u'Ǩ':
PageT = PageT + "k"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ĺ' or PageTitre[lettre:lettre+1] == u'ļ' or PageTitre[lettre:lettre+1] == u'ľ' or PageTitre[lettre:lettre+1] == u'ŀ' or PageTitre[lettre:lettre+1] == u'ł' or PageTitre[lettre:lettre+1] == u'ƚ' or PageTitre[lettre:lettre+1] == u'ȴ' or PageTitre[lettre:lettre+1] == u'ɫ' or PageTitre[lettre:lettre+1] == u'Ɫ' or PageTitre[lettre:lettre+1] == u'Ĺ' or PageTitre[lettre:lettre+1] == u'Ļ' or PageTitre[lettre:lettre+1] == u'Ľ' or PageTitre[lettre:lettre+1] == u'Ŀ' or PageTitre[lettre:lettre+1] == u'Ł' or PageTitre[lettre:lettre+1] == u'Ƚ' or PageTitre[lettre:lettre+1] == u'lj' or PageTitre[lettre:lettre+1] == u'LJ' or PageTitre[lettre:lettre+1] == u'Lj' or PageTitre[lettre:lettre+1] == u'ị' or PageTitre[lettre:lettre+1] == u'Ị':
PageT = PageT + "i"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'Ɯ':
PageT = PageT + "m"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ń' or PageTitre[lettre:lettre+1] == u'ņ' or PageTitre[lettre:lettre+1] == u'ň' or PageTitre[lettre:lettre+1] == u'ŋ' or PageTitre[lettre:lettre+1] == u'ǹ' or PageTitre[lettre:lettre+1] == u'ƞ' or PageTitre[lettre:lettre+1] == u'ȵ' or PageTitre[lettre:lettre+1] == u'Ń' or PageTitre[lettre:lettre+1] == u'Ņ' or PageTitre[lettre:lettre+1] == u'Ň' or PageTitre[lettre:lettre+1] == u'Ŋ' or PageTitre[lettre:lettre+1] == u'Ɲ' or PageTitre[lettre:lettre+1] == u'Ǹ' or PageTitre[lettre:lettre+1] == u'Ƞ' or PageTitre[lettre:lettre+1] == u'nj' or PageTitre[lettre:lettre+1] == u'NJ' or PageTitre[lettre:lettre+1] == u'Nj' or PageTitre[lettre:lettre+1] == u'ɲ' or PageTitre[lettre:lettre+1] == u'ṉ' or PageTitre[lettre:lettre+1] == u'Ṉ':
PageT = PageT + "n"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ô' or PageTitre[lettre:lettre+1] == u'Ô' or PageTitre[lettre:lettre+1] == u'ø' or PageTitre[lettre:lettre+1] == u'ō' or PageTitre[lettre:lettre+1] == u'ŏ' or PageTitre[lettre:lettre+1] == u'ő' or PageTitre[lettre:lettre+1] == u'ơ' or PageTitre[lettre:lettre+1] == u'ǒ' or PageTitre[lettre:lettre+1] == u'ǫ' or PageTitre[lettre:lettre+1] == u'ǭ' or PageTitre[lettre:lettre+1] == u'ǿ' or PageTitre[lettre:lettre+1] == u'ȍ' or PageTitre[lettre:lettre+1] == u'ȏ' or PageTitre[lettre:lettre+1] == u'ȫ' or PageTitre[lettre:lettre+1] == u'ȭ' or PageTitre[lettre:lettre+1] == u'ȯ' or PageTitre[lettre:lettre+1] == u'ȱ' or PageTitre[lettre:lettre+1] == u'Ø' or PageTitre[lettre:lettre+1] == u'Ō' or PageTitre[lettre:lettre+1] == u'Ŏ' or PageTitre[lettre:lettre+1] == u'Ő' or PageTitre[lettre:lettre+1] == u'Ɔ' or PageTitre[lettre:lettre+1] == u'Ɵ' or PageTitre[lettre:lettre+1] == u'ɵ' or PageTitre[lettre:lettre+1] == u'Ơ' or PageTitre[lettre:lettre+1] == u'Ǒ' or PageTitre[lettre:lettre+1] == u'Ǫ' or PageTitre[lettre:lettre+1] == u'Ǭ' or PageTitre[lettre:lettre+1] == u'Ǿ' or PageTitre[lettre:lettre+1] == u'Ȍ' or PageTitre[lettre:lettre+1] == u'Ȏ' or PageTitre[lettre:lettre+1] == u'Ȫ' or PageTitre[lettre:lettre+1] == u'Ȭ' or PageTitre[lettre:lettre+1] == u'Ȯ' or PageTitre[lettre:lettre+1] == u'Ȱ' or PageTitre[lettre:lettre+1] == u'ɔ' or PageTitre[lettre:lettre+1] == u'ở' or PageTitre[lettre:lettre+1] == u'Ở' or PageTitre[lettre:lettre+1] == u'ợ' or PageTitre[lettre:lettre+1] == u'Ợ':
PageT = PageT + "o"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'œ' or PageTitre[lettre:lettre+1] == u'Œ':
PageT = PageT + "oe"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ƥ' or PageTitre[lettre:lettre+1] == u'Ƥ':
PageT = PageT + "p"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ɋ' or PageTitre[lettre:lettre+1] == u'Ɋ' or PageTitre[lettre:lettre+1] == u'ȹ':
PageT = PageT + "q"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ŕ' or PageTitre[lettre:lettre+1] == u'ŗ' or PageTitre[lettre:lettre+1] == u'ř' or PageTitre[lettre:lettre+1] == u'ȑ' or PageTitre[lettre:lettre+1] == u'ȓ' or PageTitre[lettre:lettre+1] == u'ɍ' or PageTitre[lettre:lettre+1] == u'Ŕ' or PageTitre[lettre:lettre+1] == u'Ŗ' or PageTitre[lettre:lettre+1] == u'Ř' or PageTitre[lettre:lettre+1] == u'Ȑ' or PageTitre[lettre:lettre+1] == u'Ȓ' or PageTitre[lettre:lettre+1] == u'Ɍ':
PageT = PageT + "r"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ſ' or PageTitre[lettre:lettre+1] == u'ś' or PageTitre[lettre:lettre+1] == u'ŝ' or PageTitre[lettre:lettre+1] == u'ş' or PageTitre[lettre:lettre+1] == u'š' or PageTitre[lettre:lettre+1] == u'ƪ' or PageTitre[lettre:lettre+1] == u'ș' or PageTitre[lettre:lettre+1] == u'ȿ' or PageTitre[lettre:lettre+1] == u'Ś' or PageTitre[lettre:lettre+1] == u'Ŝ' or PageTitre[lettre:lettre+1] == u'Ş' or PageTitre[lettre:lettre+1] == u'Š' or PageTitre[lettre:lettre+1] == u'Ʃ' or PageTitre[lettre:lettre+1] == u'Ș' or PageTitre[lettre:lettre+1] == u'ß':
PageT = PageT + "s"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ţ' or PageTitre[lettre:lettre+1] == u'ť' or PageTitre[lettre:lettre+1] == u'ŧ' or PageTitre[lettre:lettre+1] == u'ƫ' or PageTitre[lettre:lettre+1] == u'ƭ' or PageTitre[lettre:lettre+1] == u'ț' or PageTitre[lettre:lettre+1] == u'ȶ' or PageTitre[lettre:lettre+1] == u'Ţ' or PageTitre[lettre:lettre+1] == u'Ť' or PageTitre[lettre:lettre+1] == u'Ŧ' or PageTitre[lettre:lettre+1] == u'Ƭ' or PageTitre[lettre:lettre+1] == u'Ʈ' or PageTitre[lettre:lettre+1] == u'Ț' or PageTitre[lettre:lettre+1] == u'Ⱦ' or PageTitre[lettre:lettre+1] == u'ⱦ':
PageT = PageT + "t"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'û' or PageTitre[lettre:lettre+1] == u'ũ' or PageTitre[lettre:lettre+1] == u'ū' or PageTitre[lettre:lettre+1] == u'ŭ' or PageTitre[lettre:lettre+1] == u'ů' or PageTitre[lettre:lettre+1] == u'ű' or PageTitre[lettre:lettre+1] == u'ų' or PageTitre[lettre:lettre+1] == u'ư' or PageTitre[lettre:lettre+1] == u'ǔ' or PageTitre[lettre:lettre+1] == u'ǖ' or PageTitre[lettre:lettre+1] == u'ǘ' or PageTitre[lettre:lettre+1] == u'ǚ' or PageTitre[lettre:lettre+1] == u'ǜ' or PageTitre[lettre:lettre+1] == u'ǟ' or PageTitre[lettre:lettre+1] == u'ǡ' or PageTitre[lettre:lettre+1] == u'ȕ' or PageTitre[lettre:lettre+1] == u'ȗ' or PageTitre[lettre:lettre+1] == u'ʉ' or PageTitre[lettre:lettre+1] == u'Û' or PageTitre[lettre:lettre+1] == u'Ũ' or PageTitre[lettre:lettre+1] == u'Ū' or PageTitre[lettre:lettre+1] == u'Ŭ' or PageTitre[lettre:lettre+1] == u'Ů' or PageTitre[lettre:lettre+1] == u'Ű' or PageTitre[lettre:lettre+1] == u'Ų' or PageTitre[lettre:lettre+1] == u'Ư' or PageTitre[lettre:lettre+1] == u'Ǔ' or PageTitre[lettre:lettre+1] == u'Ǖ' or PageTitre[lettre:lettre+1] == u'Ǘ' or PageTitre[lettre:lettre+1] == u'Ǚ' or PageTitre[lettre:lettre+1] == u'Ǜ' or PageTitre[lettre:lettre+1] == u'Ȕ' or PageTitre[lettre:lettre+1] == u'Ȗ' or PageTitre[lettre:lettre+1] == u'Ʉ' or PageTitre[lettre:lettre+1] == u'ủ' or PageTitre[lettre:lettre+1] == u'Ủ' or PageTitre[lettre:lettre+1] == u'ú' or PageTitre[lettre:lettre+1] == u'Ú':
PageT = PageT + "u"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ʋ' or PageTitre[lettre:lettre+1] == u'Ʋ' or PageTitre[lettre:lettre+1] == u'Ʌ' or PageTitre[lettre:lettre+1] == u'ʌ':
PageT = PageT + "v"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ŵ' or PageTitre[lettre:lettre+1] == u'Ŵ':
PageT = PageT + "w"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ŷ' or PageTitre[lettre:lettre+1] == u'ƴ' or PageTitre[lettre:lettre+1] == u'ȳ' or PageTitre[lettre:lettre+1] == u'ɏ' or PageTitre[lettre:lettre+1] == u'Ŷ' or PageTitre[lettre:lettre+1] == u'Ÿ' or PageTitre[lettre:lettre+1] == u'Ƴ' or PageTitre[lettre:lettre+1] == u'Ȳ' or PageTitre[lettre:lettre+1] == u'Ɏ':
PageT = PageT + "y"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ź' or PageTitre[lettre:lettre+1] == u'ż' or PageTitre[lettre:lettre+1] == u'ž' or PageTitre[lettre:lettre+1] == u'ƶ' or PageTitre[lettre:lettre+1] == u'ƹ' or PageTitre[lettre:lettre+1] == u'ƺ' or PageTitre[lettre:lettre+1] == u'ǯ' or PageTitre[lettre:lettre+1] == u'ȥ' or PageTitre[lettre:lettre+1] == u'ɀ' or PageTitre[lettre:lettre+1] == u'Ź' or PageTitre[lettre:lettre+1] == u'Ż' or PageTitre[lettre:lettre+1] == u'Ž' or PageTitre[lettre:lettre+1] == u'Ƶ' or PageTitre[lettre:lettre+1] == u'Ʒ' or PageTitre[lettre:lettre+1] == u'Ƹ' or PageTitre[lettre:lettre+1] == u'Ǯ' or PageTitre[lettre:lettre+1] == u'Ȥ':
PageT = PageT + "z"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'\'' or PageTitre[lettre:lettre+1] == u'’' or PageTitre[lettre:lettre+1] == u'ʼ':
PageT = PageT + ""
key = "yes"
elif PageTitre[lettre:lettre+1] == u'-':
PageT = PageT + " "
key = "yes"
elif PageTitre[lettre:lettre+1] == u'/':
PageT = PageT + " "
key = "yes"
elif PageTitre[lettre:lettre+1] == u'\\':
PageT = PageT + ""
key = "yes"'''
# Grec
elif PageTitre[lettre:lettre+1] == u'α' or PageTitre[lettre:lettre+1] == u'Ἀ' or PageTitre[lettre:lettre+1] == u'ἀ' or PageTitre[lettre:lettre+1] == u'Ἁ' or PageTitre[lettre:lettre+1] == u'ἁ' or PageTitre[lettre:lettre+1] == u'Ἂ' or PageTitre[lettre:lettre+1] == u'ἂ' or PageTitre[lettre:lettre+1] == u'Ἃ' or PageTitre[lettre:lettre+1] == u'ἃ' or PageTitre[lettre:lettre+1] == u'Ἄ' or PageTitre[lettre:lettre+1] == u'ἄ' or PageTitre[lettre:lettre+1] == u'Ἅ' or PageTitre[lettre:lettre+1] == u'ἅ' or PageTitre[lettre:lettre+1] == u'Ἆ' or PageTitre[lettre:lettre+1] == u'ἆ' or PageTitre[lettre:lettre+1] == u'Ἇ' or PageTitre[lettre:lettre+1] == u'ἇ' or PageTitre[lettre:lettre+1] == u'Ὰ' or PageTitre[lettre:lettre+1] == u'ὰ' or PageTitre[lettre:lettre+1] == u'Ά' or PageTitre[lettre:lettre+1] == u'ά' or PageTitre[lettre:lettre+1] == u'ᾈ' or PageTitre[lettre:lettre+1] == u'ᾀ' or PageTitre[lettre:lettre+1] == u'ᾉ' or PageTitre[lettre:lettre+1] == u'ᾁ' or PageTitre[lettre:lettre+1] == u'ᾊ' or PageTitre[lettre:lettre+1] == u'ᾂ' or PageTitre[lettre:lettre+1] == u'ᾋ' or PageTitre[lettre:lettre+1] == u'ᾃ' or PageTitre[lettre:lettre+1] == u'ᾌ' or PageTitre[lettre:lettre+1] == u'ᾄ' or PageTitre[lettre:lettre+1] == u'ᾍ' or PageTitre[lettre:lettre+1] == u'ᾅ' or PageTitre[lettre:lettre+1] == u'ᾎ' or PageTitre[lettre:lettre+1] == u'ᾆ' or PageTitre[lettre:lettre+1] == u'ᾏ' or PageTitre[lettre:lettre+1] == u'ᾇ' or PageTitre[lettre:lettre+1] == u'Ᾰ' or PageTitre[lettre:lettre+1] == u'ᾰ' or PageTitre[lettre:lettre+1] == u'Ᾱ' or PageTitre[lettre:lettre+1] == u'ᾱ' or PageTitre[lettre:lettre+1] == u'ᾼ' or PageTitre[lettre:lettre+1] == u'ᾳ' or PageTitre[lettre:lettre+1] == u'Ὰ' or PageTitre[lettre:lettre+1] == u'ᾲ' or PageTitre[lettre:lettre+1] == u'Ά' or PageTitre[lettre:lettre+1] == u'ᾴ' or PageTitre[lettre:lettre+1] == u'Ȃ' or PageTitre[lettre:lettre+1] == u'ᾶ' or PageTitre[lettre:lettre+1] == u'Ȃ' or PageTitre[lettre:lettre+1] == u'ᾷ':
PageT = PageT + "α"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'Ἐ' or PageTitre[lettre:lettre+1] == u'ἐ' or PageTitre[lettre:lettre+1] == u'Ἑ' or PageTitre[lettre:lettre+1] == u'ἑ' or PageTitre[lettre:lettre+1] == u'Ἒ' or PageTitre[lettre:lettre+1] == u'ἒ' or PageTitre[lettre:lettre+1] == u'Ἓ' or PageTitre[lettre:lettre+1] == u'ἓ' or PageTitre[lettre:lettre+1] == u'Ἔ' or PageTitre[lettre:lettre+1] == u'ἔ' or PageTitre[lettre:lettre+1] == u'Ἕ' or PageTitre[lettre:lettre+1] == u'ἕ' or PageTitre[lettre:lettre+1] == u'Ὲ' or PageTitre[lettre:lettre+1] == u'ὲ' or PageTitre[lettre:lettre+1] == u'Έ' or PageTitre[lettre:lettre+1] == u'έ':
PageT = PageT + "ε"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'Ἠ' or PageTitre[lettre:lettre+1] == u'ἠ' or PageTitre[lettre:lettre+1] == u'Ἡ' or PageTitre[lettre:lettre+1] == u'ἡ' or PageTitre[lettre:lettre+1] == u'Ἢ' or PageTitre[lettre:lettre+1] == u'ἢ' or PageTitre[lettre:lettre+1] == u'Ἣ' or PageTitre[lettre:lettre+1] == u'ἣ' or PageTitre[lettre:lettre+1] == u'Ἤ' or PageTitre[lettre:lettre+1] == u'ἤ' or PageTitre[lettre:lettre+1] == u'Ἥ' or PageTitre[lettre:lettre+1] == u'ἥ' or PageTitre[lettre:lettre+1] == u'Ἦ' or PageTitre[lettre:lettre+1] == u'ἦ' or PageTitre[lettre:lettre+1] == u'Ἧ' or PageTitre[lettre:lettre+1] == u'ἧ' or PageTitre[lettre:lettre+1] == u'ᾘ' or PageTitre[lettre:lettre+1] == u'ᾐ' or PageTitre[lettre:lettre+1] == u'ᾙ' or PageTitre[lettre:lettre+1] == u'ᾑ' or PageTitre[lettre:lettre+1] == u'ᾚ' or PageTitre[lettre:lettre+1] == u'ᾒ' or PageTitre[lettre:lettre+1] == u'ᾛ' or PageTitre[lettre:lettre+1] == u'ᾓ' or PageTitre[lettre:lettre+1] == u'ᾜ' or PageTitre[lettre:lettre+1] == u'ᾔ' or PageTitre[lettre:lettre+1] == u'ᾝ' or PageTitre[lettre:lettre+1] == u'ᾕ' or PageTitre[lettre:lettre+1] == u'ᾞ' or PageTitre[lettre:lettre+1] == u'ᾖ' or PageTitre[lettre:lettre+1] == u'ᾟ' or PageTitre[lettre:lettre+1] == u'ᾗ' or PageTitre[lettre:lettre+1] == u'Ὴ' or PageTitre[lettre:lettre+1] == u'ὴ' or PageTitre[lettre:lettre+1] == u'Ή' or PageTitre[lettre:lettre+1] == u'ή' or PageTitre[lettre:lettre+1] == u'ῌ' or PageTitre[lettre:lettre+1] == u'ῂ' or PageTitre[lettre:lettre+1] == u'Η' or PageTitre[lettre:lettre+1] == u'ῃ' or PageTitre[lettre:lettre+1] == u'Ή' or PageTitre[lettre:lettre+1] == u'ῄ' or PageTitre[lettre:lettre+1] == u'ῌ' or PageTitre[lettre:lettre+1] == u'ῆ' or PageTitre[lettre:lettre+1] == u'ῌ' or PageTitre[lettre:lettre+1] == u'ῇ':
PageT = PageT + "η"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'Ὶ' or PageTitre[lettre:lettre+1] == u'ὶ' or PageTitre[lettre:lettre+1] == u'Ί' or PageTitre[lettre:lettre+1] == u'ί' or PageTitre[lettre:lettre+1] == u'Ί' or PageTitre[lettre:lettre+1] == u'ί' or PageTitre[lettre:lettre+1] == u'Ῐ' or PageTitre[lettre:lettre+1] == u'ῐ' or PageTitre[lettre:lettre+1] == u'Ῑ' or PageTitre[lettre:lettre+1] == u'ῑ' or PageTitre[lettre:lettre+1] == u'Ἰ' or PageTitre[lettre:lettre+1] == u'ἰ' or PageTitre[lettre:lettre+1] == u'Ἱ' or PageTitre[lettre:lettre+1] == u'ἱ' or PageTitre[lettre:lettre+1] == u'Ἲ' or PageTitre[lettre:lettre+1] == u'ἲ' or PageTitre[lettre:lettre+1] == u'Ἳ' or PageTitre[lettre:lettre+1] == u'ἳ' or PageTitre[lettre:lettre+1] == u'Ἴ' or PageTitre[lettre:lettre+1] == u'ἴ' or PageTitre[lettre:lettre+1] == u'Ἵ' or PageTitre[lettre:lettre+1] == u'ἵ' or PageTitre[lettre:lettre+1] == u'Ἶ' or PageTitre[lettre:lettre+1] == u'ἶ' or PageTitre[lettre:lettre+1] == u'Ἷ' or PageTitre[lettre:lettre+1] == u'ἷ' or PageTitre[lettre:lettre+1] == u'ΐ' or PageTitre[lettre:lettre+1] == u'ῖ' or PageTitre[lettre:lettre+1] == u'ῗ' or PageTitre[lettre:lettre+1] == u'ῒ':
PageT = PageT + "ι"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'Ὀ' or PageTitre[lettre:lettre+1] == u'ὀ' or PageTitre[lettre:lettre+1] == u'Ὁ' or PageTitre[lettre:lettre+1] == u'ὁ' or PageTitre[lettre:lettre+1] == u'Ὂ' or PageTitre[lettre:lettre+1] == u'ὂ' or PageTitre[lettre:lettre+1] == u'Ὃ' or PageTitre[lettre:lettre+1] == u'ὃ' or PageTitre[lettre:lettre+1] == u'Ὄ' or PageTitre[lettre:lettre+1] == u'ὄ' or PageTitre[lettre:lettre+1] == u'Ὅ' or PageTitre[lettre:lettre+1] == u'ὅ' or PageTitre[lettre:lettre+1] == u'Ὸ' or PageTitre[lettre:lettre+1] == u'ὸ' or PageTitre[lettre:lettre+1] == u'Ό' or PageTitre[lettre:lettre+1] == u'ό':
PageT = PageT + "ο"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'Ὠ' or PageTitre[lettre:lettre+1] == u'ὠ' or PageTitre[lettre:lettre+1] == u'Ὡ' or PageTitre[lettre:lettre+1] == u'ὡ' or PageTitre[lettre:lettre+1] == u'Ὢ' or PageTitre[lettre:lettre+1] == u'ὢ' or PageTitre[lettre:lettre+1] == u'Ὣ' or PageTitre[lettre:lettre+1] == u'ὣ' or PageTitre[lettre:lettre+1] == u'Ὤ' or PageTitre[lettre:lettre+1] == u'ὤ' or PageTitre[lettre:lettre+1] == u'Ὥ' or PageTitre[lettre:lettre+1] == u'ὥ' or PageTitre[lettre:lettre+1] == u'Ὦ' or PageTitre[lettre:lettre+1] == u'ὦ' or PageTitre[lettre:lettre+1] == u'Ὧ' or PageTitre[lettre:lettre+1] == u'ὧ' or PageTitre[lettre:lettre+1] == u'Ὼ' or PageTitre[lettre:lettre+1] == u'ὼ' or PageTitre[lettre:lettre+1] == u'Ώ' or PageTitre[lettre:lettre+1] == u'ώ' or PageTitre[lettre:lettre+1] == u'ᾨ' or PageTitre[lettre:lettre+1] == u'ᾠ' or PageTitre[lettre:lettre+1] == u'ᾩ' or PageTitre[lettre:lettre+1] == u'ᾡ' or PageTitre[lettre:lettre+1] == u'ᾪ' or PageTitre[lettre:lettre+1] == u'ᾢ' or PageTitre[lettre:lettre+1] == u'ᾫ' or PageTitre[lettre:lettre+1] == u'ᾣ' or PageTitre[lettre:lettre+1] == u'ᾬ' or PageTitre[lettre:lettre+1] == u'ᾤ' or PageTitre[lettre:lettre+1] == u'ᾭ' or PageTitre[lettre:lettre+1] == u'ᾥ' or PageTitre[lettre:lettre+1] == u'ᾮ' or PageTitre[lettre:lettre+1] == u'ᾦ' or PageTitre[lettre:lettre+1] == u'ᾯ' or PageTitre[lettre:lettre+1] == u'ᾧ' or PageTitre[lettre:lettre+1] == u'ῼ' or PageTitre[lettre:lettre+1] == u'ῳ' or PageTitre[lettre:lettre+1] == u'ῲ' or PageTitre[lettre:lettre+1] == u'ῴ' or PageTitre[lettre:lettre+1] == u'ῶ' or PageTitre[lettre:lettre+1] == u'ῷ':
PageT = PageT + "ω"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'Ὓ' or PageTitre[lettre:lettre+1] == u'ὓ' or PageTitre[lettre:lettre+1] == u'Υ' or PageTitre[lettre:lettre+1] == u'ὔ' or PageTitre[lettre:lettre+1] == u'Ὕ' or PageTitre[lettre:lettre+1] == u'ὕ' or PageTitre[lettre:lettre+1] == u'Ὗ' or PageTitre[lettre:lettre+1] == u'ὗ' or PageTitre[lettre:lettre+1] == u'Ὺ' or PageTitre[lettre:lettre+1] == u'ὺ' or PageTitre[lettre:lettre+1] == u'Ύ' or PageTitre[lettre:lettre+1] == u'ύ' or PageTitre[lettre:lettre+1] == u'Ῠ' or PageTitre[lettre:lettre+1] == u'ῠ' or PageTitre[lettre:lettre+1] == u'Ῡ' or PageTitre[lettre:lettre+1] == u'ῡ' or PageTitre[lettre:lettre+1] == u'ῢ' or PageTitre[lettre:lettre+1] == u'ΰ' or PageTitre[lettre:lettre+1] == u'ῦ' or PageTitre[lettre:lettre+1] == u'ῧ' or PageTitre[lettre:lettre+1] == u'ὐ' or PageTitre[lettre:lettre+1] == u'ὑ' or PageTitre[lettre:lettre+1] == u'ὒ' or PageTitre[lettre:lettre+1] == u'ὖ':
PageT = PageT + "υ"
key = "yes"
# Cyrillique
elif PageTitre[lettre:lettre+1] == u'ѐ' or PageTitre[lettre:lettre+1] == u'Ѐ' or PageTitre[lettre:lettre+1] == u'ё' or PageTitre[lettre:lettre+1] == u'Ё':
PageT = PageT + u'е'
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ѝ' or PageTitre[lettre:lettre+1] == u'й' or PageTitre[lettre:lettre+1] == u'И' or PageTitre[lettre:lettre+1] == u'Ѝ' or PageTitre[lettre:lettre+1] == u'Й':
PageT = PageT + "и"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ў' or PageTitre[lettre:lettre+1] == u'У' or PageTitre[lettre:lettre+1] == u'Ў':
PageT = PageT + "у"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ѓ' or PageTitre[lettre:lettre+1] == u'ґ' or PageTitre[lettre:lettre+1] == u'Г' or PageTitre[lettre:lettre+1] == u'Ѓ' or PageTitre[lettre:lettre+1] == u'Ґ':
PageT = PageT + "г"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ќ' or PageTitre[lettre:lettre+1] == u'К' or PageTitre[lettre:lettre+1] == u'Ќ':
PageT = PageT + "к"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ї' or PageTitre[lettre:lettre+1] == u'І' or PageTitre[lettre:lettre+1] == u'Ї':
PageT = PageT + "і"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'Ѿ':
PageT = PageT + "Ѡ"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'Ѵ' or PageTitre[lettre:lettre+1] == u'ѷ' or PageTitre[lettre:lettre+1] == u'Ѷ':
PageT = PageT + "ѵ"
key = "yes"
# Arabe
elif PageTitre[lettre:lettre+1] == u'أ' or PageTitre[lettre:lettre+1] == u'إ' or PageTitre[lettre:lettre+1] == u'آ' or PageTitre[lettre:lettre+1] == u'ٱ':
PageT = PageT + "ا"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'دَ' or PageTitre[lettre:lettre+1] == u'دِ' or PageTitre[lettre:lettre+1] == u'دُ':
PageT = PageT + "ﺩ"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'ذٰ':
PageT = PageT + "ﺫ"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'لٰ':
PageT = PageT + "ﻝ"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'مٰ':
PageT = PageT + "ﻡ"
key = "yes"
elif PageTitre[lettre:lettre+1] == u'هٰ':
PageT = PageT + "ﻩ"
key = "yes"'''
elif PageTitre[lettre:lettre+1] == u'A' or PageTitre[lettre:lettre+1] == u'B' or PageTitre[lettre:lettre+1] == u'C' or PageTitre[lettre:lettre+1] == u'D' or PageTitre[lettre:lettre+1] == u'E' or PageTitre[lettre:lettre+1] == u'F' or PageTitre[lettre:lettre+1] == u'G' or PageTitre[lettre:lettre+1] == u'H' or PageTitre[lettre:lettre+1] == u'I' or PageTitre[lettre:lettre+1] == u'J' or PageTitre[lettre:lettre+1] == u'K' or PageTitre[lettre:lettre+1] == u'L' or PageTitre[lettre:lettre+1] == u'M' or PageTitre[lettre:lettre+1] == u'N' or PageTitre[lettre:lettre+1] == u'O' or PageTitre[lettre:lettre+1] == u'P' or PageTitre[lettre:lettre+1] == u'Q' or PageTitre[lettre:lettre+1] == u'R' or PageTitre[lettre:lettre+1] == u'S' or PageTitre[lettre:lettre+1] == u'T' or PageTitre[lettre:lettre+1] == u'U' or PageTitre[lettre:lettre+1] == u'V' or PageTitre[lettre:lettre+1] == u'W' or PageTitre[lettre:lettre+1] == u'X' or PageTitre[lettre:lettre+1] == u'Y' or PageTitre[lettre:lettre+1] == u'Z':
PageT = PageT + PageTitre[lettre:lettre+1].lower()
else:
PageT = PageT + PageTitre[lettre:lettre+1]
#print (PageT.encode(config.console_encoding, 'replace'))
#raw_input("lettre")
if key == "yes":
while PageT[0:1] == u' ': PageT = PageT[1:len(PageT)]
return PageT
else:
#raw_input(PageTitre.encode(config.console_encoding, 'replace'))
return PageTitre
# Lecture du fichier articles_list.txt (au même format que pour replace.py)
def crawlerFile(source):
if source:
PagesHS = open(source, 'r')
while 1:
PageHS = PagesHS.readline()
fin = PageHS.find("\t")
PageHS = PageHS[0:fin]
if PageHS == '': break
modification(PageHS)
PagesHS.close()
# Traitement d'une catégorie
def crawlerCat(category,recursif,apres):
modifier = u'False'
cat = catlib.Category(site, category)
pages = cat.articlesList(False)
for Page in pagegenerators.PreloadingGenerator(pages,100):
if not apres or apres == u'' or modifier == u'True':
modification(Page.title()) #crawlerLink(Page.title())
elif Page.title() == apres:
modifier = u'True'
if recursif == True:
subcat = cat.subcategories(recurse = True)
for subcategory in subcat:
pages = subcategory.articlesList(False)
for Page in pagegenerators.PreloadingGenerator(pages,100):
modification(Page.title())
# Traitement des pages liées
def crawlerLink(pagename,apres):
#pagename = unicode(arg[len('-links:'):], 'utf-8')
page = wikipedia.Page(site, pagename)
gen = pagegenerators.ReferringPageGenerator(page)
#gen = pagegenerators.NamespaceFilterPageGenerator(gen, namespaces)
for Page in pagegenerators.PreloadingGenerator(gen,100):
#print(Page.title().encode(config.console_encoding, 'replace'))
if not apres or apres == u'' or modifier == u'True':
modification(Page.title()) #crawlerLink(Page.title())
elif Page.title() == apres:
modifier = u'True'
# Traitement d'une recherche
def crawlerSearch(pagename):
gen = pagegenerators.SearchPageGenerator(pagename, namespaces = "0")
for Page in pagegenerators.PreloadingGenerator(gen,100):
modification(Page.title())
# Traitement des modifications récentes
def crawlerRC():
gen = pagegenerators.RecentchangesPageGenerator()
for Page in pagegenerators.PreloadingGenerator(gen,100):
modification(Page.title())
# Traitement des modifications d'un compte
def crawlerUser(username):
gen = pagegenerators.UserContributionsGenerator(username)
for Page in pagegenerators.PreloadingGenerator(gen,100):
modification(Page.title())
def trim(s):
return s.strip(" \t\n\r\0\x0B")
# Permet à tout le monde de stopper le bot en lui écrivant
def ArretDUrgence():
arrettitle = ''.join(u'Discussion utilisateur:' + mynick)
arretpage = pywikibot.Page(pywikibot.getSite(), arrettitle)
gen = iter([arretpage])
arret = arretpage.get()
if arret != u"{{/Stop}}":
pywikibot.output(u"\n*** \03{lightyellow}Arrêt d'urgence demandé\03{default} ***")
exit(0)
def sauvegarde(PageCourante, Contenu):
ArretDUrgence()
try:
result = "ok"
#print(Contenu.encode(config.console_encoding, 'replace')[0:4000])
#result = raw_input("Sauvegarder ? (o/n)")
if result != "n" and result != "no" and result != "non": PageCourante.put(Contenu, summary)
except wikipedia.NoPage:
print "No page"
return
except wikipedia.IsRedirectPage:
print "Redirect page"
return
except wikipedia.LockedPage:
print "Protected page"
return
except pywikibot.EditConflict:
print "Edit conflict"
return
# Lancement
TraitementCategory = crawlerCat(u'Catégorie:Wiktionnaire:Codes langue manquants',True)
TraitementCategory = crawlerCat(u'Catégorie:Wiktionnaire:Flexions à vérifier',True)
TraitementLiens = crawlerLink(u'Modèle:1ergroupe')
TraitementLiens = crawlerLink(u'Modèle:2egroupe')
TraitementLiens = crawlerLink(u'Modèle:3egroupe')
TraitementLiens = crawlerLink(u'Modèle:trad')
TraitementCategory = crawlerCat(u'Catégorie:Appels de modèles incorrects:fr-verbe-flexion incomplet',False)
'''
TraitementLiens = crawlerLink(u'Modèle:(',u'bugle')
TraitementLiens = crawlerLink(u'Modèle:-flex-nom-')
TraitementLiens = crawlerLink(u'Modèle:clé de tri')
TraitementFile = crawlerFile('articles_listed.txt')
TraitementWord = modification(u'Utilisateur:JackBot/test')
TraitementCategory = crawlerCat(u'Catégorie:Appels de modèles incorrects',True)
TraitementRecherche = crawlerSearch(u'chinois')
TraitementUtilisateur = crawlerUser(u'Utilisateur:JackBot')
while 1:
TraitementRC = crawlerRC()
'''
</source>All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://fr.wiktionary.org/w/index.php?oldid=10718435.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|