All pastes #362214 Raw Edit

Stuff

public python v1 · immutable
·published 2007-02-18 17:02 UTC
rendered paste body
######### Mon code #! /usr/bin/env python# -*- coding: utf-8 -*-import reimport osfrom BeautifulSoup import BeautifulSoup       from BeautifulSoup import BeautifulStoneSoup     from htmlentitydefs import name2codepointimport urllib2def getpage(url):    request_headers = { 'User-Agent': 'NothingButMe/0.0.1' }    request = urllib2.Request(url, None, request_headers)    urlfile = urllib2.urlopen(request)    return urlfile.read()# Téléchargement du fichier page=getpage("http://fr.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Wikip%C3%A9dia:AutoWikiBrowser/Typos&rvprop=content&format=xml")# Premier traitement, obtenir le contus entre <rev>soup=BeautifulStoneSoup(page)# Il semblerait que ca soit quelque chose comme : soup.api.query.pages.page.revisions.revpat=re.compile("&(\w+);")def repl(m):    ent=m.group(1)    if name2codepoint.has_key(ent):        return unichr(name2codepoint[ent])    else:        return u'?' temp=soup.api.query.pages.page.revisions.rev# Ouverture du fichier en écriturewriter=open('list-ok.txt', 'w')print dir(temp)for i in temp:    text=pat.sub(repl, i)    ## On extrait ce qui nous intéresse    regex=re.match(r"<Typo word=\"(.*)\" find=\"(.*)\" replace=\"(.*)\" />",text)    # Le mot : regex.group(1)    # On recherche : regex.group(2)    # On renplace par : regex.group(3)        ## On remplace les $ par des \    if regex:        temp1=re.sub(r"\$", r"\\", regex.group(2))        temp2=re.sub(r"\$", r"\\", regex.group(3))        #Et maintenant on écrit la liste comme elle doit ressembler        writer.write("            (r'" + temp1 + "', r'" + temp2 + "')," + os.linesep)writer.close# Voila le contenus de i :<Typo word="verbalement" find="\b(v|V)erball?emm?ent\b" replace="$1erbalement" /><Typo word="vêtement" find="\b(V|v)(é|è|ê|ë|e)temm?ent(s?)\b' replace="$1êtement$3" /><Typo word="violemment" find="\b(v|V)ioll?(a|e)mm?ent\b" replace="$1iolemment" /><Typo word="visionner" find="\b(v|V)ision(age(s?)|aire(s?)|er|é|ais|ait|aient|e|euse(s?))\b" replace="$1isionn$2" /><Typo word="vœu" find="\b(v|V)oeu(x?)\b" replace="$1œu$2" /><Typo word="vœux" find="\b(v|V)(oe|œ)us\b" replace="$1œux" /><Typo word="volontiers" find="\b(v|V)oll?ontier(s?)\b" replace="$1olontiers" /></pre>===W===<pre><Typo word="wagon" find="\b(W|w)aggon(s?)\b" replace="$1agon$2" /></pre>===X===<pre></pre>===Y===<pre></pre>===Z===<pre></pre># En beaucoups plus long...