Usuari:TronaBot/Python/user-fixes.py
< Usuari:TronaBot | Python
Aquest fitxer necessita executar-se amb Usuari:TronaBot/Python/ortobot.py
# -*- coding: utf-8 -*-
#30.04.13
exceptions = {
'inside-tags': [
'comment',
#'link',
'interwiki',
'math',
'pre', # because of code examples
'source', # because of code examples
'startspace', # because of code examples
'hyperlink', # e.g. commas in URLs
'gallery', # because of filenames
'timeline',
'cite',
'nowiki',
#'noinclude',
#'includeonly',
#'math',
'ref',
#'table',
'template',
],
'inside': [
#omitim modificació imatges
ur'\[\[(?:[Ii]mat?ge|[Ff]i(?:txer|le)):.*?[\|\]]',
#omitim modificació interwikis
ur'\[\[[a-z\-]{2,12}:[^\]]+?\]\]',
#omitim modificació categories
ur'\[\[ *[Cc]ategor(?:ia|y) *:[^\]]+?\]\]',
#omitim modificació plantilles
ur'\{\{[^}]*?\}\}',
#omitim enllaços interns sense text a mostrar
ur'\[\[[^\]]*?\]\]',
#omitim modificació enllaços
ur'\[\[[^|]*?\|',
#omitim paràmetres de plantilles amb fitxers imbricats
ur'(?i)\|[\w\d\s()\-_=]*?\.(?:gif|png|jpg|svg)\b',
#omitim paràmetres de plantilles
ur'\|[\w\d\t\s]*=.+',
#omitim paràmetres de plantilles
ur'[\w\s_]+=[\w\d\s_,\'\.\[\](){}<>\-/]*\|$',
],
}
categories = {
"abr": "abreviatures",
"acc": "l'accentuació",
"apo": "els apòstrofs",
"brb": "els barbarismes",
"ctr": "ce trencada",
"dsc": "errors de tecleig", #descuïts, errors dactilogràfics, per exemple:
#"fwr" o "efr" per "fer" (els erròniament
#denominats "typo" i "tipogràfics")
"enl": "enllaços",
"gem": "ela geminada",
"grm": "gramàtica",
"hpc": "hipercorreccions",
"imp": "ús de l'imperatiu",
"ort": "ortografia",
"maj": "majúscules",
"pnt": "puntuació",
"prn": "pronoms",
"prp": "preposicions",
"tcl": "error de tecleig",
}
#replace.py -fix:elagem -recursive -always -query:125 -sleep:1 -start:"Amando Vilaplana Gironés"
fixes['elagem']={
'regex': True,
'msg': {
'ca':u'[[Usuari:TronaBot/Python/user-fixes.py|Bot]]: corregint ela geminada i apòstrof.',
},
'replacements': [
(ur'(l[•.]l)', ur'l·l'),
(ur"[’´`]", ur"'"),
(ur"(«) ", ur"\1")
#(ur"(\b[sltmd])[’´`]([\w[])", ur"\1'\2"),
#(ur"(\w)[´’`]((?:[sltm]|ns)\b)", ur"\1'\2")
],
'exceptions': exceptions
}
#ortobot.py -fix:auto -family:wikipedia_o -recursive -always -query:125 -sleep:1 -start:"Bartomeu Bardagí i Moras"
fixes['auto']={
'regex': True,
'msg': {
'ca':u'[[Usuari:TronaBot/Python/user-fixes.py|Bot]]: corregint',
},
'categories': categories,
'replacements': [
(ur"m´s", u"més", "dsc"),
(ur"(«) ", ur"\1", "pnt"),
(ur" (»)", ur"\1", "pnt"),
(ur"“(.*?)”", ur'"\1"', "pnt"),
(ur"\( ?([^)]+?) \)", ur"(\1)", "pnt"), #els anys donen problemes, a vore així 22-05-13 12:22
(ur"\( ([^)]+?) ?\)", ur"(\1)", "pnt"),
(ur"\( ([^ ]+?)", ur"(\1", "pnt"),
(ur"([^ \),]+?) ([\),])", ur"\1\2", "pnt"),
(ur"([^\.]+?) \.([\n\s])", ur"\1.\2", "pnt"),
#(ur"([a-zçàèíòúóé]) \.", ur"\1.", "pnt"),
#(ur"([.,])([A-ZÇÀÈÒÉÍÓÚ])", ur"\1 \2", "pnt"),
#(ur"(:) *([A-ZÇÀÈÒÉÍÓÚ])", ur"\1 \2", "pnt"),
(ur'(l[•.]l)', ur'l·l', "gem"),
(ur"‘(\w+)’", ur"'\1'", "apo"),
(ur"(?i)(\b[sltmd])[‘’´`] *([\w[])", ur"\1'\2", "apo"),
(ur"(?i)(\b[sltmd])[‘’´`](('''?)[\w]+\3)", ur"\1{{'}}\2", "apo"),
(ur"(?i)(\b[sltmd]) *' *([\w[])", ur"\1'\2", "apo"),
(ur"(\w)[’´`]((?:[sltm]|ns)\b)", ur"\1'\2", "apo"),
(ur"ç([ei])", ur"c\1", "ctr"),
#(ur"('''?) (\w+(?: \w+)?) (\1)", ur"\1\2\3", "pnt"), dóna falsos positius ex.: ''[[a]]'' o el ''[[b]]''
(ur"\baprop\b", "a prop", "prp"),
(ur"\bapart\b", "a part", "prp"),
(ur"([Hh]an? \w+)a't", ur"\1at", "grm"),
(ur"(\b)es (cedi|cita|substitu[iï]|succe[iï])(t|da)", ur"\1és \2\3", "acc"), #molts deportistes, reixos i càrrecs...
(ur"(\b)Es (cedi|cita|substitu[iï]|succe[iï])(t|da)", ur"\1És \2\3", "acc"), #...diversos tenen la passiva sense accent.
(ur"(\b)es (c[eièéí]|s[aeiouàèéíòóú])", ur"\1se \2", "prn"),
(ur"Es ([cs][ei])", ur"Se \1", "prn"),
(
ur"\bEs (una|el|la|a|encara|damunt|de|m[eé]s|molt|per|que|segons|sobre)\b",
ur"És \1", "acc"
),
#(r"(\s[ad])\.?C\.?(\.[\n\r]+|[\b\s])", r"\1C\2", "abr"), #aC i dC
(ur"(\b[ÉEée]s) mes\b", ur"\1 més", "acc"),
(ur"\b([Ll]'|[Uu]n )us\b", ur"\1ús", "acc"),
(ur"\b(A|a)dem[eé]s\b", ur"\1 més", "brb"),
(ur"\b(A|a)ix[oó]\b", ur"\1ixò", "acc"),
(ur"\b(A|a)l darrera", ur"\1l darrere", "prp"),
(ur"\b(A|a)lem[aà]\b", ur"\1lemany", "brb"),
(ur"\b(A|a)lem[àa]ni?a\b", ur"\1lemanya", "brb"),
(ur"\b(A|a)ll[oó]\b", ur"\1llò", "acc"),
(ur"(A|a)mbd[oò]s", ur"\1mbdós", "acc"),
(ur"\b(A|a)ntifàs\b", ur"\1ntifàç", "ort"),
(ur"\b(A|a)ss?[ae]ss?(i|í)(?!nato)", ur"\1ssass\2", "brb"),
(ur"\b(B|b)allen(a|es)", ur"\1alen\2", "brb"),
(ur"\b(B|b)ull(a|es)\b", ur"\1utll\2", "brb"),
(ur"\bcirugi([aà])\b", ur"cirurgi\1", "brb"),
(ur"\bcirugi[aà]ns", ur"cirurgians", "brb"),
(ur"\bcami\b", ur"camí", "acc"),
(ur"\bcapdill", ur"cabdill", "ort"),
(ur"\bcasi b[eéè]\b", ["quasi", ur"gairebé"], "brb"),
(ur"\bcasi\b", ["quasi", ur"gairebé"], "brb"),
(ur"\bcasib[eéè]", ["quasi", ur"gairebé"], "brb"),
#(ur"\bcaudal", "cabal", "brb"), #https://ca.wikipedia.org/?diffonly=1&diff=11833476
(ur"\bcomplexe\b", "complex", "hpc"),
(ur"\b(uns|els)( \w+) complexes", r"\1\2 complexos", "hpc"),
(ur"\bcontexte", "context", "ort"),
(ur"\bcontextes", "contextos", "ort"),
(ur"\bdesde\d", r"des de", "brb"),
(ur"\bde (una?)", r"d'\1", "apo"),
(ur"\b(colisionar|col·lisionar)", ur"col·lidir", "brb"),
(ur"\bcolocar", ur"col·locar", "gem"),
(ur"([Dd])(espr)[èés]s(?: de)? qu[eèé]\b", ur"\1\2és que", "prp"),
(ur"\bm(?:çe|[`´])s\b", ur"més", "tcl"),
(r"[Ss]istema [Ss]olar", "sistema solar", "maj"),
#(
# ur"\bpel ('*[%(v)s]|'*\[\[[^|]+?\|%(v)s[^\]*?\]\]|'*\[\[%(v)s[^|\]]+?\]\])" % {
# "v": ur"[AEIOUaeiouÀÈÉÍÒÓÚàèéíòóú]"
# }, ur"per l'\1", "apo"
#),
#http://www.ub.edu/criteris-cub/criteri.php?id=1018
#(r"\bdegut a que\b", u"atès que", "brb"),
#(r"\b(?<![ée]s )degut a\b", "a causa de", "brb"),
#secció vegeu també
(ur"(=+) ?veure (també) ?(=+)", ur"\1 vegeu \2 \3", "imp"),
(r"va (?:tindre|tenir) que (\w+)", r"va haver <:de:> \1", "brb"),
("reconocible", "recognoscible", "brb"),
# convertir [[Article#secció|text]] en [[#secció|text]]
(ur"\[\[^#]+#([^|]+)\|([^\]]+)\]\]", ur"[[#\1|\2]]", "enl"),
],
'exceptions': exceptions
}
#ortobot.py -fix:manual -family:wikipedia_o -recursive -query:125 -sleep:1 -start:"Amilopectina"
fixes['manual']={
'regex': True,
'msg': {
'ca':u'[[Usuari:TronaBot/Python/user-fixes.py|Bot]]: corregint',
},
'categories': categories,
'replacements': [
(ur"\b(A|a)[cq][uü][aà]ti" , ur"\1quàti", "acc"),
(ur"([^[]\b[Aa])m\b", ur"\1mb", "dsc"),
(ur"\b[AÁ]udio\b" , ur"Àudio", "acc"),
(ur"\b[aá]udio\b" , ur"àudio", "acc"),
(ur"\b[AÁ]rab(s?)\b" , ur"Àrab\1", "acc"),
(ur"\b[aá]rab(s?)\b" , ur"àrab\1", "acc"),
(ur"\b[AÁ]rea\b" , ur"Àrea", "acc"),
(ur"\b[aá]rea\b" , ur"àrea", "acc"),
#(del|pel|al) tamany → $1 mida (corrrecte article en variant en valencià)
(ur"\bdel tamany", "de la mida", "brb"),
(ur"\bdels tamanys", "de les mides", "brb"),
(ur"\bal tamany", "a la mida", "brb"),
(ur"\bals tamanys", "a les mides", "brb"),
(ur"\bpel tamany", "per la mida", "brb"),
(ur"\bpels tamanys", "per les mides", "brb"),
(ur"\bel tamany", "la mida", "brb"),
(ur"\bels tamanys", "les mides", "brb"),
],
'exceptions': exceptions
}