Difference between revisions 14987322 and 15021452 on frwiktionary

[[Catégorie:JackBot]]
<source lang=python>
#!/usr/bin/env python
# coding: utf-8
'''
Ce script formate les pages du Wiktionnaire, tous les jours après minuit depuis le Toolserver :
1) Retire certains doublons de modèles et d'espaces.
2) Ajoute les clés de tris, prononciations vides, et certains liens vers les conjugaisons.
(contracted; show full)
		if PageTemp.find(u'{{voir}}') != -1: PageTemp = PageTemp[0:PageTemp.find(u'{{voir}}')] + PageTemp[PageTemp.find(u'{{voir}}')+len(u'{{voir}}'):len(PageTemp)]
		PageHS = HTMLUnicode.HTMLUnicode(PageHS)
		PageTemp = HTMLUnicode.HTMLUnicode(PageTemp)
		PageTemp = PageTemp.replace(u'}}&#32;[[', u'}} [[')
		PageTemp = PageTemp.replace(u']]&#32;[[', u']] [[')
		
		regex = ur'\[\[([^\]]*)\|\1\]\]'
		if re.search(regex, PageTemp):
			PageTemp = re.sub(regex, ur'[[\1]]', PageTemp)
		
		# Clés de tri
		if debogage == True: print u'Clés de tri'
		PageTemp = PageTemp.replace(u'{{DEFAULTSORT:', u'{{clé de tri|')
		PageTemp = PageTemp.replace(u'{{CLEDETRI:', u'{{clé de tri|')
		PageTemp = PageTemp.replace(u'{{clef de tri|', u'{{clé de tri|')
		while PageTemp.find(u'\n{clé de tri') != -1:
(contracted; show full)
		PageTemp = PageTemp.replace(u'\n* {{SAMPA}} :\n', u'\n')
		PageTemp = PageTemp.replace(u'{{Massorète}}:', u'{{Massorète}} :')
		PageTemp = PageTemp.replace(u'{{pron||hbo}}:', u'API :')
		PageTemp = PageTemp.replace(u'{{SAMPA}}:', u'{{SAMPA}} :')
		PageTemp = PageTemp.replace(u'{{sexua|', u'{{sexe|')
		PageTemp = PageTemp.replace(u'{{conj-hbo}}', u'{{conjugaison|hbo}}')

		PageTemp = PageTemp.replace(u'{{-trad-}}\n{{trad-début}}\n{{trad-fin}}', u'') # trait gris
		PageTemp = PageTemp.replace(u'{|\n|}', u'')
		PageTemp = PageTemp.replace(u'{{auxiliaire être}}', u'{{note-auxiliaire|fr|être}}')
		
		while PageTemp.find(u'}}: //\n') != -1:
			PageTemp = PageTemp[0:PageTemp.find(u'}}: //\n')] + PageTemp[PageTemp.find(u'}}: //\n')+len(u'}}: //'):len(PageTemp)]
			
		while PageTemp.find(u'{{figuré}} {{métaphore|fr}}') != -1:
(contracted; show full)
		while PageTemp.find(u'|notat=1') != -1:
			PageTemp = PageTemp[0:PageTemp.find(u'|notat=1')] + u'|nocat=1' + PageTemp[PageTemp.find(u'|notat=1')+len(u'|notat=1'):len(PageTemp)]
		regex = u'\{\{trad\|([a-z][a-z]?[a-z])\|\}\}'
		if re.search(regex, PageTemp):
			
#PageTemp = re.sub(regex, ur'{{ébauche-trad|\1}}', PageTemp)
			PageTemp = re.sub(regex, ur'{{trad}}', PageTemp)
		regex = ur'\{\{ISBN\|([^\}]*)\}\}'
		if re.search(regex, PageTemp):
			PageTemp = re.sub(regex, ur'ISBN \1', PageTemp)
			
		'''PageTemp3 = u''
		while PageTemp.find(u'{{fr-accord-ot|') != -1:
			if PageHS[len(PageHS)-2:] == u'ot':
				PageTemp2 = PageTemp[PageTemp.find(u'{{fr-accord-ot|')+len(u'{{fr-accord-ot|'):]
(contracted; show full)						PageTemp = PageTemp[PageTemp.find("}}")+2:len(PageTemp)]
						break
					elif Modele[p] == u'-trad-':
						EstCodeLangue = u'false'
						trad = u'true'
						PageEnd = PageEnd + Modele[p] + u'}}'
						PageTemp = PageTemp[PageTemp.find(u'}}')+2:len(PageTemp)]
						# Ajout de {{trad-début}} si {{T|
 en français
						if PageTemp.find(u'{{') == PageTemp.find(u'{{T|') and codelangue == 'fr':
							PageTemp = u'\n{{trad-début}}' + PageTemp
							PageTemp2 = PageTemp[PageTemp.find(u'{{trad-début}}\n')+len(u'{{trad-début}}\n'):]
							if PageTemp2.find(u'\n') == -1:
								PageTemp = PageTemp + u'\n'
								PageTemp2 = PageTemp2 + u'\n'
							while PageTemp2.find(u'{{T|') < PageTemp2.find(u'\n') and PageTemp2.find(u'{{T|') != -1:
								PageTemp2 = PageTemp2[PageTemp2.find(u'\n')+1:]
(contracted; show full)			print "BadTitle en sauvegarde"
			return
		except AttributeError:
			print "AttributeError en sauvegarde"
			return
			
# Lancement

#TraitementLiens = crawlerLink(u'Modèle:ISBN',u'')
#TraitementLiens = crawlerLink(u'Modèle:conj-hbo',u'')
# Quotidiennement :
TraitementCategorie = crawlerCat(u'Catégorie:Wiktionnaire:Codes langue manquants',True,u'')
TraitementCategorie = crawlerCat(u'Catégorie:Wiktionnaire:Flexions à vérifier',True,u'')
TraitementCategorie = crawlerCat(u'Catégorie:Appels de modèles incorrects:fr-verbe-flexion incomplet',False,u'')
TraitementLiens = crawlerLink(u'Modèle:trad',u'')
#TraitementLiensCategorie = crawlerCatLink(u'Catégorie:Modèles désuets',u'')
#TraitementLiens = crawlerLink(u'Modèle:SAMPA',u'') : remplacer les tableaux de prononciations ?
TraitementLiens = crawlerLink(u'Modèle:1ergroupe',u'')
TraitementLiens = crawlerLink(u'Modèle:2egroupe',u'')
TraitementLiens = crawlerLink(u'Modèle:3egroupe',u'')
TraitementLiens = crawlerLink(u'Modèle:-',u'')
TraitementLiens = crawlerLink(u'Modèle:-ortho-alt-',u'')
TraitementLiens = crawlerLink(u'Modèle:mascul',u'')
TraitementLiens = crawlerLink(u'Modèle:fémin',u'')
TraitementLiens = crawlerLink(u'Modèle:femin',u'')
TraitementLiens = crawlerLink(u'Modèle:sing',u'')
TraitementLiens = crawlerLink(u'Modèle:plur',u'')
TraitementLiens = crawlerLink(u'Modèle:pluri',u'')
TraitementLiens = crawlerLink(u'Modèle:=langue=',u'')

TraitementLiens = crawlerLink(u'Modèle:trad-',u'')
#TraitementCategorie = crawlerCat(u'Catégorie:Wiktionnaire:Conjugaisons manquantes en français',True,u'')
#TraitementCategorie = crawlerCat(u'Catégorie:Appels de modèles incorrects:pron conv',True,u'')
'''
# Modèles
TraitementPage = modification(u'Utilisateur:JackBot/test')
TraitementFile = crawlerFile('articles_WTin.txt')
TraitementLiens = crawlerLink(u'Modèle:terme',u'')
TraitementLiens = crawlerLink(u'Modèle:R:DAF8',u'')
TraitementLiens = crawlerLink(u'Modèle:Import:DAF8',u'')
TraitementLiensCategorie = crawlerCatLink(u'Modèles de code langue',u'')
TraitementCategorie = crawlerCat(u'Catégorie:Appels de modèles incorrects',True)
TraitementRecherche = crawlerSearch(u'clé de tri')
TraitementUtilisateur = crawlerUser(u'Utilisateur:JackBot')
TraitementRedirections = crawlerRedirects()
TraitementTout = crawlerAll(u'')
while 1:
	TraitementRC = crawlerRC()
# python delete.py -lang:fr -family:wiktionary -file:articles_WTin.txt
'''
</source>