Utilisateur:JackBot
Définition, traduction, prononciation, anagramme et synonyme sur le dictionnaire libre Wiktionnaire.
| 500 000+ | Cet utilisateur a effectué plus de 500 000 contributions sur le Wiktionnaire. |
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.
| Bouton d'arrêt d’urgence pour bot |
| Administrateurs : Utilisez ce bouton si le bot fonctionne mal. (lien direct)
Les non-administrateurs peuvent rapporter les erreurs sur Wiktionnaire:Demandes aux administrateurs. |
Code 
- Aide:AutoWikiBrowser sur Wikipédia

- Aide:Pywikipedia sur Wikipédia

- Télécharger un majordome IRC.
- Faits maison :
w: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' ') != -1: PageTemp = PageTemp[0:PageTemp.find(u' ')] + u' ' + PageTemp[PageTemp.find(u' ')+len(u' '):len(PageTemp)] while PageTemp.find(u'à') != -1: PageTemp = PageTemp[0:PageTemp.find(u'à')] + u'à' + PageTemp[PageTemp.find(u'à')+len(u'à'):len(PageTemp)] while PageTemp.find(u'â') != -1: PageTemp = PageTemp[0:PageTemp.find(u'â')] + u'â' + PageTemp[PageTemp.find(u'â')+len(u'â'):len(PageTemp)] while PageTemp.find(u'ä') != -1: PageTemp = PageTemp[0:PageTemp.find(u'ä')] + u'ä' + PageTemp[PageTemp.find(u'ä')+len(u'ä'):len(PageTemp)] while PageTemp.find(u'é') != -1: PageTemp = PageTemp[0:PageTemp.find(u'é')] + u'é' + PageTemp[PageTemp.find(u'é')+len(u'é'):len(PageTemp)] while PageTemp.find(u'è') != -1: PageTemp = PageTemp[0:PageTemp.find(u'è')] + u'è' + PageTemp[PageTemp.find(u'è')+len(u'è'):len(PageTemp)] while PageTemp.find(u'ê') != -1: PageTemp = PageTemp[0:PageTemp.find(u'ê')] + u'ê' + PageTemp[PageTemp.find(u'ê')+len(u'ê'):len(PageTemp)] while PageTemp.find(u'ë') != -1: PageTemp = PageTemp[0:PageTemp.find(u'ë')] + u'ë' + PageTemp[PageTemp.find(u'ë')+len(u'ë'):len(PageTemp)] while PageTemp.find(u'î') != -1: PageTemp = PageTemp[0:PageTemp.find(u'î')] + u'î' + PageTemp[PageTemp.find(u'î')+len(u'î'):len(PageTemp)] while PageTemp.find(u'ï') != -1: PageTemp = PageTemp[0:PageTemp.find(u'ï')] + u'ï' + PageTemp[PageTemp.find(u'ï')+len(u'ï'):len(PageTemp)] while PageTemp.find(u'ô') != -1: PageTemp = PageTemp[0:PageTemp.find(u'ô')] + u'ô' + PageTemp[PageTemp.find(u'ô')+len(u'ô'):len(PageTemp)] while PageTemp.find(u'ö') != -1: PageTemp = PageTemp[0:PageTemp.find(u'ö')] + u'ö' + PageTemp[PageTemp.find(u'ö')+len(u'ö'):len(PageTemp)] while PageTemp.find(u'ù') != -1: PageTemp = PageTemp[0:PageTemp.find(u'ù')] + u'ù' + PageTemp[PageTemp.find(u'ù')+len(u'ù'):len(PageTemp)] while PageTemp.find(u'û') != -1: PageTemp = PageTemp[0:PageTemp.find(u'û')] + u'û' + PageTemp[PageTemp.find(u'û')+len(u'û'):len(PageTemp)] while PageTemp.find(u'ü') != -1: PageTemp = PageTemp[0:PageTemp.find(u'ü')] + u'ü' + PageTemp[PageTemp.find(u'ü')+len(u'ü'):len(PageTemp)] while PageTemp.find(u'ç') != -1: PageTemp = PageTemp[0:PageTemp.find(u'ç')] + u'ç' + PageTemp[PageTemp.find(u'ç')+len(u'ç'):len(PageTemp)] while PageTemp.find(u'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")
- Voir aussi sur Commons
#!/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
- Wiktionnaire:Bot/Requêtes
- /Requêtes
- Si {{pron-rég}} n'est pas vide ou blanc, retirer le {{ébauche-pron}}.
- 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.