Utilisateur:JackBot

Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.
Aller à : Navigation, rechercher
500 000+

Sur les autres projets Wikimédia :

Crystal 128 konsole.png

Ce compte est celui d'un bot appartenant à JackPotte.
Ce n'est pas un faux-nez, mais plutôt un compte automatique ou semi-automatique afin de faire des modifications répétitives qui seraient extrêmement longues à faire manuellement.
Administrateurs : si ce bot est en flagrant délit de mauvais fonctionnement voire de destruction d'articles, prière de le bloquer.


Python.svg Code Crystal Clear mimetype source py.png

Bannière d'AutoWikiBrowser
AutoWikiBrowser
  1. Aide:AutoWikiBrowser sur Wikipédia Article sur Wikipédia
  2. Aide:Pywikipedia sur Wikipédia Article sur Wikipédia
  3. Télécharger un majordome IRC.
  4. Faits maison :

#REDIRECTw:Utilisateur:JackBot
Cette page est une redirection douce.

#!/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 et certains liens vers les conjugaisons
# 3) Met à jour les liens vers les traductions (modèles trad+ et trad-)
# 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
 
# 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]]'
limit4=733
temp = range(1, limit4+1)
Ttemp = range(1, limit4+1)
 
# http://fr.wiktionary.org/wiki/Cat%C3%A9gorie:Mod%C3%A8les_de_type_de_mot_du_Wiktionnaire
temp[1] = u'-adj-'
temp[2] = u'-flex-adj-indéf-'
temp[3] = u'-adj-dém-'
temp[4] = u'-adj-excl-'
temp[5] = u'-adj-indéf-'
temp[6] = u'-adj-int-'
temp[7] = u'-adj-num-'
temp[8] = u'-adj-pos-'
temp[9] = u'-adv-'
temp[10] = u'-adv-int-'
temp[11] = u'-adv-pron-'
temp[12] = u'-adv-rel-'
temp[13] = u'-aff-'
temp[14] = u'-art-'
temp[15] = u'-flex-art-déf-'
temp[16] = u'-flex-art-indéf-'
temp[17] = u'-flex-art-part-'
temp[18] = u'-art-déf-'
temp[19] = u'-art-indéf-'
temp[20] = u'-art-part-'
temp[21] = u'-aux-'
temp[22] = u'-circonf-'
temp[23] = u'-class-'
temp[24] = u'-conj-'
temp[25] = u'-conj-coord-'
temp[26] = u'-cont-'
temp[27] = u'-copule-'
temp[28] = u'-corrélatif-'
temp[29] = u'-dét-'
temp[30] = u'-erreur-'
temp[31] = u'-faux-prov-'
temp[32] = u'-flex-adj-'
temp[33] = u'-flex-adj-num-'
temp[34] = u'-flex-adj-pos-'
temp[35] = u'-flex-adv-'
temp[36] = u'-flex-art-'
temp[37] = u'-flex-aux-'
temp[38] = u'-flex-conj-'
temp[39] = u'-flex-interj-'
temp[40] = u'-flex-lettre-'
temp[41] = u'-flex-loc-adj-'
temp[42] = u'-flex-loc-conj-'
temp[43] = u'-flex-loc-nom-'
temp[44] = u'-flex-loc-verb-'
temp[45] = u'-flex-nom-'
temp[46] = u'-flex-nom-fam-'
temp[47] = u'-flex-nom-pr-'
temp[48] = u'-flex-mots-diff-'
temp[49] = u'-flex-prénom-'
temp[50] = u'-flex-prép-'
temp[51] = u'-flex-pronom-'
temp[52] = u'-flex-pronom-indéf-'
temp[53] = u'-flex-pronom-int-'
temp[54] = u'-flex-pronom-pers-'
temp[55] = u'-flex-pronom-rel-'
temp[56] = u'-flex-verb-'
temp[57] = u'-inf-'
temp[58] = u'-interf-'
temp[59] = u'-interj-'
temp[60] = u'-lettre-'
temp[61] = u'-loc-'
temp[62] = u'-loc-adj-'
temp[63] = u'-loc-adv-'
temp[64] = u'-loc-conj-'
temp[65] = u'-loc-dét-'
temp[66] = u'-loc-interj-'
temp[67] = u'-loc-nom-'
temp[68] = u'-loc-phr-'
temp[69] = u'-loc-post-'
temp[70] = u'-loc-prép-'
temp[71] = u'-loc-pronom-'
temp[72] = u'-loc-verb-'
temp[73] = u'-nom-'
temp[74] = u'-nom-fam-'
temp[75] = u'-nom-ni-'
temp[76] = u'-nom-nu-'
temp[77] = u'-nom-nn-'
temp[78] = u'-nom-npl-'
temp[79] = u'-nom-pr-'
temp[80] = u'-nom-sciences-'
temp[81] = u'-numér-'
temp[82] = u'-onoma-'
temp[83] = u'-part-'
temp[84] = u'-post-'
temp[85] = u'-préf-'
temp[86] = u'-prénom-'
temp[87] = u'-prép-'
temp[88] = u'-pronom-'
temp[89] = u'-pronom-adj-'
temp[90] = u'-pronom-dém-'
temp[91] = u'-pronom-indéf-'
temp[92] = u'-pronom-int-'
temp[93] = u'-pronom-pers-'
temp[94] = u'-pronom-pos-'
temp[95] = u'-pronom-rel-'
temp[96] = u'-prov-'
temp[97] = u'-racine-'
temp[98] = u'-radical-'
temp[99] = u'-rimes-'
temp[100] = u'-sigle-'
temp[101] = u'-signe-'
#temp[102] = u'-sin-'
temp[102] = u'-subst-pron-pers-'
temp[103] = u'-suf-'
temp[104] = u'-flex-suf-'
temp[105] = u'-var-typo-'
temp[106] = u'-verb-'
temp[107] = u'-verb-pr-'
temp[108] = u'-verbe-'
temp[109] = u'-adjectif-'
temp[110] = u'-adverbe-'
temp[111] = u'-locution-'
temp[112] = u'-préfixe-'
temp[113] = u'-suffixe-'
temp[114] = u'-symb-'
limit1 = 115 # Paragraphes avec modèle catégorisant
temp[115] = u'-apr-'
#temp[115] = u'-apr-int-'
temp[116] = u'-cit-'
temp[117] = u'-compos-'
temp[118] = u'-conjug-'
temp[119] = u'-décl-'
temp[120] = u'-dial-'
temp[121] = u'-drv-'
temp[122] = u'-drv-int-'
temp[123] = u'-étym-'
temp[124] = u'-exp-'
temp[125] = u'-faux-amis-'
temp[126] = u'-gent-'
temp[127] = u'-hist-'
temp[128] = u'-holo-'
temp[129] = u'-homo-'
temp[130] = u'-hyper-'
temp[131] = u'-hypo-'
temp[132] = u'-image-'
temp[133] = u'-méro-'
temp[134] = u'-note-'
temp[135] = u'-var-ortho-'
temp[136] = u'-ortho-arch-'
temp[137] = u'-paro-'
temp[138] = u'-vidéo-'
temp[139] = u'-q-syn-'
temp[140] = u'-réf-'
temp[141] = u'-sino-dico-'
temp[142] = u'-sous-esp-'
temp[143] = u'-syll-'
temp[144] = u'-syn-'
temp[145] = u'-noms-vern-'
temp[146] = u'-trad-'
temp[147] = u'-trans-'
temp[148] = u'-translit-'
temp[149] = u'-tropo-'
temp[150] = u'-var-'
temp[151] = u'-voc-'
temp[152] = u'-voir-'
temp[152] = u'-pron-'
# http://fr.wiktionary.org/wiki/Cat%C3%A9gorie:Mod%C3%A8les_de_titres_de_sections
temp[154] = u'-abrév-'
temp[155] = u'-anagr-'
temp[156] = u'-ant-'
 
limit2 = 157 # Paragraphes sans modèle catégorisant
 
temp[157] = u'ébauche-déf'
temp[158] = u'ébauche-étym'
temp[159] = u'ébauche-pron'
temp[160] = u'ébauche-étym-nom-scientifique'
temp[161] = u'ébauche-exe'
temp[162] = u'ébauche-pron'
temp[163] = u'ébauche-syn'
temp[164] = u'ébauche'
temp[165] = u'ébauche-trans'
limit3 = 166
 
# http://fr.wiktionary.org/wiki/Cat%C3%A9gorie:Mod%C3%A8les_de_contexte
temp[166] = u'abréviation'
#temp[163] = u'absolument'
temp[167] = u'anglicisme'
temp[168] = u'antiquité'
temp[169] = u'aphérèse'
temp[170] = u'apocope'
temp[171] = u'archaïque'
temp[172] = u'argot'
temp[173] = u'b-m-cour'
temp[174] = u'b-pl-cour'
temp[175] = u'cardinal'
temp[176] = u'comparatif'
temp[177] = u'contemporain'
temp[178] = u'courant'
temp[179] = u'dérision'
temp[180] = u'désuet'
temp[181] = u'déterminé'
temp[182] = u'didactique'
temp[183] = u'dim-lex'
temp[184] = u'diminutif'
temp[185] = u'diplomatie'
temp[186] = u'téléinformatique'
temp[187] = u'diptote'
temp[188] = u'élatif'
temp[189] = u'ellipse'
temp[190] = u'enclitique'
temp[191] = u'enfantin'
temp[192] = u'épithète'
temp[193] = u'euphémisme'
temp[194] = u'ex-rare'
temp[195] = u'exagératif'
temp[196] = u'expression'
temp[197] = u'familier'
temp[198] = u'figuré'
temp[199] = u'formel'
temp[200] = u'gallicisme'
#temp[201] = u'généralement'
temp[202] = u'hapax'
temp[203] = u'hispanisme'
temp[204] = u'humour'
temp[205] = u'hyperbole'
temp[206] = u'idiotisme'
temp[207] = u'indéfini'
temp[208] = u'indéterminé'
temp[209] = u'informel'
temp[210] = u'injurieux'
temp[211] = u'interjection'
temp[212] = u'ironique'
temp[213] = u'litote'
temp[214] = u'littéraire'
temp[215] = u'm-cour'
temp[216] = u'mélioratif'
temp[217] = u'métaphore'
temp[218] = u'métonymie'
temp[219] = u'mot-valise'
temp[220] = u'néologisme'
temp[221] = u'néol litt'
#temp[222] = u'note-gentilé'
#temp[223] = u'onomatopée'
temp[224] = u'ordinal'
temp[225] = u'palindrome'
#temp[226] = u'par ext'
#temp[227] = u'particulier'
temp[228] = u'péjoratif'
temp[229] = u'pl-cour'
temp[230] = u'pl-rare'
temp[231] = u'plaisanterie'
temp[232] = u'poétique'
temp[233] = u'populaire'
temp[234] = u'propre'
temp[235] = u'proverbial'
temp[236] = u'rare'
temp[237] = u'sigle'
temp[238] = u'soutenu'
#temp[239] = u'spécialement'
temp[240] = u'saccusatif'
temp[241] = u'sdatif'
temp[242] = u'très familier'
temp[243] = u'vieilli'
temp[244] = u'vulgaire'
temp[245] = u'wiki'
temp[246] = u'popu'
temp[247] = u'vx'
temp[248] = u'dés'
temp[249] = u'fam'
temp[250] = u'péj'
temp[251] = u'vulg'
temp[252] = u'math'
 
# http://fr.wiktionary.org/wiki/Cat%C3%A9gorie:Mod%C3%A8les_de_domaine_d%E2%80%99utilisation
temp[253] = u'administration'
temp[254] = u'aéronautique'
temp[255] = u'agriculture'
temp[256] = u'alpinisme'
temp[257] = u'anatomie'
temp[258] = u'anthropologie'
temp[259] = u'architecture'
temp[260] = u'archéologie'
temp[261] = u'arme'
temp[262] = u'arts'
temp[263] = u'astrologie'
temp[264] = u'astronomie'
temp[265] = u'audiovisuel'
temp[266] = u'automobile'
temp[267] = u'aviation'
temp[268] = u'bactériologie'
temp[269] = u'baseball'
temp[270] = u'basket'
temp[271] = u'bijouterie'
temp[272] = u'billard'
temp[273] = u'biochimie'
temp[274] = u'biologie'
temp[275] = u'botanique'
temp[276] = u'boucherie'
temp[277] = u'bowling'
temp[278] = u'cartes'
temp[279] = u'charpenterie'
temp[280] = u'chasse'
temp[281] = u'chimie'
temp[282] = u'chirurgie'
temp[283] = u'cinéma'
temp[284] = u'commerce'
temp[285] = u'construction'
temp[286] = u'cosmétologie'
temp[287] = u'couture'
temp[288] = u'cricket'
temp[289] = u'cuisine'
temp[290] = u'cyclisme'
temp[291] = u'danse'
temp[292] = u'dermatologie'
temp[293] = u'droit'
temp[294] = u'échecs'
temp[295] = u'écologie'
temp[296] = u'finance'
temp[297] = u'économie'
temp[298] = u'éducation'
temp[299] = u'électricité'
temp[300] = u'électronique'
temp[301] = u'électrotechnique'
temp[302] = u'élevage'
temp[303] = u'entomologie'
temp[304] = u'équitation'
temp[305] = u'escrime'
temp[306] = u'ethnologie'
temp[307] = u'famille'
temp[308] = u'fantastique'
temp[309] = u'fauconnerie'
temp[310] = u'ferro'
temp[311] = u'figure'
temp[312] = u'football'
temp[313] = u'gastronomie'
temp[314] = u'généalogie'
temp[315] = u'génétique'
temp[316] = u'géographie'
temp[317] = u'géologie'
temp[318] = u'géométrie'
temp[319] = u'géophysique'
temp[320] = u'glaciologie'
temp[321] = u'golf'
temp[322] = u'grammaire'
temp[323] = u'handball'
temp[324] = u'héraldique'
temp[325] = u'histoire'
temp[326] = u'histologie'
temp[327] = u'horlogerie'
temp[328] = u'ichtyologie'
temp[329] = u'imprimerie'
temp[330] = u'industrie'
temp[331] = u'informatique'
temp[332] = u'internet'
temp[333] = u'jardinage'
temp[334] = u'paume'
temp[335] = u'jeux'
temp[336] = u'jonglage'
temp[337] = u'journal'
temp[338] = u'jurisprudence'
temp[339] = u'justice'
temp[340] = u'législation'
temp[341] = u'linguistique'
temp[342] = u'littérature'
temp[343] = u'logique'
temp[344] = u'maçonnerie'
temp[345] = u'marine'
temp[346] = u'mathématiques'
temp[347] = u'mécanique'
temp[348] = u'médecine'
temp[349] = u'médecine non conv'
temp[350] = u'média'
temp[351] = u'menuiserie'
temp[352] = u'métallurgie'
temp[353] = u'météorologie'
temp[354] = u'métrologie'
temp[355] = u'microbiologie'
temp[356] = u'militaire'
temp[357] = u'minéralogie'
temp[358] = u'minéraux'
temp[359] = u'motocyclisme'
temp[360] = u'musique'
temp[361] = u'mycologie'
temp[362] = u'mythologie'
temp[363] = u'narratologie'
temp[364] = u'natation'
temp[365] = u'navigation'
temp[366] = u'neurologie'
temp[367] = u'maladies'
temp[368] = u'nosologie'
temp[369] = u'novlangue'
temp[370] = u'numismatique'
temp[371] = u'oenologie'
temp[372] = u'optique'
temp[373] = u'optométrie'
temp[374] = u'ornithologie'
temp[375] = u'paléographie'
temp[376] = u'paléontologie'
temp[377] = u'papillons'
temp[378] = u'pâtisserie'
temp[379] = u'pays'
temp[380] = u'pêche'
temp[381] = u'pédologie'
temp[382] = u'peinture'
temp[383] = u'pétrochimie'
temp[384] = u'pharmacologie'
temp[385] = u'philosophie'
temp[386] = u'photographie'
temp[387] = u'physiologie'
temp[388] = u'physique'
temp[389] = u'plantes'
temp[390] = u'poésie'
temp[391] = u'poker'
temp[392] = u'police'
temp[393] = u'politique'
temp[394] = u'psychiatrie'
temp[395] = u'psychologie'
temp[396] = u'religion'
temp[397] = u'rhétorique'
temp[398] = u'rugby'
temp[399] = u'sci-fi'
temp[400] = u'sciences'
temp[401] = u'sculpture'
temp[402] = u'serrurerie'
temp[403] = u'sexualité'
temp[404] = u'sociologie'
temp[405] = u'sport'
temp[406] = u'statistiques'
temp[407] = u'sylviculture'
temp[408] = u'technique'
temp[409] = u'technologie'
temp[410] = u'tennis'
temp[411] = u'textile'
temp[412] = u'théâtre'
temp[413] = u'théologie'
temp[414] = u'thermodynamique'
temp[415] = u'topographie'
temp[416] = u'topologie'
temp[417] = u'toponymie'
temp[418] = u'tourisme'
temp[419] = u'transport'
temp[420] = u'travail'
temp[421] = u'typographie'
temp[422] = u'télécommunications'
temp[423] = u'urbanisme'
temp[424] = u'vêtements'
temp[425] = u'virologie'
temp[426] = u'viticulture'
temp[427] = u'zoologie'
# Abréviations (python pagegenerators.py -redirectonly:Template:!)
temp[428] = u'France'
temp[429] = u'FR'
temp[420] = u'Royaume-Uni'
temp[431] = u'UK'
temp[432] = u'États-Unis'
temp[433] = u'US'
temp[434] = u'Canada'
temp[435] = u'CA'
temp[436] = u'phys'
temp[437] = u'text'
temp[438] = u'milit'
temp[439] = u'méd'
temp[440] = u'hist'
temp[441] = u'gall'
temp[441] = u'angl'
temp[442] = u'vieux'
temp[443] = u'vx'
temp[444] = u'arch'
temp[445] = u'admin'
temp[446] = u'aéro'
temp[447] = u'agri'
temp[448] = u'alpi'
temp[449] = u'anat'
temp[450] = u'anthro'
temp[451] = u'archi'
temp[452] = u'archéo'
temp[453] = u'armement'
temp[454] = u'astrol'
temp[455] = u'astron'
temp[456] = u'audiovis'
temp[457] = u'automo'
temp[458] = u'aviat'
temp[459] = u'bactério'
temp[460] = u'bijou'
temp[461] = u'biol'
temp[462] = u'botan'
temp[463] = u'chir'
temp[464] = u'ciné'
temp[465] = u'comm'
temp[466] = u'constr'
temp[467] = u'cosm'
temp[468] = u'text'
temp[469] = u'cout'
temp[470] = u'cuis'
temp[471] = u'cycl'
temp[472] = u'dermat'
temp[473] = u'écol'
temp[474] = u'finan'
temp[475] = u'écon'
temp[476] = u'éduc'
temp[477] = u'élec'
temp[478] = u'électro'
temp[479] = u'électrot'
temp[480] = u'équi'
temp[481] = u'foot'
temp[482] = u'gastro'
temp[483] = u'généal'
temp[484] = u'géog'
temp[485] = u'géol'
temp[486] = u'géom'
temp[487] = u'géoph'
temp[488] = u'gram'
temp[489] = u'hand'
temp[490] = u'hérald'
temp[491] = u'hist'
temp[492] = u'histol'
temp[493] = u'ichtyo'
temp[494] = u'impr'
temp[495] = u'indus'
temp[496] = u'inform'
temp[497] = u'jardin'
temp[498] = u'juri'
temp[499] = u'just'
temp[500] = u'ling'
temp[501] = u'littér'
temp[502] = u'maçon'
temp[503] = u'mari'
temp[504] = u'math'
temp[505] = u'méca'
temp[506] = u'méde'
temp[507] = u'métal'
temp[508] = u'météo'
temp[509] = u'métrol'
temp[510] = u'mili'
temp[511] = u'minér'
temp[512] = u'musi'
temp[513] = u'nata'
temp[514] = u'navig'
temp[515] = u'neuro'
temp[516] = u'numis'
temp[517] = u'oenol'
temp[518] = u'ornit'
temp[519] = u'paléo'
temp[520] = u'pêch'
temp[521] = u'pétro'
temp[522] = u'philo'
temp[523] = u'photo'
temp[524] = u'physio'
temp[525] = u'phys'
temp[526] = u'poés'
temp[527] = u'polit'
temp[528] = u'psych'
temp[529] = u'psycho'
temp[530] = u'scul'
temp[531] = u'serru'
temp[532] = u'sexe'
temp[533] = u'socio'
temp[534] = u'stat'
temp[535] = u'sylvi'
temp[536] = u'tech'
temp[537] = u'théol'
temp[538] = u'topo'
temp[539] = u'topon'
temp[540] = u'tour'
temp[541] = u'transp'
temp[542] = u'typo'
temp[543] = u'télécom'
temp[544] = u'urban'
temp[545] = u'vête'
temp[546] = u'chim'
temp[547] = u'Belgique'
temp[548] = u'BE'
temp[549] = u'Australie'
temp[550] = u'AU'
temp[551] = u'Québec'
temp[552] = u'QC'
temp[553] = u'Gaspésie'
temp[554] = u'Grande-Bretagne'
temp[555] = u'GB'
temp[556] = u'Suisse'
temp[557] = u'CH'
temp[558] = u'USA'
temp[559] = u'logi'
temp[560] = u'pop'
temp[561] = u'cardin'
temp[562] = u'ordin'
temp[563] = u'électron'
temp[564] = u'électrotech'
temp[565] = u'techno'
temp[566] = u'technol'
temp[567] = u'i'
temp[568] = u't'
temp[569] = u'acron'
temp[570] = u'théât'
temp[571] = u'météorol'
temp[572] = u'info'
temp[573] = u'transit'
temp[574] = u'intrans'
temp[575] = u'méton'
temp[576] = u'prnl'
temp[577] = u'réfl'
temp[578] = u'réfléchi'
temp[579] = u'rfx'
temp[580] = u'perf'
temp[581] = u'imperf'
temp[582] = u'rhéto'
temp[583] = u'exag'
temp[584] = u'métaph'
temp[585] = u'cour'
temp[586] = u'sout'
temp[587] = u'prov'
temp[588] = u'prov'
temp[589] = u'pron'
temp[590] = u'term'
temp[591] = u'terme'
temp[592] = u'zool'
temp[593] = u'poét'
temp[594] = u'antiq'
temp[595] = u'litt'
temp[596] = u'mythol'
temp[597] = u'opti'
temp[598] = u'geog'
temp[599] = u'hyperb'
temp[600] = u'gastron'
temp[601] = u'préciser' 
temp[602] = u'?'
#temp[] = 'vérifier' Pas de langue
#temp[] = 'région' Pas de langue
temp[603] = u'td'
temp[604] = u'tr-dir'
temp[605] = u'tr-indir'
temp[606] = u'trad'
temp[607] = u'trad+'
temp[609] = u'trad-'
temp[610] = u'trad--'
temp[611] = u'Nouvelle-Zélande'
temp[612] = u'NZ'
temp[613] = u'Irlande'
temp[614] = u'IE'
temp[615] = u'animaux'
temp[616] = u'vaudou'
temp[617] = u'maintenance'
temp[618] = u'phyton'
temp[619] = u'phytonimie'
temp[620] = u'déterminé'
temp[621] = u'indéterminé'
temp[622] = u'dét'
temp[623] = u'indét'
temp[624] = u'affectueux'
temp[625] = u'glaciol'
temp[626] = u'fanta'
temp[627] = u'anal'
temp[628] = u'dénombrable'
temp[629] = u'dén'
temp[630] = u'indénombrable'
temp[631] = u'indén'
temp[632] = u'nominatif'
temp[633] = u'nomin'
temp[634] = u'accusatif'
temp[635] = u'accus'
temp[636] = u'datif'
temp[637] = u'génitif'
temp[638] = u'génit'
temp[639] = u'vocatif'
temp[640] = u'vocat'
temp[641] = u'ablatif'
temp[642] = u'ablat'
temp[643] = u'allatif'
temp[644] = u'instrumental'
temp[645] = u'locat'
temp[646] = u'locatif'
temp[647] = u'prépositionnel'
temp[648] = u'indéclinable'
temp[649] = u'indécl'
temp[650] = u'ppart'
temp[651] = u'génitif'
temp[652] = u'psychol'
temp[653] = u'psycho'
temp[654] = u'chim'
temp[655] = u'injur'
temp[656] = u'mycol'
temp[657] = u'myco'
temp[658] = u'Internet'
temp[659] = u'Écosse'
temp[660] = u'diplomatie'
temp[661] = u'tauromachie'
temp[662] = u'germanisme'
temp[663] = u'squelette'
temp[664] = u'muscle'
temp[665] = u'gymnastique'
temp[666] = u'boxe'
temp[667] = u'doute'
temp[668] = u'liturgie'
temp[669] = u'réflexif'
temp[670] = u'r'
temp[671] = u'irrég'
temp[672] = u'irrégulier'
temp[673] = u'arts martiaux'
temp[674] = u'hydraulique'
temp[675] = u'Commonwealth'
temp[676] = u'genre'
temp[677] = u'minéral'
temp[678] = u'iron'
temp[679] = u'ironie'
temp[680] = u'plais'
temp[681] = u'très rare'
temp[682] = u'didact'
temp[683] = u'algèbre'
temp[684] = u'acronyme'
temp[685] = u'allatif'
temp[686] = u'analogie'
temp[687] = u'très très rare'
temp[688] = u'physiol'
temp[689] = u'reproduction'
temp[690] = u'repro'
temp[691] = u'presse'
temp[692] = u'Pays-Bas'
temp[693] = u'meuble'
temp[694] = u'Jamaïque'
temp[695] = u'néol'
temp[696] = u'archaïsme'
temp[697] = u'nom'
temp[698] = u'indéc'
temp[699] = u'vétérinaire'
temp[700] = u'reli'
temp[701] = u'entom'
temp[702] = u'entomol'
temp[703] = u'pharmacie'
temp[704] = u'pharmacol'
temp[705] = u'athlétisme'
temp[706] = u'athlé'
temp[707] = u'christianisme'
temp[708] = u'conjugaison'
temp[709] = u'1ergroupe'
temp[710] = u'2egroupe'
temp[711] = u'3egroupe'
temp[712] = u'dénominal de'
temp[713] = u'déverbal de'
temp[714] = u'superlatif de'
temp[715] = u'narratol'
temp[716] = u'passif'
temp[717] = u'très-rare'
temp[718] = u'extrêmement rare'
temp[719] = u'jardi'
temp[720] = u'sociol'
temp[721] = u'papeterie'
temp[722] = u'papèterie'
temp[723] = u'Sénégal'
temp[724] = u'geol'
temp[725] = u'fami'
temp[726] = u'tind'
temp[727] = u'pédol'
temp[728] = u'biophysique'
temp[729] = u'psychia'
temp[730] = u'paléontol'
temp[731] = u'horticulture'
temp[732] = u'probabilités'
'''
# Modèles à remplacer
Ttemp[702] = u'-var-ortho-'
temp[702] = u'-ortho-alt-'
 
# Importations de en.wikt
size2 = 38
importation = range(1, size2)
Timportation = range(1, size2)
importation[1] = u'===Adjective==='
importation[2] = u'===Adverb==='
importation[3] = u'===Article==='
importation[4] = u'===Conjunction==='
importation[5] = u'===Determiner==='
importation[5] = u'===Interjection==='
importation[7] = u'===Letter==='
importation[8] = u'===Noun==='
importation[9] = u'===Numeral==='
importation[10] = u'===Particle==='
importation[11] = u'===Preposition==='
importation[12] = u'===Pronoun==='
importation[13] = u'===Verb==='
limitimport1 = 14
importation[14] = u'===Alternative forms==='
importation[15] = u'====Antonyms===='
importation[16] = u'===Cardinal number==='
importation[17] = u'=====Conjugation====='
importation[18] = u'====Derived terms===='
importation[19] = u'===Etymology==='
importation[20] = u'====External links===='
importation[21] = u'===Ordinal number==='
importation[22] = u'===Pronunciation==='
importation[23] = u'=====Quotations====='
importation[24] = u'====References===='
importation[25] = u'====Related terms===='
importation[26] = u'====See also===='
importation[27] = u'====Synonyms===='
importation[28] = u'====Translations===='
importation[29] = u'====Usage notes===='
limitimport2 = 30
importation[31] = u'==English=='
Timportation[31] = u'=={{=en=}}=='
importation[32] = u'==French=='
Timportation[32] = u'=={{=fr=}}=='
importation[33] = u'==Spanish=='
Timportation[33] = u'=={{=es=}}=='
importation[34] = u'==Italian=='
Timportation[34] = u'=={{=it=}}=='
importation[35] = u'==Portuguese=='
Timportation[35] = u'=={{=pt=}}=='
importation[36] = u'==German=='
Timportation[36] = u'=={{=de=}}=='
importation[37] = u'===Adjectif==='
Timportation[37] = u'{{-adj-}}'
importation[38] = u'===Adverbe==='
Timportation[38] = u'{{-adv-}}'
importation[39] = u'===Caractère==='
Timportation[39] = u'===Caractère==='
importation[40] = u'===Conjonction==='
importation[41] = u'===Déterminant==='
importation[42] = u'===Verbe==='
importation[43] = u'===Lettre==='
importation[44] = u'===Nom==='
importation[45] = u'===Numéral==='
importation[46] = u'===Particule==='
importation[47] = u'===Préposition==='
importation[48] = u'===Pronom==='
'''
# Modification du wiki
def modification(PageHS):
        PageEnd = ""
        page = Page(site,PageHS)
        if page.exists():
                if page.namespace() !=0 and page.title() != u'Utilisateur:JackBot/test': 
                        return
                else:
                        try:
                                PageTemp = page.get()
                        except wikipedia.NoPage:
                                print "NoPage"
                                return
                        except wikipedia.IsRedirectPage:
                                print "Redirect page"
                                return
                        except wikipedia.LockedPage:
                                print "Locked/protected page"
                                return
        else:
                return
        if PageTemp.find(u'{{formater') != -1 or PageTemp.find(u'{{supp') != -1: return
        if (PageTemp.find(u'{{vérifier') != -1 and PageTemp.find(u'{{vérifier') < PageTemp.find(u'{{=')) or PageTemp.find(u'{{voir|') != -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:
                PageTitre = page.title()
                PageT = ""
                key = "false"
                key2 = "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'ä':
                                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'ë':
                                PageT = PageT + "e"
                                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 + "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'ö':
                                PageT = PageT + "o"
                                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 + "u"
                                key = "yes"
                        elif PageTitre[lettre:lettre+1] == u'ç':
                                PageT = PageT + "c"
                                key = "yes"
                        elif PageTitre[lettre:lettre+1] == u'æ':
                                PageT = PageT + "ae"
                                key = "yes"
                        elif PageTitre[lettre:lettre+1] == u'œ':
                                PageT = PageT + "oe"
                                key = "yes"
                        elif PageTitre[lettre:lettre+1] == u'ñ':
                                PageT = PageT + "n"
                                key = "yes"
                        elif PageTitre[lettre:lettre+1] == u'ÿ':
                                PageT = PageT + "y"
                                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 + "е"
                                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"
                        else:
                                key = "no"
                                break
                        #print (PageT.encode(config.console_encoding, 'replace'))
                        #raw_input("1")
                if key == "yes":
                        PageTemp = PageTemp + u'\n{{clé de tri|' + PageT + u'}}\n'                         
        # 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}}')+11:len(PageTemp)]
        # Remplacements consensuels
        while PageTemp.find(u'&#32;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#32;')] + u' ' + PageTemp[PageTemp.find(u'&#32;')+len(u'&#32;'):len(PageTemp)]
        while PageTemp.find(u'&#224;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#224;')] + u'à' + PageTemp[PageTemp.find(u'&#224;')+len(u'&#224;'):len(PageTemp)]
        while PageTemp.find(u'&#226;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#226;')] + u'â' + PageTemp[PageTemp.find(u'&#226;')+len(u'&#226;'):len(PageTemp)]
        while PageTemp.find(u'&#228;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#228;')] + u'ä' + PageTemp[PageTemp.find(u'&#228;')+len(u'&#228;'):len(PageTemp)]
        while PageTemp.find(u'&#233;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#233;')] + u'é' + PageTemp[PageTemp.find(u'&#233;')+len(u'&#233;'):len(PageTemp)]
        while PageTemp.find(u'&#232;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#232;')] + u'è' + PageTemp[PageTemp.find(u'&#232;')+len(u'&#232;'):len(PageTemp)]
        while PageTemp.find(u'&#234;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#234;')] + u'ê' + PageTemp[PageTemp.find(u'&#234;')+len(u'&#234;'):len(PageTemp)]
        while PageTemp.find(u'&#235;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#235;')] + u'ë' + PageTemp[PageTemp.find(u'&#235;')+len(u'&#235;'):len(PageTemp)]
        while PageTemp.find(u'&#238;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#238;')] + u'î' + PageTemp[PageTemp.find(u'&#238;')+len(u'&#238;'):len(PageTemp)]
        while PageTemp.find(u'&#239;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#239;')] + u'ï' + PageTemp[PageTemp.find(u'&#239;')+len(u'&#239;'):len(PageTemp)]
        while PageTemp.find(u'&#244;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#244;')] + u'ô' + PageTemp[PageTemp.find(u'&#244;')+len(u'&#244;'):len(PageTemp)]
        while PageTemp.find(u'&#246;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#246;')] + u'ö' + PageTemp[PageTemp.find(u'&#246;')+len(u'&#246;'):len(PageTemp)]
        while PageTemp.find(u'&#249;') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#249;')] + u'ù' + PageTemp[PageTemp.find(u'&#249;')+len(u'&#249;'):len(PageTemp)]
        while PageTemp.find(u'&#251;') != -1: 
                PageTemp = PageTemp[0:PageTemp.find(u'&#251;')] + u'û' + PageTemp[PageTemp.find(u'&#251;')+len(u'&#251;'):len(PageTemp)]
        while PageTemp.find(u'&#252') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'&#252;')] + u'ü' + PageTemp[PageTemp.find(u'&#252;')+len(u'&#252;'):len(PageTemp)]
        while PageTemp.find(u'&#231;') != -1: 
                PageTemp = PageTemp[0:PageTemp.find(u'&#231;')] + u'ç' + PageTemp[PageTemp.find(u'&#231;')+len(u'&#231;'):len(PageTemp)]
 
        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'{{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'— {{source|') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'— {{source|')] + PageTemp[PageTemp.find(u'— {{source|')+2: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'{{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)]
        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)]
 
        # 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)]    
 
        # Traductions de en.wikt (à lancer dans une boucle à terme)
        if PageTemp.find(u'==English==') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'==English==')] + "=={{=en=}}==" + PageTemp[PageTemp.find(u'==English==')+11:len(PageTemp)]
        if PageTemp.find(u'===Alternative forms===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Alternative forms===')] + "{{-var-ortho-}}" + PageTemp[PageTemp.find(u'===Alternative forms===')+23:len(PageTemp)]
        if PageTemp.find(u'===Etymology===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Etymology===')] + "{{-étym-}}" + PageTemp[PageTemp.find(u'===Etymology===')+15:len(PageTemp)]
        if PageTemp.find(u'===Pronunciation===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Pronunciation===')] + "{{-pron-}}" + PageTemp[PageTemp.find(u'===Pronunciation===')+16:len(PageTemp)]
        if PageTemp.find(u'===Noun===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Noun===')] + "{{-nom-}}" + PageTemp[PageTemp.find(u'===Noun===')+10:len(PageTemp)]
        if PageTemp.find(u'===Adjective===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Adjective===')] + "{{-adj-}}" + PageTemp[PageTemp.find(u'===Adjective===')+15:len(PageTemp)]
        if PageTemp.find(u'===Letter===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Letter===')] + "{{-lettre-}}" + PageTemp[PageTemp.find(u'===Letter===')+12:len(PageTemp)]
        if PageTemp.find(u'===Article===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Article===')] + "{{-article-}}" + PageTemp[PageTemp.find(u'===Article===')+13:len(PageTemp)]
        if PageTemp.find(u'===Preposition===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Preposition===')] + "{{-prép-}}" + PageTemp[PageTemp.find(u'===Preposition===')+17:len(PageTemp)]
        if PageTemp.find(u'===Verb===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Verb===')] + "{{-verb-}}" + PageTemp[PageTemp.find(u'===Verb===')+10:len(PageTemp)]
        if PageTemp.find(u'===Pronoun===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Pronoun===')] + "{{-pronom-}}" + PageTemp[PageTemp.find(u'===Pronoun===')+13:len(PageTemp)]
        if PageTemp.find(u'===Interjection===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Interjection===')] + "{{-interj-}}" + PageTemp[PageTemp.find(u'===Interjection===')+18:len(PageTemp)]
        #if PageTemp.find(u'Adverb') != -1: Bug
        #     PageTemp = PageTemp[0:PageTemp.find(u'===Adverb===')] + "{{-adv-}}" + PageTemp[PageTemp.find(u'===Adverb===')+13:len(PageTemp)]
        if PageTemp.find(u'Conjunction') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Conjunction===')] + "{{-conj-}}" + PageTemp[PageTemp.find(u'===Conjunction===')+16:len(PageTemp)]
        if PageTemp.find(u'====Usage notes====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'====Usage notes====')] + "{{-note-}}" + PageTemp[PageTemp.find(u'====Usage notes====')+19:len(PageTemp)]
        if PageTemp.find(u'====Synonyms====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'====Synonyms====')] + "{{-syn-}}" + PageTemp[PageTemp.find(u'====Synonyms====')+16:len(PageTemp)]
        if PageTemp.find(u'====Antonyms====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'====Antonyms====')] + "{{-ant-}}" + PageTemp[PageTemp.find(u'====Antonyms====')+16:len(PageTemp)]
        if PageTemp.find(u'====Derived terms====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'====Derived terms====')] + "{{-drv-}}" + PageTemp[PageTemp.find(u'====Derived terms====')+22:len(PageTemp)]
        if PageTemp.find(u'====Related terms====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'====Related terms====')] + "{{-voc-}}" + PageTemp[PageTemp.find(u'====Related terms====')+21:len(PageTemp)]
        if PageTemp.find(u'====Translations====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'====Translations====')] + "{{-trad-}}" + PageTemp[PageTemp.find(u'====Translations====')+20:len(PageTemp)]
        if PageTemp.find(u'====References====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'====References====')] + "{{-réf-}}" + PageTemp[PageTemp.find(u'====References====')+18:len(PageTemp)]
        if PageTemp.find(u'====External links====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'====External links====')] + "{{-voir-}}" + PageTemp[PageTemp.find(u'====External links====')+22:len(PageTemp)]
        if PageTemp.find(u'=====See also=====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'====See also====')] + "{{-voir-}}" + PageTemp[PageTemp.find(u'====See also====')+16:len(PageTemp)]
        if PageTemp.find(u'===Cardinal number===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Cardinal number===')] + "{{cardin}}\n" + PageTemp[PageTemp.find(u'===Cardinal number===')+21:len(PageTemp)]
        if PageTemp.find(u'===Ordinal number===') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'===Ordinal number===')] + "{{ordin}}\n" + PageTemp[PageTemp.find(u'===Ordinal number===')+20:len(PageTemp)]
        if PageTemp.find(u'=====Quotations=====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'=====Quotations=====')] + "\n#*" + PageTemp[PageTemp.find(u'=====Quotations=====')+20:len(PageTemp)]
        if PageTemp.find(u'=====Conjugation=====') != -1:
                PageTemp = PageTemp[0:PageTemp.find(u'=====Conjugation=====')] + "\nConjugaison\n" + PageTemp[PageTemp.find(u'=====Conjugation=====')+20:len(PageTemp)]
 
        # Ajouts des codes langues
        boule = "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
                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("=}}")]      
                        boule = "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("=}}")]
                        boule = "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("=}}")]
                        boule = "true"
                elif position == PageTemp.find("{{="):
                        PageTemp2 = PageTemp[position+3:len(PageTemp)]
                        if PageTemp2.find("}}") < PageTemp2.find("|"):
                                codelangue = PageTemp[PageTemp.find("{{=")+3:PageTemp.find("=}}")]
                        else:
                                codelangue = PageTemp[PageTemp.find("{{=")+3:PageTemp.find("{{=")+3+PageTemp2.find("=|")]
                                position = PageTemp.find("}}")
                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)]
 
                # Comparaison avec chaque modèle connu
                for p in range(1,limit4):
                        if temp[p] == PageTemp[0:position]:
                                #print ((PageTemp[0:position]).encode(config.console_encoding, 'replace'))
                                if not codelangue:            # Plante ici quand il manque le code langue de la page : on l'évite donc
                                        PageEnd = u'{{formater|Code langue manquant}}\n' + PageEnd
                                        return
                                # Modèles spéciaux
                                if temp[p] == u'term' or temp[p] == u'terme':
                                        for p2 in range(1,limit4):
                                                if temp[p2] == PageTemp[PageTemp.find("|")+1:PageTemp.find("}}")]:
                                                        if boule == "false":
                                                                PageEnd = PageEnd + temp[p2] + "|nocat=1}}"
                                                        else:
                                                                PageEnd = PageEnd + temp[p2] + "|" + codelangue + "}}"
                                                        PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
                                                        break
                                        break
                                elif temp[p] == u'pron' or temp[p] == u'dénominal de' or temp[p] == u'déverbal de' or temp[p] == u'superlatif de':
                                        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 temp[p] == u'aphérèse' or temp[p] == u'apocope' or temp[p] == u'mot-valise' or temp[p] == u'contraction' or temp[p] == u'contr' or (
                                        temp[p] == u'ellipse') or temp[p] == u'abréviation' or temp[p] == u'abrév':
                                        if (boule == 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 + temp[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 + temp[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 + temp[p] + u'|' + codelangue + u'}}'
                                        else:
                                                PageEnd = PageEnd + PageTemp[0:PageTemp.find("}}")] + "|" + codelangue + "}}"
                                        PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
                                        break
                                elif temp[p] == u'conjugaison' or temp[p] == u'conj' or temp[p] == u'1ergroupe' or temp[p] == u'2egroupe' or temp[p] == u'3egroupe':   # Modèle à deux paramètres
                                        if temp[p] == u'1ergroupe':
                                                PageTemp = u'|grp=1' + PageTemp[len(u'1ergroupe'):len(PageTemp)]
                                                PageEnd = PageEnd + u'conj'
                                        elif temp[p] == u'2egroupe':
                                                PageTemp = u'|grp=2' + PageTemp[len(u'2egroupe'):len(PageTemp)]
                                                PageEnd = PageEnd + u'conj'                                           
                                        elif temp[p] == u'3egroupe':
                                                PageTemp = u'|grp=3' + PageTemp[len(u'3egroupe'):len(PageTemp)]
                                                PageEnd = PageEnd + u'conj'
                                        elif temp[p] == u'conjugaison':
                                                PageTemp = PageTemp[len(u'conjugaison'):len(PageTemp)]
                                                PageEnd = PageEnd + u'conjugaison'
                                        elif temp[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 temp[p] == u'mythologie' or temp[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 (boule == "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 + temp[p] + u'|nocat=1|' + PageTemp[PageTemp.find("myt="):PageTemp.find(u'}}')+2]
                                                                PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
                                                                break
                                                        else:
                                                                PageEnd = PageEnd + temp[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 boule == "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 (boule == "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 temp[p] == u'religion' or temp[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 (boule == "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 + temp[p] + u'|nocat=1|' + PageTemp[PageTemp.find("rel="):PageTemp.find(u'}}')+2]
                                                                PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
                                                                break
                                                        else:
                                                                PageEnd = PageEnd + temp[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 boule == "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 (boule == "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 temp[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 (boule == "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 + temp[p] + u'|nocat=1|' + PageTemp[PageTemp.find("sport="):PageTemp.find(u'}}')+2]
                                                                PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
                                                                break
                                                        else:
                                                                PageEnd = PageEnd + temp[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 boule == "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 (boule == "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 temp[p] == u'athlétisme' or temp[p] == u'athlé':
                                        if (boule == "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 temp[p] == u'danse':
                                        if (boule == "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 temp[p] == u'jeux':
                                        if (boule == "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 temp[p] == u'géographie' or temp[p] == u'géog' or temp[p] == u'geog' or temp[p] == u'toponymie' or temp[p] == u'topon':
                                        if (boule == "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 temp[p] == u'zoologie' or temp[p] == u'zool' or temp[p] == u'entomologie' or temp[p] == u'entomol' or temp[p] == u'entom':
                                        if (boule == "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: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:Lagomorphes'
) != -1 and (PageTemp.find(u':Catégorie:Lagomorphes') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Lagomorphes') + 1 != PageTemp.rfind(u'Catégorie:Lagomorphes'))
 
) 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: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:Périssodactyles'
) != -1 and (PageTemp.find(u':Catégorie:Périssodactyles') < PageTemp.find(u'{{=') and PageTemp.find(u'{{=') != -1 or PageTemp.find(u'{{=') == -1
) and (PageTemp.find(u':Catégorie:Périssodactyles') + 1 != PageTemp.rfind(u'Catégorie:Périssodactyles'))
 
) 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: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 temp[p] == u'botanique' or temp[p] == u'botan':
                                        if (boule == "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 temp[p] == u'médecine' or temp[p] == u'méde' or temp[p] == u'vétérinaire':
                                        if (boule == "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'))):
                                                PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
                                        else:
                                                PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
                                        PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
                                        break
                                elif temp[p] == u'pharmacologie' or temp[p] == u'pharmacol' or temp[p] == u'pharmacie':
                                        if (boule == "false"
) 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 temp[p] == u'métrologie' or temp[p] == u'métrol':
                                        if (boule == "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 temp[p] == u'rhétorique' or temp[p] == u'rhéto':
                                        if (boule == "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 temp[p] == u'linguistique' or temp[p] == u'ling':
                                        if (boule == "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 temp[p] == u'typographie' or temp[p] == u'typo':
                                        if (boule == "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 temp[p] == u'sciences':
                                        if (boule == "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 temp[p] == u'astronomie' or temp[p] == u'astro' or temp[p] == u'astron':
                                        if (boule == "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 temp[p] == u'astrologie' or temp[p] == u'astrol':
                                        if (boule == "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 temp[p] == u'mycologie' or temp[p] == u'mycol' or temp[p] == u'myco':
                                        if (boule == "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 temp[p] == u'chimie' or temp[p] == u'chim':
                                        if (boule == "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 temp[p] == u'cuisine' or temp[p] == u'cuis':
                                        if (boule == "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: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 temp[p] == u'œnologie' or temp[p] == u'œnol':
                                        if (boule == "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 temp[p] == u'militaire' or temp[p] == u'mili' or temp[p] == u'guerre':
                                        if (boule == "false"
) 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:Dialectes'))):
                                                PageEnd = PageEnd + PageTemp[0:position] + "|nocat=1}}"
                                        else:
                                                PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
                                        PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
                                        break
                                elif temp[p] == u'armement' or temp[p] == u'arme':
                                        if (boule == "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 temp[p] == u'musique' or temp[p] == u'musi':
                                        if (boule == "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
 
                                # Ce modèle par contre remplace la catégorie
                                elif temp[p] == u'injurieux' or temp[p] == u'injur':
                                        if (boule == "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 temp[p] == u'préciser' or temp[p] == u'?' or temp[p] == u'doute':
                                        if (codelangue != "") and ((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:
                                                PageTemp2 = PageTemp[position+1:len(PageTemp)]
                                                if (codelangue != "") and (PageTemp2.find(u'|') != -1) and (PageTemp2.find(u'|') < PageTemp2.find(u'}}')):
                                                        break
                                                if (codelangue != "") and (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)]
                                        break
                                elif temp[p] == u'perfectif' or temp[p] == u'perf' or temp[p] == u'imperfectif' or temp[p] == u'imperf' or temp[p] == u'déterminé' or temp[p] == u'dét' or temp[p] == u'indéterminé' or temp[p] == u'indét':
                                        if (boule == "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 temp[p] == u'trad' or temp[p] == u'trad+' or temp[p] == u'trad-' or temp[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)]
                                        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
                                if p < limit1:     # Si on est dans le paragraphe définition
                                        boule = "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 == limit1:
                                        boule = "true"
                                        PageEnd = PageEnd + PageTemp[0:position] + "}}"
                                elif p < limit2:   # Si on est dans un autre paragraphe
                                        boule = "false"
                                        PageEnd = PageEnd + PageTemp[0:position] + "}}"
                                elif p < limit3:   # Si on est dans une ébauche
                                        PageEnd = PageEnd + PageTemp[0:position] + "|" + codelangue + "}}"
                                elif p > limit4:
                                        boule = "false" # Si on est dans un modèle à substituer simplement
                                        PageEnd = PageEnd + Ttemp[p] + "}}"
                                else:
                                        if boule == "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:
                                                if PageTemp.find(u'impers=oui') == -1:
                                                        mot = PageTemp[PageTemp.find(u'[[')+2:PageTemp.find(u']]')]                                         
                                                        if mot == u'verbe':
                                                                PageTemp = PageTemp[0:PageTemp.find(u'[[verbe]]')] + u'verbe' + PageTemp[PageTemp.find(u'[[verbe]]')+len(u'[[verbe]]'):len(PageTemp)]
                                                                mot = PageTemp[PageTemp.find(u'[[')+2:PageTemp.find(u']]')]
                                                        try:
                                                                page2 = Page(site,mot)
                                                                Page2 = page2.get()
                                                        except wikipedia.NoPage:
                                                                print "NoPage"
                                                                return
                                                        except wikipedia.SectionError:
                                                                print "NoPage"
                                                                return
                                                        except wikipedia.IsRedirectPage:
                                                                print "Redirect page"
                                                                return
                                                        # http://fr.wiktionary.org/w/index.php?title=Mod%C3%A8le:fr-verbe-flexion&action=edit
                                                        if Page2.find(u'{{impers') != -1 and mot != 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'{{1ergroupe') != -1 or Page2.find(u'{{conjugaison|groupe=1') != -1 or Page2.find(u'{{conj|grp=1') != -1:
                                                                # je
                                                                if PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.find(u'imp.p.2s=oui') != -1:
                                                                        break
                                                                elif PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.3s=oui') == -1 and PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.3s=oui') == -1 and PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.3s=oui') == -1 and PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.3s=oui') == -1 and PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.3s=oui') == -1 and PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'sub.p.2s=oui') != -1:
                                                                        break
                                                                elif PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.i.1p=oui') != -1 and PageTemp.find(u'sub.p.1p=oui') != -1:
                                                                        break
                                                                if PageTemp.find(u'ind.i.1p=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.i.1p=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.i.2p=oui') != -1 and PageTemp.find(u'sub.p.2p=oui') != -1:
                                                                        break
                                                                if PageTemp.find(u'ind.i.2p=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.i.2p=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.3p=oui') != -1 and PageTemp.find(u'sub.p.3p=oui') != -1:
                                                                        break
                                                                if PageTemp.find(u'ind.p.3p=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.3p=oui') == -1 and PageTemp.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'{{2egroupe') != -1 or Page2.find(u'{{conjugaison|groupe=2') != -1 or Page2.find(u'{{conj|grp=2') != -1):
                                                                # je
                                                                if PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'ind.ps.1s=oui') != -1 and PageTemp.find(u'ind.ps.2s=oui') != -1 and PageTemp.find(u'imp.p.2s=oui') != -1:
                                                                        break
                                                                elif PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'ind.ps.1s=oui') != -1 and PageTemp.find(u'ind.ps.2s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'ind.ps.1s=oui') != -1 and PageTemp.find(u'ind.ps.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'ind.ps.1s=oui') == -1 and PageTemp.find(u'ind.ps.2s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') == -1 and PageTemp.find(u'ind.ps.1s=oui') != -1 and PageTemp.find(u'ind.ps.2s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'ind.ps.1s=oui') != -1 and PageTemp.find(u'ind.ps.2s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'ind.ps.1s=oui') != -1 and PageTemp.find(u'ind.ps.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'ind.ps.1s=oui') == -1 and PageTemp.find(u'ind.ps.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') == -1 and PageTemp.find(u'ind.ps.1s=oui') == -1 and PageTemp.find(u'ind.ps.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.2s=oui') == -1 and PageTemp.find(u'ind.ps.1s=oui') == -1 and PageTemp.find(u'ind.ps.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'ind.ps.1s=oui') == -1 and PageTemp.find(u'ind.ps.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') != -1 and PageTemp.find(u'ind.p.2s=oui') == -1 and PageTemp.find(u'ind.ps.1s=oui') == -1 and PageTemp.find(u'ind.ps.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.1s=oui') == -1 and PageTemp.find(u'ind.p.2s=oui') != -1 and PageTemp.find(u'ind.ps.1s=oui') == -1 and PageTemp.find(u'ind.ps.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.find(u'sub.i.1s=oui') != -1:
                                                                        break
                                                                elif PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.find(u'sub.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'sub.p.2s=oui') != -1 and PageTemp.find(u'sub.i.2s=oui') != -1:
                                                                        break
                                                                if PageTemp.find(u'sub.p.2s=oui') != -1 and PageTemp.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 PageTemp.find(u'sub.p.2s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.find(u'ind.ps.3s=oui') != -1:
                                                                        break
                                                                if PageTemp.find(u'ind.p.3s=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.3s=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.i.1p=oui') != -1 and PageTemp.find(u'sub.p.1p=oui') != -1:
                                                                        break
                                                                if PageTemp.find(u'ind.i.1p=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.i.1p=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.i.2p=oui') != -1 and PageTemp.find(u'sub.p.2p=oui') != -1:
                                                                        break
                                                                if PageTemp.find(u'ind.i.2p=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.i.2p=oui') == -1 and PageTemp.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 PageTemp.find(u'ind.p.3p=oui') != -1 and PageTemp.find(u'sub.p.3p=oui') != -1:
                                                                        break
                                                                if PageTemp.find(u'ind.p.3p=oui') != -1 and PageTemp.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 PageTemp.find(u'ind.p.3p=oui') == -1 and PageTemp.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'{{3egroupe') != -1 or Page2.find(u'{{conjugaison|groupe=3') != -1 or Page2.find(u'{{conj|grp=3') != -1:
                                                                if PageTemp.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 PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.find(u'sub.p.3s=oui') != -1:
                                                                        break
                                                                elif PageTemp.find(u'sub.p.1s=oui') != -1 and PageTemp.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 PageTemp.find(u'sub.p.1s=oui') == -1 and PageTemp.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
        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')
                   ]
        for (langue,premier,ppron,deuxieme,dpron,troisieme,tpron) in langues:
                if re.compile('\-verb[e]*\-[pr\-]*\|[ ]*' + langue).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 + u' ' + langue + 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 + u' ' + langue + 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 + u' ' + langue + 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 + u' ' + langue + 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 + u' ' + langue + 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 + u' ' + langue + u' sans {{pron}}'
 
        if PageEnd != page.get():
                arretdurgence()
                try:
                        result = "ok"
                        #print(PageEnd.encode(config.console_encoding, 'replace'))
                        #result = raw_input("Sauvegarder ? (o/n)")
                        if result != "n" and result != "no" and result != "non": page.put(PageEnd, summary)
                except pywikibot.EditConflict:
                        print "Conflict"
                        return
                except wikipedia.NoPage:
                        print "NoPage"
                        return
                except wikipedia.IsRedirectPage:
                        print "Redirect page"
                        return
                except wikipedia.LockedPage:
                        print "Locked/protected page"
                        return                 
 
 
 
# Permet à tout le monde de stopper le bot en lui écrivant
def arretdurgence():
        arrettitle = ''.join(u"Discussion utilisateur:JackBot")
        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)
 
# 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):
        cat = catlib.Category(site, category)
        pages = cat.articlesList(False)
        for Page in pagegenerators.PreloadingGenerator(pages,100):
                modification(Page.title()) #crawlerLink(Page.title())
        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):
        #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'))
                modification(Page.title())
 
# 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())
 
 
# Lancement
TraitementCategory = crawlerCat(u'Catégorie:Verbes en portugais')
TraitementCategory = crawlerCat(u'Catégorie:Verbes en espagnol')
TraitementCategory = crawlerCat(u'Catégorie:Verbes en français')
TraitementLiens = crawlerLink(u'Modèle:1ergroupe')
TraitementLiens = crawlerLink(u'Modèle:2egroupe')
TraitementLiens = crawlerLink(u'Modèle:3egroupe')
 
TraitementCategory = crawlerCat(u'Catégorie:Wiktionnaire:Codes langue manquants')
TraitementCategory = crawlerCat(u'Catégorie:Wiktionnaire:Flexions à vérifier')
TraitementLiens = crawlerLink(u'Modèle:trad')
'''
TraitementWord = modification(u'Sarajevo')
TraitementCategory = crawlerCat(u'Catégorie:Satellites en français')
TraitementUtilisateur = crawlerUser(u'Utilisateur:JackBot')
TraitementRecherche = crawlerSearch(u'chinois')
TraitementFile = crawlerFile('articles_list.txt')
while 1:
        TraitementRC = crawlerRC()
'''
#!/usr/bin/env python
# coding: utf-8
# Ce script importe des pages du Wiktionary anglophone
 
# Importation des modules
import catlib, pagegenerators, os, codecs, urllib
from wikipedia import *
 
# Déclaration
mynick = "JackBot"
language1 = "fr"
family = "wiktionary"
site1 = getSite(language1,family)
language2 = "en"
site2 = getSite(language2,family)
template = u'plural of'
texte = u'Pluriel de'
 
# Modification du wiki
def modification(Page2):
        page2 = Page(site2,Page2)
        page1 = Page(site1,Page2)
        print (Page2.encode(config.console_encoding, 'replace'))
        if page2.exists() and page2.namespace() ==0 and not page1.exists():
                try: PageTemp = page2.get()
                except wikipedia.NoPage: return
                except wikipedia.InvalidPage: return
                except wikipedia.ServerError: return
                # Nature grammaticale
                PageTemp2 = PageTemp[0:PageTemp.find(template)]
                # Code langue
                PageTemp = PageTemp[PageTemp.find(template)+len(template)+1:len(PageTemp)]
                if PageTemp.find("lang=") != -1 and PageTemp.find("lang=") < PageTemp.find(u'}}'):
                        PageTemp2 = PageTemp[PageTemp.find("lang=")+5:len(PageTemp)]
                        if PageTemp2.find(u'|') != -1 and PageTemp2.find(u'|') < PageTemp2.find(u'}}'):
                                codelangue = PageTemp2[0:PageTemp2.find("|")]
                                PageTemp = PageTemp[0:PageTemp.find("lang=")] + PageTemp[PageTemp.find("lang=")+5+PageTemp2.find("|"):len(PageTemp)]
                        else:
                                codelangue = PageTemp2[0:PageTemp2.find("}}")]
                                PageTemp = PageTemp[0:PageTemp.find("lang=")] + PageTemp[PageTemp.find("lang=")+5+PageTemp2.find("}"):len(PageTemp)]
                        if codelangue == u'': codelangue = u'en'
                        elif codelangue == u'Italian': codelangue = u'it'
                        elif codelangue == u'Irish': codelangue = u'ga'
                        elif codelangue == u'German': codelangue = u'de'
                        elif codelangue == u'Middle English': codelangue = u'enm'
                        elif codelangue == u'Old English': codelangue = u'ang'
                        elif codelangue == u'Dutch': codelangue = u'nl'
                        elif codelangue == u'Romanian': codelangue = u'ro'
                        elif codelangue == u'Spanish': codelangue = u'es'
                        elif codelangue == u'Catalan': codelangue = u'ca'
                        elif codelangue == u'Portuguese': codelangue = u'pt'
                        elif codelangue == u'Russian': codelangue = u'ru'
                        elif codelangue == u'French': codelangue = u'fr'
                        elif codelangue == u'Scots': codelangue = u'sco'
                        elif codelangue == u'Chinese': codelangue = u'zh'
                        elif codelangue == u'Mandarin': codelangue = u'zh'
                        elif codelangue == u'Japanese': codelangue = u'ja'
                else:
                        codelangue = u'en'
                while PageTemp[0:1] == u' ' or PageTemp[0:1] == u'|':
                        PageTemp = PageTemp[1:len(PageTemp)]
                # Lemme
                if PageTemp.find(u']]') != -1 and PageTemp.find(u']]') < PageTemp.find(u'}}'): # Si on est dans un lien
                        mot = PageTemp[0:PageTemp.find(u']]')+2]
                elif PageTemp.find(u'|') != -1 and PageTemp.find(u'|') < PageTemp.find(u'}}'):
                        mot = PageTemp[0:PageTemp.find(u'|')] # A faire : si dièze on remplace en même temps que les codelangue ci-dessous, à patir d'un tableau des langues
                else:
                        mot = PageTemp[0:PageTemp.find(u'}}')]
                if mot[0:2] != u'[[': mot = u'[[' + mot + u']]'
 
                # Demande de Lmaltier : on ne crée que les flexions des lemmes existant
                page3 = Page(site1,mot[2:len(mot)-2])
                if page3.exists() == u'False': return
                try: Test = page3.get()
                except wikipedia.NoPage: return
                except wikipedia.ServerError: return
                if Test.find(u'{{=' + codelangue + u'=}}') == -1: return
 
                if PageTemp2.rfind(u'===') == -1: return
                else:
                        PageTemp3 = PageTemp2[0:PageTemp2.rfind(u'===')]
                        nature = PageTemp3[PageTemp3.rfind(u'===')+3:len(PageTemp3)]
                if nature == 'Noun':
                        if mot.find(u' ') == -1:
                                nature = u'-flex-nom-'
                        else:
                                nature = u'-flex-loc-nom-'
                elif nature == 'Adjective':
                        if mot.find(u' ') == -1:
                                nature = u'-flex-adj-'
                        else:
                                nature = u'-flex-loc-adj-'
                elif nature == 'Pronoun':
                        if mot.find(u' ') == -1:
                                nature = u'-flex-pronom-'
                        else:
                                nature = u'-flex-loc-pronom-'
                elif nature == 'Verb':
                        if mot.find(u' ') == -1:
                                nature = u'-flex-verb-'
                        else:
                                nature = u'-flex-loc-verb-'
                else: return
                # Interwikis
                interwikiInside = pywikibot.getLanguageLinks(PageTemp, site2)
                interwiki = wikipedia.replaceLanguageLinks(u'', interwikiInside, site2)
                while interwiki.find(u'[[wiktionary:') != -1:
                        interwiki = interwiki[0:interwiki.find(u'[[wiktionary:')+2] + interwiki[interwiki.find(u'[[wiktionary:')+len(u'[[wiktionary:'):len(interwiki)]
                Page1 = u'=={{=' + codelangue + u'=}}==\n{{' + nature + u'|' + codelangue + u'}}\n\'\'\'' + page2.title() + u'\'\'\' {{pron||' + codelangue + u'}}\n# \'\'' + texte + u'\'\' ' + mot + u'.\n\n[[en:' + page2.title() + u']]' + interwiki
                summary = u'Importation depuis [[en:' + page2.title() + u']]'
                #print (Page1.encode(config.console_encoding, 'replace'))
                #raw_input("fin")
                page1.put(Page1, summary)
 
# Lecture du fichier articles_list.txt (au même format que pour replace.py)
def lecture(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):
        cat = catlib.Category(site, category)
        pages = cat.articlesList(False)
        for Page in pagegenerators.PreloadingGenerator(pages,100):
                modification(Page.title())
        subcat = cat.subcategories(recurse = True)
        for subcategory in subcat:
                pages = subcategory.articlesList(False)
                for Page in pagegenerators.PreloadingGenerator(pages,100):
                        modification(Page.title())
 
def crawlerLink(pagename):
        #pagename = unicode(arg[len('-links:'):], 'utf-8')
        page = wikipedia.Page(site2, u'Template:' + pagename)
        gen = pagegenerators.ReferringPageGenerator(page)
        #gen =  pagegenerators.NamespaceFilterPageGenerator(gen, namespaces)
        for Page in pagegenerators.PreloadingGenerator(gen,100):
                modification(Page.title())
        '''
        #pagename = unicode(arg[len('-links:'):], 'utf-8')
        page = wikipedia.Page(site2, u'Template:' + pagename)
        links = page.linkedPages()
        print links
        #gen =  pagegenerators.NamespaceFilterPageGenerator(gen, namespaces)
        for Page in links:
                print(Page.title())     
                modification(Page.title())
        '''
 
# Traitement des modifications récentes
def crawlerRC():
        RC = pagegenerators.RecentchangesPageGenerator()
        for Page in pagegenerators.PreloadingGenerator(RC,100):
                modification(Page.title())
 
# Lancement
#TraitementFile = lecture('articles_test.txt')
#TraitementCategory = crawlerCat(u'')
TraitementLiens = crawlerLink(template)
#while 1:
#     TraitementRC = crawlerRC()
raw_input("Jackpot")
#!/usr/bin/env python
# Ce robot remplace un modèle par un autre en conservant un paramètre.
 
# Déclaration
language = "fr"
family = "wiktionary"
mynick = "JackBot"
 
# Importation des modules
import os
from wikipedia import *
site = getSite(language,family)
templette1 = "{{cs-conj-perf-it|rad="
templette2 = "}}"
template1 = "{{cs-conj-perf-i|rad="
template2 = "||i}}"
texte = "[[WT:BR]]"
 
# Lecture du fichier articles_list.txt (au même format que pour replace.py)
def lecture(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()
 
 
# Modification du wiki
def modification(PageHS):
  page = Page(site,PageHS)
  PageTemp = page.get()
  PageEnd = ""
  position = 0
  while position < len(PageTemp):
          position = PageTemp.find(templette1)
          if position < 0:
            break
          else:
            PageEnd = PageEnd + PageTemp[0:position]
            PageTemp = PageTemp[position:len(PageTemp)]
            position = PageTemp.find(templette2)
            radical = PageTemp[len(templette1):position]
            PageEnd = PageEnd + template1 + radical + template2
            PageTemp = PageTemp[position+len(templette2):len(PageTemp)]
  PageEnd = PageEnd + PageTemp[0:len(PageTemp)]
  #print(PageEnd)
  page.put(PageEnd, texte)
 
# Lancement
HS = lecture('articles_list.txt')
# print HS
raw_input("Jackpot")
#!/usr/bin/env python
# coding: utf-8
 
# Ce script liste des pages dans un fichier (avant éventuel renommage avec movingpages.py)
 
# Importation des modules
import catlib, pagegenerators, os, codecs, urllib
from wikipedia import *
 
# Déclaration
language = "fr"
family = "wiktionary"
mynick = "JackBot"
site = getSite(language,family)
output = u'articles_listed.txt'
 
# Traitement d'une catégorie
def crawlerCat(category):
        txtfile = codecs.open(output, 'a', 'utf-8')
        cat = catlib.Category(site, category)
        pages = cat.articlesList(False)
        for Page in pagegenerators.PreloadingGenerator(pages,100):
                PageTemp = Page.title()
                PageT = ""
                key = "false"
                for lettre in range(0,len(PageTemp)):
                        if PageTemp[lettre:lettre+1] == u'ε':
                                PageT = PageT + u'ɛ'
                                key = "true"
                        else:
                                PageT = PageT + PageTemp[lettre:lettre+1]
                if key == "true":
                        txtfile.write("[[" + PageTemp + "]] [[" + PageT + "]]\n")
        txtfile.close()
 
 
# Lancement
TraitementCategory = crawlerCat(u'Catégorie:fon')
raw_input("Jackpot")
#!/usr/bin/env python
# Ce script supprime les URL hors service depuis plus d'une semaine.
 
# Déclaration
language = "fr"
family = "wiktionary"
mynick = "JackBot"
 
# Importation des modules
import os
from wikipedia import *
site = getSite(language,family)
 
# Lecture du fichier de sortie de weblinkchecker.py (attention : il trafique les noms de pages avec accent)
def lecture(source):
    HyperLynx = open(source, 'r')
    while 1:
        txt = HyperLynx.readline(2)
        if txt =='':
            break
        elif txt == '* ':
                    URLHS = HyperLynx.readline()
        elif txt == '**':
                    PageHS = HyperLynx.readline()
                    debut = PageHS.find("[[")
                    fin = PageHS.find("]]")
                    PageHS = PageHS[debut + 2:fin]
                    modification(URLHS, PageHS)
    HyperLynx.close()
    HS = [URLHS, PageHS]
    return HS
 
 
# Modification du wiki
def modification(URLHS, PageHS):
  page = Page(site,PageHS)
  PageTemp = page.get()
  PageEnd = ""
  position = 0
  while position < len(PageTemp):
          position = PageTemp.find("http")
          if position < 0:
            break
          else:
            PageEnd = PageEnd + PageTemp[0:position]
            PageTemp = PageTemp[position:len(PageTemp)]
            position = PageTemp.find(" ")
            URL = PageTemp[0:position]
            if URL+"\n" != URLHS:
                  PageEnd = PageEnd + PageTemp[0:position]
            PageTemp = PageTemp[position:len(PageTemp)]
  PageEnd = PageEnd + PageTemp[0:len(PageTemp)]
  #print(PageEnd)
  page.put(PageEnd, "Retrait d'URL HS")
 
# Lancement
HS = lecture('./deadlinks/results-wiktionary-fr.txt')
#print HS
 
raw_input("Jackpot")
 
# Reset du fichier des URL HS
fichier = open('./deadlinks/results-wiktionary-fr.txt', 'w')
fichier.write('')
fichier.close()
#!/usr/bin/env python
# Ce script convertit un document texte en syntaxe Wiki.
# -*- coding: utf-8 -*-
 
# Declaring all global values
mydir = "./"
pwbdir = mydir + "pywikipedia/"
language = "fr"
family = "wiktionary"
mynick = "JackBot"
article = "import"    # Page name, eventually = input()
myuserpage = "Utilisateur:" + mynick
mypage = myuserpage + "/" + article
 
# Importing modules
import sys
sys.path.append(pwbdir)
from wikipedia import *
 
# Modifying the wiki
site = getSite(language,family)
page = Page(site,mypage)
pageTemp = page.get()
pageEnd = ""
col = 4                 # Number of columns, in this example the 2nd and 4th will be hyperlinked
cc = 1                  # Current column
endPos = 0
 
while endPos + 1 < len(pageTemp):
   if cc < col:
      if pageTemp.find("  ") < pageTemp.find(" "):
         if pageTemp.find("       ") < 1:       # Tab
            if pageTemp.find(" ") > 1:    # Space
               endPos = pageTemp.find(" ")
         else:
            endPos = pageTemp.find("      ")
      else:
         if pageTemp.find(" ") < 1:       # Space
            endPos += 1
         else:
            endPos = pageTemp.find(" ")
      if cc == 1:
         pageEnd = pageEnd + pageTemp[0:endPos] + " || [["
         pageTemp = pageTemp[endPos+1:len(pageTemp)]
         cc += 1
      elif cc == 2:
         pageEnd = pageEnd + pageTemp[0:endPos] + "]] || "
         pageTemp = pageTemp[endPos+1:len(pageTemp)]
         cc += 1
      elif cc == 3:
         pageEnd = pageEnd + pageTemp[0:endPos] + " || [["
         pageTemp = pageTemp[endPos+1:len(pageTemp)]
         cc += 1   
   else:
      endPos = pageTemp.find("\n")
      pageEnd = pageEnd + pageTemp[0:endPos] + "]]\n|-\n| "
      pageTemp = pageTemp[endPos+1:len(pageTemp)]
      cc = 1
page.put(pageEnd)
 
raw_input("Jackpot")
#!/usr/bin/env python
# Ce script signe les commentaires des pages de discussions.
 
# Importation des modules
import catlib, pagegenerators, os, codecs, urllib, re
from wikipedia import *
 
# Déclaration
language = "en"
family = "wikibooks"
mynick = "JackBot"
site = getSite(language,family)
 
# Lecture du fichier articles_list.txt (au même format que pour replace.py)
def lecture(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()
 
# Modification du wiki
def modification(PageHS):
        page = Page(site,PageHS)
        if page.exists():
                if page.title() != u'Utilisateur:JackBot/test' and page.title()!= u'Wikibooks:Requests for permissions' and page.namespace()!= 1 and page.namespace()!= 3 and page.namespace()!= 5 and page.namespace()!= 7 and page.namespace()!= 9 and page.namespace()!= 11 and page.namespace()!= 13 and page.namespace()!= 15 and page.namespace()!= 103 and page.namespace()!= 109 and page.namespace()!= 111 and page.namespace()!= 113: 
                        return
                else:
                        url = u'http://' + language + u'.' + family + u'.org/w/api.php?action=query&prop=info|revisions&titles=%s&format=xml' % PageHS
                        PageTemp = urllib.urlopen(url)
                        try:                   
                                infos = PageTemp.read()
                                reviseur = re.findall(' user="(.*?)" ',infos)
                                PageTemp.close()                     
                                PageEnd = page.get()
                                if PageEnd.find(u'{{delete') != -1 or PageEnd.find(u'{{nobots') != -1 or PageEnd.find(u'{{bots|deny=all') != -1: return
                        except wikipedia.NoPage:
                                print "NoPage"
                                return
                        except wikipedia.IsRedirectPage:
                                print "Redirect page"
                                return
                        except wikipedia.LockedPage:
                                print "Locked/protected page"
                                return
                if not reviseur: return
                if PageEnd[len(PageEnd)-8:len(PageEnd)].rfind(u'(UTC)') != -1: return
 
                #for chacun in reviseur:
                reviseur = str(reviseur)
                reviseur = reviseur[reviseur.find("'")+1:reviseur.rfind("'")]
                summary = u'Autosignature for ' + u'[[User:' + reviseur + u'|' + reviseur + u']]'
 
                date = re.findall(' timestamp="(.*?)" ',infos)
                date = str(date)
                date = date[date.find("'")+1:date.rfind("'")]
                date = date[0:date.find("T")] + u' ' + date[date.find("T")+1:date.find("Z")]
 
                PageEnd = PageEnd + u' {{unsigned|' + reviseur + u'|' + date + u'}}'
                #print (PageEnd.encode(config.console_encoding, 'replace'))
                #raw_input("fin")
                page.put(PageEnd, summary)
 
# Traitement d'une catégorie
def crawlerCat(category):
        cat = catlib.Category(site, category)
        pages = cat.articlesList(False)
        for Page in pagegenerators.PreloadingGenerator(pages,100):
                if Page.namespace() == 0: modification(u'Discussion:' + Page.title())
        subcat = cat.subcategories(recurse = True)
        for subcategory in subcat:
                pages = subcategory.articlesList(False)
                for Page in pagegenerators.PreloadingGenerator(pages,100):
                        if Page.namespace() == 0: modification(u'Discussion:' + Page.title())
 
# Traitement des pages liées                  
def crawlerLink(pagename):
        #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):
                if Page.namespace() == 1: modification(Page.title())
                elif Page.namespace() == 0: modification(u'Discussion:' + Page.title())
 
# Traitement des modifications récentes
def crawlerRC():
        RC = pagegenerators.RecentchangesPageGenerator()
        for Page in pagegenerators.PreloadingGenerator(RC,100):
                if Page.namespace() == 1: modification(Page.title())
 
# Lancement
TraitementFile = lecture('articles_list.txt')
#TraitementLink = crawlerLink(u'')
#TraitementCategory = crawlerCat(u'')
raw_input("Jackpot")
#!/usr/bin/env python
# coding: utf-8
# Ce script crée des flexions depuis le modèle d'un lemme
 
# Importation des modules
import catlib, pagegenerators, os, codecs, urllib
from wikipedia import *
 
# Déclaration
mynick = "JackBot"
language1 = "fr"
family = "wiktionary"
site1 = getSite(language1,family)
template = u'pl-décl-adj-y'
output = u'articles_listed_pl.txt'
 
# Modification du wiki
def modification(PageHS):
        summary = u'Création des flexions du polonais depuis [[' + PageHS + u']]'
        page = Page(site1,PageHS)
        if page.exists():
                if page.namespace() !=0 and page.title() != u'Utilisateur:JackBot/test': 
                        return
                else:
                        try:
                                radical = page.get()
                        except wikipedia.NoPage:
                                print "NoPage"
                                return
                        except wikipedia.IsRedirectPage:
                                print "Redirect page"
                                return
        else:
                return
        if radical.find(u'{{-adj-|pl}}') == -1: return
        radical = radical[radical.find(template)+len(template)+1:len(radical)]
        radical = radical[0:radical.find(u'}}')]
        while radical[0:1] == u' ' or radical[0:1] == u'|':
                radical = radical[1:len(radical)]
        while radical[len(radical)-1:len(radical)] == u' ' or radical[len(radical)-1:len(radical)] == u'|':
                radical = radical[0:len(radical)-1]
        if radical.find(u'|') == -1:
                txtfile = codecs.open(output, 'a', 'utf-8')
                txtfile.write(u'* [[' + PageHS + u']]\n')
                txtfile.close()
                return
        radical2 = radical[radical.find(u'|')+1:len(radical)]
        radical = radical[0:radical.find(u'|')]
        if radical != PageHS[0:len(PageHS)-1 ]:
                txtfile = codecs.open(output, 'a', 'utf-8')
                txtfile.write(u'* [[' + PageHS + u']]\n')
                txtfile.close()
                return
        # Flexions
        page1 = Page(site1,radical2)
        if not page1.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Nominatif pluriel au masculin animé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Vocatif pluriel au masculin animé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page1.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
        page2 = Page(site1,radical + u'a')
        if not page2.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Nominatif singulier au féminin de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page2.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
        page3 = Page(site1,radical + u'e')
        if not page3.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Nominatif singulier au neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Vocatif singulier au neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Accusatif singulier au neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Nominatif pluriel au neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Vocatif pluriel au neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Accusatif pluriel au neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Nominatif pluriel au masculin inanimé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Vocatif pluriel au masculin inanimé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Accusatif pluriel au masculin inanimé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page3.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
        page4 = Page(site1,radical + u'ego')
        if not page4.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Accusatif singulier au masculin inanimé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Génitif singulier au masculin animé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Génitif singulier au masculin inanimé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Génitif singulier au neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page4.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
        page5 = Page(site1,radical + u'ej')
        if not page5.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Génitif singulier au féminin de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Locatif singulier au féminin de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Datif singulier au féminin de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page5.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
        page6 = Page(site1,radical + u'ych')
        if not page6.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Accusatif pluriel au masculin animé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Génitif pluriel de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Locatif pluriel de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page6.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
        page7 = Page(site1,radical + u'emu')
        if not page7.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Datif singulier au masculin animé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Datif singulier au masculin inanimé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Datif singulier au masculin neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page7.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
        page8 = Page(site1,radical + u'ym')
        if not page8.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Locatif singulier au masculin animé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Locatif singulier au masculin inanimé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Locatif singulier au masculin neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Instrumental singulier au masculin animé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Instrumental singulier au masculin inanimé de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Instrumental singulier au masculin neutre de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Datif pluriel de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page8.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
        page9 = Page(site1,radical + u'ą')
        if not page9.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Accusatif singulier au féminin de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].\n# \'\'Instrumental singulier au féminin de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page9.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
        page10 = Page(site1,radical + u'ymi')
        if not page10.exists():
                PageTemp = u'== {{=pl=}} ==\n{{-flex-adj-|pl}}\n\'\'\'{{subst:PAGENAME}}\'\'\' {{pron||pl}}\n# \'\'Instrumental pluriel de\'\' [[' + PageHS + u'#pl-adj|' + PageHS + u']].'
                page10.put(PageTemp + u'\n' + CleDeTri(PageHS), summary)
 
def CleDeTri(PageHS):
        # Clés de tri
                PageT = ""
                key = "false"
                for lettre in range(0,len(PageHS)):   
                        if PageHS[lettre:lettre+1] == u'á' or PageHS[lettre:lettre+1] == u'à' or PageHS[lettre:lettre+1] == u'â' or PageHS[lettre:lettre+1] == u'ä' or PageHS[lettre:lettre+1] == u'ą':
                                PageT = PageT + "a"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'æ':
                                PageT = PageT + "ae"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'ç' or PageHS[lettre:lettre+1] == u'ć':
                                PageT = PageT + "c"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'é' or PageHS[lettre:lettre+1] == u'è' or PageHS[lettre:lettre+1] == u'ê' or PageHS[lettre:lettre+1] == u'ë' or PageHS[lettre:lettre+1] == u'ę':
                                PageT = PageT + "e"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'í' or PageHS[lettre:lettre+1] == u'ì' or PageHS[lettre:lettre+1] == u'î' or PageHS[lettre:lettre+1] == u'ï':
                                PageT = PageT + "i"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'ñ' or PageHS[lettre:lettre+1] == u'ń':
                                PageT = PageT + "n"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'ó'  or PageHS[lettre:lettre+1] == u'ò' or PageHS[lettre:lettre+1] == u'ô' or PageHS[lettre:lettre+1] == u'ö':
                                PageT = PageT + "o"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'œ':
                                PageT = PageT + "oe"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'ś':
                                PageT = PageT + "s"
                                key = "yes" 
                        elif PageHS[lettre:lettre+1] == u'ú' or PageHS[lettre:lettre+1] == u'ù' or PageHS[lettre:lettre+1] == u'û' or PageHS[lettre:lettre+1] == u'ü':
                                PageT = PageT + "u"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'ÿ':
                                PageT = PageT + "y"
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'ż':
                                PageT = PageT + "z"
                                key = "yes"                         
                        elif PageHS[lettre:lettre+1] == u'-':
                                PageT = PageT + " "
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'/':
                                PageT = PageT + " "
                                key = "yes"
                        elif PageHS[lettre:lettre+1] == u'\\':
                                PageT = PageT + ""
                                key = "yes"
                        else:
                                PageT = PageT + PageHS[lettre:lettre+1].lower()
                if key == "yes":
                        return (u'\n{{clé de tri|' + PageT + u'}}\n')
                else:
                        return u''
 
# Lecture du fichier articles_list.txt (au même format que pour replace.py)
def lecture(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):
        cat = catlib.Category(site, category)
        pages = cat.articlesList(False)
        for Page in pagegenerators.PreloadingGenerator(pages,100):
                modification(Page.title())
        subcat = cat.subcategories(recurse = True)
        for subcategory in subcat:
                pages = subcategory.articlesList(False)
                for Page in pagegenerators.PreloadingGenerator(pages,100):
                        modification(Page.title())
 
def crawlerLink(pagename):
        #pagename = unicode(arg[len('-links:'):], 'utf-8')
        page = wikipedia.Page(site1, u'Modèle:' + pagename)
        gen = pagegenerators.ReferringPageGenerator(page)
        #gen =  pagegenerators.NamespaceFilterPageGenerator(gen, namespaces)
        for Page in pagegenerators.PreloadingGenerator(gen,100):
                modification(Page.title())
        '''
        #pagename = unicode(arg[len('-links:'):], 'utf-8')
        page = wikipedia.Page(site2, u'Template:' + pagename)
        links = page.linkedPages()
        print links
        #gen =  pagegenerators.NamespaceFilterPageGenerator(gen, namespaces)
        for Page in links:
                print(Page.title())     
                modification(Page.title())
        '''
 
# Traitement des modifications récentes
def crawlerRC():
        RC = pagegenerators.RecentchangesPageGenerator()
        for Page in pagegenerators.PreloadingGenerator(RC,100):
                modification(Page.title())
 
# Lancement
TraitementLiens = crawlerLink(template)
'''
TraitementWord = modification(u'maciatus')
TraitementFile = lecture('articles_test.txt')
TraitementCategory = crawlerCat(u'')
while 1:
        TraitementRC = crawlerRC()
'''

À faire

  1. Wiktionnaire:Bot/Requêtes
  2. /Requêtes
  3. Si {{pron-rég}} n'est pas vide ou blanc, retirer le {{ébauche-pron}}.
  4. Bot pouvant naviguer dans les historiques
    • Bot anti-vandale qui protège automatiquement une page, après trois révocations dans la même heure.
Outils personnels
Espaces de noms
Variantes
Actions
Navigation
Contribuer
Aide
Boîte à outils
Autres langues