Utente:Italoautoma/Codice

Da Wikiquote, aforismi e citazioni in libertà.

Il fixes.py che sperimento attualmente (alleggerito del codice comune che non interessa a nessuno e può dare problemi di licenze) e alcuni altri comandi.

  • python welcome.py -lang:it -family:wikiquote -edit:0 -break -nlog -limit:150 -random -sul (chi vuole benvenutare aggiunga la propria firma qui)
  • python interwiki.py -lang:en -file:/home/federico/pywikipedia/logs/without_interwiki-en.txt -same -auto -noauto

Abbandonati/in elaborazione:

  • replace.py -lang:it -family:wikiquote -namespace:0 -xml:D:\cito.xml -fix:elisione

    'interprogetto': {
        'regex': True,
        'msg': {
               'it':u'Bot: Trasformo template wikipedia in interprogetto, primo passo',
              },
        'replacements': [
#       (u'\{\{[cC]ommons\|([^\|]+)\}\}', r'{{interprogetto|commons=\1}}'),
#       (u'\{\{[cC]ommons\}\}', r'{{interprogetto|commons}}'),
#       (u'\{\{[wW]ikisource\|([^\|\}]+)\}\}', r'{{interprogetto|s=\1}}'),
#       (u'\{\{[wW]ikisource\}\}', r'{{interprogetto|s}}'),
        (u'\{\{[wW]ikipedia\|([^\|\}]+)\}\}', r'== Altri progetti==\n{{interprogetto|w=\1}}'),
        (u'\{\{[wW]ikipedia\}\}', r'== Altri progetti==\n{{interprogetto|w}}'),
        (u'\{\{[wW]ikifilm\|([^\|\}]+)\}\}', r'== Altri progetti==\n{{interprogetto|w=\1}}'),
        (u'\{\{[wW]ikifilm\}\}', r'== Altri progetti==\n{{interprogetto|w}}'),
        (u'\{\{[wW]ikiargomento\|([^\|\}]+)\|([^\|\}]+)\}\}', r'== Altri progetti==\n{{interprogetto|w=\1|etichetta=\2}}'),
#       (u'\{\{[wW]ikizionario\|([^\|\}]+)\}\}', r'{{interprogetto|s=\1}}'),
#       (u'\{\{[wW]ikizionario\}\}', r'{{interprogetto|s}}'),
        #   ... (le espressioni per gli altri template dovrebbero essere simili,
        #        \1 riferisce il primo gruppo di parentesi)
        ],
    },
      'interprogetto2': {
        'regex': True,
        'msg': {
               'it':u'Bot: Riordino sezione altri progetti',
              },
        'replacements': [
        (u"(?s)(\{\{interprogetto\|[^\}]+\}\})(.*)(== *[Cc]ollegamenti [eE]sterni)",  ur"\2== Altri progetti==\n\1\n\3")
  #  prova   (u"(?s)(.*)(== *[Aa]ltri progetti\{\{interprogetto\|[^\}]+\}\})(.*)(\[\[[Cc]ategoria)",  ur"\1\3\2\4")
    #    (u"(=+ *Altri progetti *=+\n\r)(\{\{interprogetto\|[wdc]}}\n\r)+(.*?)(\[\[[a-z][a-z]:)", "==Altri progetti==\n\r\3\2\4")
        ],
    },
#Inizio mie
#In elaborazione
    'apostrofo': {
#        'regex': True,
        'msg': {
               'it':u'Automa: Correzione spazio apostrofo.'
              },
        'replacements': [
            (u"\\b' \\b",                          ur"'"),
            (u" '\\b",                          ur"'"),
            (u"\\b ' \\b",                          ur"'"),
        ]
    },
    'babel': {
        'regex': True,
        'msg': {
               'it':u'Automa: aggiorno all\'uso dell\'[[mw:Extension:Babel|estensione Babel]], vedi [[Wikiquote:Babel]].'
              },
        'replacements': [
        # Orribilmente stupidi!
            (u"{{[Bb]abel(-[0-9]+)?\|", ur"{{#Babel:"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1|\2|\3|\4|\5|\6|\7|\8|\9|\10}}"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1|\2|\3|\4|\5|\6|\7|\8|\9}}"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1|\2|\3|\4|\5|\6|\7|\8}}"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1|\2|\3|\4|\5|\6|\7}}"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1|\2|\3|\4|\5|\6}}"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1|\2|\3|\4|\5}}"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1|\2|\3|\4}}"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1|\2|\3}}"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}\s*{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1|\2}})"),
            (u"{{[Uu](?:ser|tente) ([a-z]+-?[0-9]*)}}", ur"{{#Babel:\1}}"),
        ],
        'exceptions': {
			'inside-tags': [
				'table',
			],
		},
    },
    'barravert': {
        'regex': True,
        'msg': {
               'it':u'Automa assistito: Sostituisco la barra verticale all\'obliqua.'
              },
        'replacements': [
#          (u"(?m)([\w.,:;]) */ *(\w)",                          ur"\1 | \2"),
#          (u"(?m)([\w.,:;]) / ?(\w)",                          ur"\1 | \2"),
#          (u"(?m)([\w.,:;])/ (\w)",                          ur"\1 | \2"),
          #Per trovare tutto il possibile
          (u"(?m)(.) */ *(.)",                          ur"\1 | \2"),
          #Per ridurre le occorrenze alle barre precedute o seguite da almeno uno spazio
#          (u"(?m)(.)/ *(.)",                          ur"\1 | \2"),
#          (u"(?m)(.) /(.)",                          ur"\1 | \2"),
        ],
        'exceptions': {
			'inside': [
				r'(?s)\{\{.*\}\}',
				r'http\S+',
				r'\[.+\]',
                        ],
                        'inside-tags': [
				'comment',
			]
		}
    },
    'carattericontrollo': {
        'msg': {
               'it':u'Automa: Tolgo caratteri di controllo Unicode (spazi invisibili) dai template.'
              },
        'replacements': [
            (u"&#FEFF;",                          ur""),
            (u"&#200E;",                          ur""),
            (u"&#200B;",                          ur""),
            (u"",                          ur""),
            (u"‎",                          ur""),
            (u"​",                          ur""),
        ]
    },
    'libris': {
        'regex': True,
        'msg': {
               'it':u'Bot: finisco [[Special:PermaLink/1394934#Aggiungiamo_1330_opere_a_Wikisource:Libri|importazione]] completando la sostituzione.'
              },
        'replacements': [
            (u"\{\{Libro salvato/",          ur"\{\{subst:Libro salvato/"),
            (u"=======+",                          ur"======"),
            (u"<page[^/]+/>",                          ur""),
        ]
    },
    'citazionidi': {
        'regex': True,
        'msg': {
               'it':u'Automa: Aggiungo il nome dell\'autore alla sezione "Citazioni di".'
              },
        'replacements': [
            (u"(?s)([^=])== *Citazioni *==",                          ur"\1== Citazioni di {{subst:PAGENAME}} =="),
        ],
            'exceptions': {
                        'text-contains': [
                                r'\[\[[Cc]ategor(y|ia):[Ff]ilm',
                                r'\[\[[Cc]ategor(y|ia):[Oo]pere',
                                r'\[\[[Cc]ategor(y|ia):[Ss]erie',
                                r"(?m)^Citazioni su((l|lo|la|i|gli|le) |ll\')\'\'\')",
                            ]
                }
    },
    'https': {
        'regex': True,
        'msg': {
               'it':u'Bot: [[WMFblog:2011/10/03/native-https-support-enabled-for-all-wikimedia-foundation-wikis/|Protocol-relative URLs]].'
              },
        'replacements': [
            (u"http://([^@:/ ]+\.)wik(ipedia|inews|isource|ibooks|iquote|iversity|tionary|imedia)\.org/",                  ur"//\1wik\2.org/"),
            (u"http://wik(ipedia|inews|isource|ibooks|iquote|iversity|tionary|imedia)\.org/",                  ur"//wik\1.org/"),
            (u"http://www\.mediawiki\.org/",                  ur"//www.mediawiki.org/"),
            (u"http://www\.wikimediafoundation\.org/",         ur"//www.wikimediafoundation.org/"),
            (u"http://mediawiki\.org/",                  ur"//mediawiki.org/"),
            (u"http://wikimediafoundation\.org/",         ur"//wikimediafoundation.org/"),
        ],
        'exceptions': {
			'title': [
				r'MediaWiki:Edittools',
			],
			'inside': [
				#Exceptions (too) copied from Roan Kattouw, https://github.com/catrope/https-everywhere
				r'http://(apt|bayes|bayle|brewster|commonsprototype\.tesla\.usability|commons\.prototype|cs|cz|dataset2|de\.prototype|download|dumps|ekrem|emery|en\.prototype|ersch|etherpad|fenari|flaggedrevssandbox|flgrevsandbox|gallium|ganglia|ganglia3|harmon|hume|ipv4\.labs|ipv6and4\.labs|jobs|mlqt\.tesla\.usability|mobile\.tesla\.usability|m|nagios|noc|observium|oldusability|project2|prototype|results\.labs|search|sitemap|snapshot3|stafford|stats|status|svn|test\.prototype|torrus|ubuntu|wiki-mail|yongle)\.wikimedia\.org',
				r'http://(static|download|m)\.wikipedia\.org',
				r'http://[^@:/]+\.m\.wikipedia\.org',
			],
		}
    },
    'ipcat': {
        'regex': True,
        'msg': {
               'it':u'Automa: Aggiungo Interprogetto verso Wikipedia.'
              },
        'replacements': [
            (u"(?s)(\[\[[Cc]ategor(ia|y):.*)\Z",                          ur"==Altri progetti==\n{{interprogetto|w_oggetto=una categoria|w_preposizione=omonima:|w}}\n\n\1"),
            ],
            'exceptions': {
                        'text-contains': [
                                r'\{\{[Ii]nterprogetto',
                                r'\{\{[Ii]p',
                            ]
                }
    },
    'notap': {
        'regex': True,
        'msg': {
               'it':u'Automa: Aggiungo NotaPersone.'
              },
        'replacements': [
            (u"(?s)(\[\[[Cc]ategor(ia|y):.*)\Z",                          ur"{{NotaPersone}}\n\n\1"),
            ],
            'exceptions': {
                        'text-contains': [
                                r'\{\{NotaPersone',
                            ]
                }
    },
    'oscar': {
       'regex': True,
        'msg': {
               'it':u'Automa: Correggo il maiuscolo di Premio Oscar.'
              },
        'replacements': [
            (u":Categoria:Film[_ ]Premi[_ ]Oscar", ur":Categoria:Film premi Oscar"),	
#            (u"[[:Categoria:Film_Premi_Oscar", ur"[[:Categoria:Film premi Oscar"),		
            (u"^(\*.+:Categoria:Film premi Oscar|)Premi Oscar",                          ur"\1premi Oscar"),
            (u"\*(.+) \'\'\'\[\[:Categoria:Film premi Oscar\|Prem(io|i) Oscar",                          ur"*\1 '''[[:Categoria:Film premi Oscar|prem\2 Oscar"),
			(u"\*(.+) Premi Oscar",                          ur"*\1 premi Oscar"),
            ],
    },
    'senzaf': {
        'regex': True,
        'msg': {
               'it':u'Nuovo avviso per la sezione "senza fonte".'
              },
        'replacements': [
  #          (u"=+ ?Senza fonte ?(=+)\r\n\{\{da controllare\|.+\}\}", ur"\1Senza fonte\1\n{{senza fonte}}"),
#             (u"(=+) ?Senza fonte ?(=+)\n\{\{da controllare\|.+\}\}", ur"\1Senza fonte\1\n{{senza fonte}}"),
             (u"(=+) ?([Cc]itazioni)? ?[Pp]rive di font[ei] ?(=+)\n\{\{da controllare\|.+\}\}", ur"\1Senza fonte\1\n{{senza fonte}}"),
        ]
    },
    'spaziocat': {
        'regex': True,
        'msg': {
               'it':u'Rimuovo lo spazio dall\'argomento delle categorie.'
              },
        'replacements': [
            (u"\[\[[Cc]ategoria:(.*)\| (.*)\]\]", u"[[Categoria:\1|\3]]"), #Lasciamo stare
        ]
    },
    'tro': {
        'regex': True,
        'msg': {
               'it':u'Correzione assistita Trotsky.'
              },
        'replacements': [
            (u"Trockij", u"Trotsky"),
            (u"Trozkij", u"Trotsky"),
            (u"Trotskij", u"Trotsky"),
            (u"Trotzki", u"Trotsky"),
            (u"Trotzky", u"Trotsky"),
            (u"Trotski", u"Trotsky"),
            (u"([Tt])rockij?smo", u"\1rotskismo"),
        ]
    },
#Semiautomatiche in uso regolare
    'accento_apostrofo': {
        'regex': True,
        'msg': {
               'it':u'Automa assistito: sostituzione semiautomatica apostrofo con accento.'
              },
#        'exceptions': [' de\'',' po\'',' co\'',' fa\'',' va\'',' sta\'',' di\'',' da\''],         #,' ne\''
        'replacements': [
#            (u"(?m)([a-z])a'([ .,:;\n\r$])",                  ur"\1à\2"),
#            (u"(?m)([ a-z])e'([ .,:;\n\r$])",                 ur"\1è\2"),
#            (u"(?m)([a-z])i'([ .,:;\n\r$])",                  ur"\1ì\2"),
#            (u"(?m)([a-z])o'([ .,:;\n\r$])",                  ur"\1ò\2"),
#            (u"(?m)([a-z])u'([ .,:;\n\r$])",                  ur"\1ù\2"),
#Selezione dei casi principali (circa 4/5 delle correzioni effettive) per ridurre gli errori: ma bisogna comunque fare in semiautomatico. (Saltate fra l'altro: Foscolo, De sanctis, Machiavelli, Boccaccio, proverbi, modi di dire, Dino Compagni)
            (u"(?m)cio'([ .,:;\n\r$])",                       ur"ciò\1"),
            (u"(?m)ne'([ .,:;\n\r$])",                        ur"né\1"),
            (u"(?m)se'([ .,:;\n\r$])",                        ur"sé\1"),
            (u"(?m)perche'([ .,:;\n\r$])",                    ur"perché\1"),
            (u"(?m)piu'([ .,:;\n\r$])",                       ur"più\1"),
            (u"(?m) cosi'([ .,:;\n\r$])",                     ur" così\1"),
        ]
    },
    'elisione': {
        'regex': True,
        'msg': {
               'it':u'Automa assistito: correzione semiautomatica degli errori di elisione con "un" e composti.'
              },
        'replacements': [
            (u"(?m)([Uu])n'([aeiou][a-z]+o)([ .,:;\n\r$])",                  ur"\1n \2\3"),
            (u"(?m)([Uu])n ([aeiou][a-z]+a)([ .,:;\n\r$])",                  ur"\1n'\2\3"),
        ],
        'exceptions': {
			'inside': [
				r'[Uu]n [aeiou][a-z]+ta',
                        ],
		}
    },
    'errori_comuni_manuale': {
        'regex': True,
        'msg': {
               'it':u'Automa assistito: correzione semiautomatica di alcuni errori comuni.'
              },
        'replacements': [
            (u"(?m)([ .,:;\n\r^][Aa])reazione([ .,:;\n\r$])",                  ur"\1erazione\2"),
            (u"(?m)([ .,:;\n\r^][Cc])osidetto([ .,:;\n\r$])",                  ur"\1osiddetto\2"),
            (u"(?m)([ .,:;\n\r^][Ss])opratutto([ .,:;\n\r$])",                 ur"\1oprattutto\2"),
            (u"(?m)([ .,:;\n\r^][Ll])e fila([ .,:;\n\r$])",                    ur"\1e file\2"),
#           (u"(?m)([ .,:;\n\r^][Ff])ila([ .,:;\n\r$])",                       ur"\1ile\2"), Troppi
            (u"(?m)([ .,:;\n\r^][Dd])i se([ .,:;\n\r$])",                      ur"\1i sé\2"),
            (u"(?m)([ .,:;\n\r^][Aa]) se([ .,:;\n\r$])",                       ur"\1\2"),
            (u"(?m)([ .,:;\n\r^][Dd])a se([ .,:;\n\r$])",                      ur"\1a sé\2"),
            (u"(?m)([ .,:;\n\r^][Ii])n se([ .,:;\n\r$])",                      ur"\1n sé\2"),
            (u"(?m)([ .,:;\n\r^][Cc])on se([ .,:;\n\r$])",                     ur"\1on sé\2"),
            (u"(?m)([ .,:;\n\r^][Ss])u se([ .,:;\n\r$])",                      ur"\1u sé\2"),
            (u"(?m)([ .,:;\n\r^][Pp])er se([ .,:;\n\r$])",                     ur"\1er sé\2"),
            (u"(?m)([ .,:;\n\r^][Tt])ra se([ .,:;\n\r$])",                     ur"\1ra sé\2"),
            (u"(?m)([ .,:;\n\r^][Ff])ra se([ .,:;\n\r$])",                     ur"\1ra sé\2"),
            (u"(?m)([ .,:;\n\r^][Ff])à([ .,:;\n\r$])",                         ur"\1a\2"),
            (u"(?m)([ .,:;\n\r^][Pp])ò([ .,:;\n\r$])",                         ur"\1o'\2"),
            (u"(?m)([ .,:;\n\r^][Dd])ì([ .,:;\n\r$])",                         ur"\1i'\2"),
            (u"(?m)([ .,:;\n\r^][Pp])rop(i[oae]?)([ .,:;\n\r$])",              ur"\1ropr\2\3"),
#           (u"(?m)([ .,:;\n\r^][a-z]+)gnate([ .,:;\n\r$])",                   ur"\1gniate\2"), troppe poche occorrenze
#           Espressioni regolari di Filnik
#           (u"(?m)([^D])E'([ .,:;\n\r$])",                                    ur"\1È\2"),
#           (u"(?m)([^D])e'([^sS'( S)])",                                      ur"\1è\2"),
            (u"(?m)\\b([Cc])io'([ .,:;\n\r$])",                                   ur"\1\2"),
            (u"(?m)\\b([Nn])e'([ .,:;\n\r$])",                                    ur"\1é\2"),
            (u"(?m)\\b([Ss])e'([ .,:;\n\r$])",                                    ur"\1é\2"),
            (u"(?m)\\b([Pp])erche'([ .,:;\n\r$])",                                ur"\1erché\2"),
            (u"(?m)([ '])e'([ .,:;\n\r$])",                                    ur"\1è\2"),
            (u"(?m)\\b([Pp])iu'([ .,:;\n\r$])",                                   ur"\1\2"),
            (u"(?m) cosi'([ .,:;\n\r$])",                                      ur" così\1"),
            (u"(?m)([0-9]) Gennaio",                                           ur"\1 gennaio"),
            (u"(?m)([0-9]) Febbraio",                                          ur"\1 febbraio"),
            (u"(?m)([0-9]) Marzo",                                             ur"\1 marzo"),
            (u"(?m)([0-9]) Aprile",                                            ur"\1 aprile"),
            (u"(?m)([0-9]) Maggio",                                            ur"\1 maggio"),
            (u"(?m)([0-9]) Giugno",                                            ur"\1 giugno"),
            (u"(?m)([0-9]) Luglio",                                            ur"\1 luglio"),
            (u"(?m)([0-9]) Agosto",                                            ur"\1 agosto"),
            (u"(?m)([0-9]) Settembre",                                         ur"\1 settembre"),
            (u"(?m)([0-9]) Ottobre",                                           ur"\1 ottobre"),
            (u"(?m)([0-9]) Novembre",                                          ur"\1 novembre"),
            (u"(?m)([0-9]) Dicembre",                                          ur"\1 dicembre"),
#            (u"''L'Unità''",                                                   ur"''l'Unità''"),
#            (u"''La [Rr]epubblica''",                                          ur"''la Repubblica''"),
#            (u"''Corriere della Sera''",                                       ur"''Corriere della sera''"),
#            (u"''L'Espresso''",                                                ur"''L'espresso''"),
            (u", citat[ao]",                                                   ur"; citato"),
            (u"citat[ao] in ?:",                                                   ur"citato in"),
            (u"\!\!",                                                            ur"!"),
        ],
        'exceptions': {
			'text-contains': [
				r'Francesco Salvi',
			],
			'inside': [
				r'.....se stess[oaie]',
				r'.....se medesim[oaie]',
				ur'([Uu]n|[Ii]|[Ii]l|[Ee]l) dì',
			],
		}
    },
    'immagini': {
        'regex': True,
        'msg': {
               'it':u'Automa assistito: Porto a dimensione normale delle immagini per accessibilità e uniformità.'
              },
        'replacements': [
            (u"\|[0-9]+px",                      ur""),
        ],
        'exceptions': {
			'inside-tags': [
                               'template',
                               ],
		}
    },
    'maiuscolo': {
        'regex': True,
        'msg': {
               'it':u'Automa assistito: maiuscolo all\'inizio delle citazioni.'
              },
        'replacements': [
            (u"(?m)^\* ?([a-zèéòàù])",                  ur"*{{subst:uc:\1}}"),
        ],
        'exceptions': {
			'text-contains': [
				r'X-Files',
				r'Alfredo Panzini',
				r'Prede o ragni',
				r'Tutto quello che avreste voluto sapere sul sesso',
			],
			'inside': [
				r'(?s)\{[^\}]+\}',
				r'\*http',
			],
		}
    },
    #Versione di prova temeraria manuale iniziale: inapplicabile
    #Evoluzione per tutta la punteggiatura colle nuove eccezioni
    #Versione residuale con parti da eseguire assistite
    'punteggiatura_ex': {
        'regex': True,
        'msg': {
               'it':u'Automa assistito: Correzione semiautomatica punteggiatura e spazi.'
              },
        'replacements': [
#            (u"(\w) ?([.,:;!?]|\.\.\.|…)(\w)",                      ur"\1\2 \3"), #errore di python da verificare
            (u"(\w) ?([.,:;!?])(\w)",                      ur"\1\2 \3"),
            #non prende i puntini con spazio sia prima sia dopo
        ],
        'exceptions': {
			'inside-tags': [
				'hyperlink',
                                'link',
#                               'template',
#				'comment',
#				'nowiki',
#                               'startspace',
#				'pre',
#                               'source',
#				'math',
#				'table',    #per qualche motivo pare che anche solo col template non serva, comunque sotto ce n'è una piú generica
#                               'gallery',
#                               'timeline',
			],
			'inside': [
				r'n\.[°º]',
#				r'[0-9XVI][,.:][0-9abc]', #esclusione sporca per il punto separatore delle migliaia e per sottoparagrafi ecc.; due punti per le ore; virgola per i decimali
				r' \.[0-9]+', #calibri
				r'[0-9]\.(?=[0-9]{3})', #migliaia
				r'.\.(it|info|com|org|net|rai|co|uk|gov|eu|ch|edu|va|ca)', #domini piú comuni
				r'www\..',
#				r'\[[^\]]+\]', #Per esagerare colle precauzioni ed evitare errori come in Italo_Calvino#Collegamenti_esterni
#                               r'\[http[^ ]+([,:;!?]|\.\.\.|…)[^ ]+ .+\]', #Se si volesse salvare solo l'indirizzo e non il titolo
				r'(?s)<[^>]+>', #per non modificare div e marcatori HTML vari; correggere alcuni commenti non è sbagliato ma nemmeno molto utile; non sembra perdersi nessuna buona correzione
				r'(?s)\{[^\}]+\}', #Inutile, non produce errori in nessuna voce in Wikiquote; utile per togliere l'exceptinside template
				r'&[^;]+;',
#				r'a\.C\.',
				r'[a-zA-Z]\.([a-zA-Z]\.)+', #dovrebbe escludere tutte le sigle
				r'A[Aa]\.[Vv][Vv]\.', #non quelle con piú lettere per elemento; anche se AA.VV. è sconsigliato...
				r"\b[A-Za-z][a-z]*\.([a-z]){1,3}\b", #dovrebbe escludere le abbreviazioni senza troppi falsi positivi (non esclude se consecutive perché si mangia lo spazio)
#				r'[Ss]ign?\.(r|ra|na)',
#				r'[Dd](ott)?\.ssa',
#				r'[Mm]\.ro',
#				r'[Ff]\.lli',
#				r'[Ii]ll\.m[oaie]',
#				r'[Cc]ol\.m[oaie]',
#				r'M\.me',
#				r'P\.za',
             ],
		}
    },
#Automatiche
    'errori_comuni': {
        'regex': True,
        'msg': {
               'it':u'Automa: sistemo automaticamente alcuni degli [[w:Wikipedia:Bot/Richieste/Errori_comuni|errori comuni]]...'
              },
        'replacements': [
            (u"(?m)([ .,:;\n\r^][Ss])cenza([ .,:;\n\r$])",                     ur"\1cienza\2"),
            (u"(?m)([ .,:;\n\r^][Ss])cenze([ .,:;\n\r$])",                     ur"\1cienze\2"),
            (u"(?m)([ .,:;\n\r^][Cc])oscenza([ .,:;\n\r$])",                   ur"\1oscienza\2"),
            (u"(?m)([ .,:;\n\r^][Cc])oscente([ .,:;\n\r$])",                   ur"\1osciente\2"),
            (u"(?m)([ .,:;\n\r^][Cc])oscenti([ .,:;\n\r$])",                   ur"\1oscienti\2"),
            (u"(?m)([ .,:;\n\r^][Ii])ncoscenza([ .,:;\n\r$])",                 ur"\1ncoscienza\2"),
            (u"(?m)([ .,:;\n\r^][Ii])ncoscente([ .,:;\n\r$])",                 ur"\1ncosciente\2"),
            (u"(?m)([ .,:;\n\r^][Ii])ncoscenti([ .,:;\n\r$])",                 ur"\1ncoscienti\2"),
            (u"(?m)([ .,:;\n\r^][Oo])nniscente([ .,:;\n\r$])",                 ur"\1nnisciente\2"),
            (u"(?m)([ .,:;\n\r^][Oo])nniscenti([ .,:;\n\r$])",                 ur"\1nniscienti\2"),
            (u"(?m)([ .,:;\n\r^][Cc])onoscienza([ .,:;\n\r$])",                ur"\1onoscenza\2"),
            (u"(?m)([ .,:;\n\r^][Cc])onosciente([ .,:;\n\r$])",                ur"\1onoscente\2"),
            (u"(?m)([ .,:;\n\r^][Cc])onoscienti([ .,:;\n\r$])",                ur"\1onoscenti\2"),
            (u"(?m)([ .,:;\n\r^][Rr])iconoscienza([ .,:;\n\r$])",              ur"\1iconoscenza\2"),
            (u"(?m)([ .,:;\n\r^][Rr])iconosciente([ .,:;\n\r$])",              ur"\1iconoscente\2"),
            (u"(?m)([ .,:;\n\r^][Rr])iconoscienti([ .,:;\n\r$])",              ur"\1iconoscenti\2"),
            (u"(?m)([ .,:;\n\r^][Ss])ufficenza([ .,:;\n\r$])",                 ur"\1ufficienza\2"),
            (u"(?m)([ .,:;\n\r^][Ii])nsufficenza([ .,:;\n\r$])",               ur"\1nsufficienza\2"),
            (u"(?m)([ .,:;\n\r^][Dd])eficenza([ .,:;\n\r$])",                  ur"\1eficienza\2"),
            (u"(?m)([ .,:;\n\r^][Ss])ufficente([ .,:;\n\r$])",                 ur"\1ufficiente\2"),
            (u"(?m)([ .,:;\n\r^][Ss])ufficenti([ .,:;\n\r$])",                 ur"\1ufficienti\2"),
            (u"(?m)([ .,:;\n\r^][Ii])nsufficente([ .,:;\n\r$])",               ur"\1nsufficiente\2"),
            (u"(?m)([ .,:;\n\r^][Ii])nsufficenti([ .,:;\n\r$])",               ur"\1nsufficienti\2"),
            (u"(?m)([ .,:;\n\r^][Dd])eficente([ .,:;\n\r$])",                  ur"\1eficiente\2"),
            (u"(?m)([ .,:;\n\r^][Dd])eficenti([ .,:;\n\r$])",                  ur"\1efficienti\2"),
            (u"(?m)([ .,:;\n\r^][Cc])oefficente([ .,:;\n\r$])",                ur"\1oefficiente\2"),
            (u"(?m)([ .,:;\n\r^][Cc])oefficenti([ .,:;\n\r$])",                ur"\1oefficienti\2"),
            (u"(?m)([ .,:;\n\r^][Pp])rospicente([ .,:;\n\r$])",                ur"\1rospiciente\2"),
            (u"(?m)([ .,:;\n\r^][Pp])rospicenti([ .,:;\n\r$])",                ur"\1rospicienti\2"),
            (u"(?m)([ .,:;\n\r^][Pp])ropietà([ .,:;\n\r$])",                   ur"\1roprietà\2"),
            (u"(?m)([ .,:;\n\r^][Pp])ropietari([ .,:;\n\r$])",                 ur"\1roprietari\2"),
            (u"(?m)([ .,:;\n\r^][Pp])ropietaria([ .,:;\n\r$])",                ur"\1roprietaria\2"),
            (u"(?m)([ .,:;\n\r^][Pp])ropietarie([ .,:;\n\r$])",                ur"\1roprietarie\2"),
            (u"(?m)([ .,:;\n\r^][Pp])ropietario([ .,:;\n\r$])",                ur"\1roprietario\2"),
            (u"(?m)([ .,:;\n\r^][Cc])ompropietari([ .,:;\n\r$])",              ur"\1omproprietari\2"),
            (u"(?m)([ .,:;\n\r^][Cc])ompropietaria([ .,:;\n\r$])",             ur"\1omproprietaria\2"),
            (u"(?m)([ .,:;\n\r^][Cc])ompropietarie([ .,:;\n\r$])",             ur"\1omproprietarie\2"),
            (u"(?m)([ .,:;\n\r^][Cc])ompropietario([ .,:;\n\r$])",             ur"\1omproprietario\2"),
            (u"(?m)([ .,:;\n\r^][Aa])ppropiato([ .,:;\n\r$])",                 ur"\1ppropriato\2"),
            (u"(?m)([ .,:;\n\r^][Aa])ppropiati([ .,:;\n\r$])",                 ur"\1ppropriati\2"),
            (u"(?m)([ .,:;\n\r^][Aa])ppropiata([ .,:;\n\r$])",                 ur"\1ppropriata\2"),
            (u"(?m)([ .,:;\n\r^][Aa])ppropiate([ .,:;\n\r$])",                 ur"\1ppropriate\2"),
            (u"(?m)([ .,:;\n\r^][Aa])ereoporto([ .,:;\n\r$])",                 ur"\1eroporto\2"),
            (u"(?m)([ .,:;\n\r^][Aa])ereoporti([ .,:;\n\r$])",                 ur"\1eroporti\2"),
            (u"(?m)([ .,:;\n\r^][Aa])reoporto([ .,:;\n\r$])",                  ur"\1eroporto\2"),
            (u"(?m)([ .,:;\n\r^][Aa])reoporti([ .,:;\n\r$])",                  ur"\1eroporti\2"),
            (u"(?m)([ .,:;\n\r^][Aa])reazione([ .,:;\n\r$])",                  ur"\1erazione\2"),
            (u"(?m)([ .,:;\n\r^][Aa])reare([ .,:;\n\r$])",                     ur"\1erare\2"),
            (u"(?m)([ .,:;\n\r^][Aa])reat([a-z])([ .,:;\n\r$])",               ur"\1erat\2\3"),
            (u"(?m)([ .,:;\n\r^][Mm])etereologia([ .,:;\n\r$])",               ur"\1eteorologia\2"),
            (u"(?m)([ .,:;\n\r^][Mm])etereologico([ .,:;\n\r$])",              ur"\1eteorologico\2"),
            (u"(?m)([ .,:;\n\r^][Cc])orrezzione([ .,:;\n\r$])",                ur"\1orrezione\2"),
            (u"(?m)([ .,:;\n\r^][Ee])ccezzione([ .,:;\n\r$])",                 ur"\1ccezione\2"),
            (u"(?m)([ .,:;\n\r^][Ee])ccezzionale([ .,:;\n\r$])",               ur"\1ccezionale\2"),
            (u"(?m)([ .,:;\n\r^][Ee])ccezzionali([ .,:;\n\r$])",               ur"\1ccezionali\2"),
            (u"(?m)([ .,:;\n\r^][Pp])rofiquo([ .,:;\n\r$])",                   ur"\1roficuo\2"),
#            Problemi cogli scrittori non recenti in quote
#           (u"(?m)([ .,:;\n\r^][Cc])osidetto([ .,:;\n\r$])",                  ur"\1osiddetto\2"),
#           (u"(?m)([ .,:;\n\r^][Ss])opratutto([ .,:;\n\r$])",                 ur"\1oprattutto\2"),
            (u"(?m)([ .,:;\n\r^][Ss])enonch[èé]([ .,:;\n\r$])",                ur"\1ennonché\2"),
            (u"(?m)([ .,:;\n\r^][Oo])vverossia([ .,:;\n\r$])",                 ur"\1vverosia\2"),
            (u"(?m)([ .,:;\n\r^][Aa])ggiottaggio([ .,:;\n\r$])",               ur"\1ggiotaggio\2"),
            (u"(?m)([ .,:;\n\r^][Aa])pprovigionamento([ .,:;\n\r$])",          ur"\1pprovvigionamento\2"),
            (u"(?m)([ .,:;\n\r^][Pp])ocanzi([ .,:;\n\r$])",                    ur"\1oc'anzi\2"),
            (u"(?m)([ .,:;\n\r^][Dd])accordo([ .,:;\n\r$])",                   ur"\1'accordo\2"),
            (u"(?m)([ .,:;\n\r^][Dd])altronde([ .,:;\n\r$])",                  ur"\1'altronde\2"),
            (u"(?m)([ .,:;\n\r^][Ff])in'ora([ .,:;\n\r$])",                    ur"\1inora\2"),
            (u"(?m)([ .,:;\n\r^][Aa])ccellerare([ .,:;\n\r$])",                ur"\1ccelerare\2"),
            (u"(?m)([ .,:;\n\r^][Ss])è([ .,:;\n\r$])",                         ur"\1é\2"),
#           Disabilitati per troppe polemiche
#           (u"(?m)([ .,:;\n\r^][Ss])e stesso([ .,:;\n\r$])",                  ur"\1é stesso\2"),
#           (u"(?m)([ .,:;\n\r^][Ss])e stessa([ .,:;\n\r$])",                  ur"\1é stessa\2"),
#           Aggiunti su consiglio di Nemo_bis
#           (u"(?m)([ .,:;\n\r^][Aa]) se([ .,:;\n\r$])",                       ur"\1 sé\2"),
#           (u"(?m)([ .,:;\n\r^][Pp])er se([ .,:;\n\r$])",                     ur"\1er sé\2"),
#           (u"(?m)([ .,:;\n\r^][Ii])n se([ .,:;\n\r$])",                      ur"\1n sé\2"),
            (u"(?m)([ .,:;\n\r^][Pp])ercui([ .,:;\n\r$])",                     ur"\1er cui\2"),
            (u"(?m)([ .,:;\n\r^][Qq])ual'è([ .,:;\n\r$])",                     ur"\1ual è\2"),
            (u"(?m)([ .,:;\n\r^][Ff])ù([ .,:;\n\r$])",                         ur"\1u\2"),
#            Problemi coi dialetti in quote
#           (u"(?m)([ .,:;\n\r^][Ff])à([ .,:;\n\r$])",                         ur"\1a\2"),
#           (u"(?m)([ .,:;\n\r^][Dd])ò([ .,:;\n\r$])",                         ur"\1o\2"),
#           (u"(?m)([ .,:;\n\r^][Pp])ò([ .,:;\n\r$])",                         ur"\1o'\2"),
#            Dal codice di Alfio
            (u"(?m)([ .,:;\n\r^][Vv])à([ .,:;\n\r$])",                         ur"\1a\2"),
            (u"(?m)([ .,:;\n\r^][Qq])uì([ .,:;\n\r$])",                        ur"\1ui\2"),
            (u"(?m)([ .,:;\n\r^][Qq])uà([ .,:;\n\r$])",                        ur"\1ua\2"),
            (u"(?m)([ .,:;\n\r^][Tt])r[èé]([ .,:;\n\r$])",                     ur"\1re\2"),
            (u"(?m)([ .,:;\n\r^][Pp])uo'([ .,:;\n\r$])",                       ur"\1\2"),
            (u"(?m)([ .,:;\n\r^][Pp])uo([ .,:;\n\r$])",                        ur"\1\2"),
            (u"(?m)([ .,:;\n\r^][Pp])iu'([ .,:;\n\r$])",                       ur"\1\2"),
            (u"(?m)([ .,:;\n\r^][Pp])iu([ .,:;\n\r$])",                        ur"\1\2"),
#            (u"(?m)([ .,:;\n\r^])é([ .,:;\n\r$])",                             ur"\1è\2"), «A Foresta è jovem»
            #Accenti
            (u"(?m)([ .,:;\n\r^])É([ .,:;\n\r$])", ur"\1È\2"),
            (u"(?m)E'([ .,:;\n\r$])",                                          ur\1"),
            #Aggiunte ulteriori
            (u"(?m)([ .,:;\n\r^][Ss])uperfice([ .,:;\n\r$])",                  ur"\1uperficie\2"),
            (u"(?m)([ .,:;\n\r^][Ll])eggittimo([ .,:;\n\r$])",                 ur"\1egittimo\2"),
            (u"(?m)([ .,:;\n\r^][Mm])etereologici([ .,:;\n\r$])",              ur"\1eteorologici\2"),
            (u"(?m)([ .,:;\n\r^][Mm])etereologiche([ .,:;\n\r$])",             ur"\1eteorologiche\2"),
            (u"(?m)([ .,:;\n\r^][Cc])ospiqu([a-z])([ .,:;\n\r$])",             ur"\1ospicu\2\3"),
            (u"(?m)([ .,:;\n\r^][Ii])nnoqu([a-z])([ .,:;\n\r$])",              ur"\1nnocu\2\3"),
            (u"(?m)([ .,:;\n\r^][Ee])vaqu",                                    ur"\1vacu"),
            (u"(?m)([ .,:;\n\r^][Aa])ltretanto([ .,:;\n\r$])",                 ur"\ltrettanto\2"),
            (u"(?m)([ .,:;\n\r^][Tt])errittorio([ .,:;\n\r$])",                ur"\1erritorio\2"),
            (u"(?m)([ .,:;\n\r^][Pp])aralello([ .,:;\n\r$])",                  ur"\1arallelo\2"),
            (u"(?m)([ .,:;\n\r^][Ii])gene([ .,:;\n\r$])",                      ur"\1giene\2"),
            (u"(?m)([ .,:;\n\r^][Ii])genic([oai][ .,:;\n\r$])",                ur"\1gienic\2"),
            (u"(?m)([ .,:;\n\r^][Ii])geniche([ .,:;\n\r$])",                   ur"\1gienic\2"),
            (u"(?m)([ .,:;\n\r^][Bb])lù([ .,:;\n\r$])",                        ur"\1lu\2"),
#            Problemi coi testi inglesi in quote
#           (u"(?m)([ .,:;\n\r^][Tt])ea([ .,:;\n\r$])",                        ur"\1è\2"),
#           (u"(?m)([ .,:;\n\r^][Tt])he([ .,:;\n\r$])",                        ur"\1è\2"),
#           (u"(?m)([ .,:;\n\r^][Tt])hé([ .,:;\n\r$])",                        ur"\1è\2"),
#           (u"(?m)([ .,:;\n\r^][Tt])ee([ .,:;\n\r$])",                        ur"\1è\2"),
            (u"(?m)([ .,:;\n\r^][a-z]+)gnamo([ .,:;\n\r$])",                   ur"\1gniamo\2"),
            (u"(?m)([ .,:;\n\r^][Pp])roveniendo([ .,:;\n\r$])",                ur"\1rovenendo\2"),
            (u"(?m)([ .,:;\n\r^][Ll])eggittimo([ .,:;\n\r$])",                 ur"\1egittimo\2"),
            (u"(?m)([a-zA-Z])ntatre([ .,:;\n\r$])",                            ur"\1ntatré\2"),
            (u"(?m)([a-zA-Z])ntitre([ .,:;\n\r$])",                            ur"\1ntitré\2"),
            (u"(?m)([a-zA-Z])ntatrè([ .,:;\n\r$])",                            ur"\1ntatré\2"),
            (u"(?m)([a-zA-Z])ntitrè([ .,:;\n\r$])",                            ur"\1ntitré\2"),
            (u"(?m)([Uu])n'altro([ .,:;\n\r$])",                               ur"\1n altro\2"),
            (u"(?m)([Uu])n altra([ .,:;\n\r$])",                               ur"\1n'altra\2"),
#            (u"(?m)([ .,:;\n\r^][Ss])i([.,:;\n\r$])",                          ur"\1ì\2"),
            #Se non è seguito dal verbo è un errore, a meno che per  fini retorici ci sia un'interruzione, in genere puntini di sospensione: su 100 modifiche in manuale, è successo in "Fantozzi in paradiso" e "Trevanian"; escludere come al solito i dialetti dei proverbi
            #Disabilitato per via dei dialetti in pagine imprevedibili https://it.wikiquote.org/?diff=475668
            (u"(?m)([Aa])vvallo([ .,:;\n\r$])",                                ur"\1vallo\2"),
            (u"(?m)([Ii])ngeniere([ .,:;\n\r$])",                              ur"\1ngegnere\2"),
            (u"(?m)([Ii])ngeniere([ .,:;\n\r$])",                              ur"\1ngegnere\2"),
#            (u"(?m)([Ss])usp[ea]nce([ .,:;\n\r$])",                              ur"\1spense\2"),
            # Per controllare che non ci siano immagini di dimensione incontrollata:
            # grep -E "\[\[([Ff]ile|[Ii]mmagine|[Ii]mage):" cito.xml | grep -Ev "[0-9]+ *px" | grep -Evi "\|(thumb|miniatura)"
#            (u"\|200px",                   		 u"")
            #(u"\[\[(?:[Ff]ile|[Ii]mmagine|[Ii]mage):([^|]+)\|(.*thumb.*|.*miniatura.*)\|[0-9]{3} *px(.+)\]\]",	ur"[[Immagine:\1|\2\3]]"),
            #(u"\[\[(?:[Ff]ile|[Ii]mmagine|[Ii]mage):([^|]+)\|[0-9]{3} *px\|(.*thumb|.*miniatura)(.+)\]\]",	ur"[[Immagine:\1|\2\3]]"),
        ],
        'exceptions': {
			'text-contains': [
				r'[Cc]ategoria:[Pp]roverbi',
				r'Machiavelli',
				r'speriamo che me la cavo',
				r'Fantozzi in paradiso',
				r'Trevanian',
			],
#			'inside-tags': [
#                                'link', #Tolto perché escludeva troppe voci annullando (sembra) solo sostituzioni corrette
#			],
		}
    },
    # Standard replacements and commons errors on it.wikiquote.
    # See http://it.wikipedia.org/wiki/Wikipedia:Bot/Sostituzioni and http://it.wikipedia.org/wiki/Wikipedia:Bot/Richieste/Errori_comuni
    # python replace.py -lang:it -fix:it-standardrep
    'sostituzioni': {
        'regex': True,
        'msg': {
               'it':u'Automa: Sostituzioni normali automatiche di errori "tipografici".'
              },
        'replacements': [            # Titoli sezioni
            (u'==( )?(([Ll]ink(s)?( a [Ss]iti)?|[Ss]iti) [Ee]sterni|[Cc]ollegamenti Esterni|[Ee]xternal [Ll]ink(s)?)( )?==', u'== Collegamenti esterni =='),
            (u'==( )?([Aa]rticoli [Cc]o(rrel|lleg)ati|[Vv]edi [Aa]nche|([Cc]ollegamenti|[Ll]ink(s)?) [Ii]nterni|[Vv]oci [Cc]ollegate|[Vv]oci Correlate)( )?==', u'== Voci correlate =='),
            (u"== ?Incipit",                     u"==[[Incipit]]"),
            (u"== ?Explicit",                    u"==[[Explicit]]"),
            (u"== ?Proverbi italiani ?==",       u"==[[Proverbi italiani]]=="),
            # Mesi maiuscoli
            (u'\[\[(\d(\d)?) Gennaio( )?\]\]',   ur'[[\1 gennaio]]'),
            (u'\[\[(\d(\d)?) Febbraio( )?\]\]',  ur'[[\1 febbraio]]'),
            (u'\[\[(\d(\d)?) Marzo( )?\]\]',     ur'[[\1 marzo]]'),
            (u'\[\[(\d(\d)?) Aprile( )?\]\]',    ur'[[\1 aprile]]'),
            (u'\[\[(\d(\d)?) Maggio( )?\]\]',    ur'[[\1 maggio]]'),
            (u'\[\[(\d(\d)?) Giugno( )?\]\]',    ur'[[\1 giugno]]'),
            (u'\[\[(\d(\d)?) Luglio( )?\]\]',    ur'[[\1 luglio]]'),
            (u'\[\[(\d(\d)?) Agosto( )?\]\]',    ur'[[\1 agosto]]'),
            (u'\[\[(\d(\d)?) Settembre( )?\]\]', ur'[[\1 settembre]]'),
            (u'\[\[(\d(\d)?) Ottobre( )?\]\]',   ur'[[\1 ottobre]]'),
            (u'\[\[(\d(\d)?) Novembre( )?\]\]',  ur'[[\1 novembre]]'),
            (u'\[\[(\d(\d)?) Dicembre( )?\]\]',  ur'[[\1 dicembre]]'),
            # Typo, triple
            (u'([Cc])olllegament',               ur'\1ollegament'),
            (u'([Cc])orrrelat',                  ur'\1orrelat'),
            (u"[‘’`´]",                   u"'"),
            (u"[˝˝“”“”„]",                       u"\""),
            (u"\[\[[Ii]mage:",                   u"[[Immagine:"),
            (u"\(\.\.\.\)",                      u"[...]"),
            (u"n°",                              u"n.°"),
            (u"(\[\[film\]\]|film) (\[\[USA\]\]|USA|\[\[Usa\]\]|Usa)",	ur"film statunitense"),
            (u"== *\[\[:[Cc]ategoria:[Oo]pere[^|]*\|Opere\]\] *==",	u"== Opere =="),
            (u"== *\[\[((:[Cc]ategoria:)?[Ff]ilm[^|]*\|)?Film\]\] *==",	u"== Film =="),
            (u"(==+ *)\[\[[Cc]itazioni\]\]([^=]* *==+)",	ur"\1Citazioni\2"),
#            (u"\(( ?\? ?\))",                      u"(–)"), #anche casi legittimi, [[Ennio Flaiano]]
#            (u"  ", u" "),  Troppi
            (u"(?m)([ .,:;\n\r^][Tt])raduzione a cura di ",	ur"\1raduzione di "),
            #Maiuscolo inizio dialoghi
            (u"(?m)(''': a)",                  ur"''': A"),
            (u"(?m)(''': b)",                  ur"''': B"),
            (u"(?m)(''': c)",                  ur"''': C"),
            (u"(?m)(''': d)",                  ur"''': D"),
            (u"(?m)(''': e)",                  ur"''': E"),
            (u"(?m)(''': f)",                  ur"''': F"),
            (u"(?m)(''': g)",                  ur"''': G"),
            (u"(?m)(''': h)",                  ur"''': H"),
            (u"(?m)(''': i)",                  ur"''': I"),
            (u"(?m)(''': j)",                  ur"''': J"),
            (u"(?m)(''': k)",                  ur"''': K"),
            (u"(?m)(''': l)",                  ur"''': L"),
            (u"(?m)(''': m)",                  ur"''': M"),
            (u"(?m)(''': n)",                  ur"''': N"),
            (u"(?m)(''': o)",                  ur"''': O"),
            (u"(?m)(''': p)",                  ur"''': P"),
            (u"(?m)(''': q)",                  ur"''': Q"),
            (u"(?m)(''': r)",                  ur"''': R"),
            (u"(?m)(''': s)",                  ur"''': S"),
            (u"(?m)(''': t)",                  ur"''': T"),
            (u"(?m)(''': u)",                  ur"''': U"),
            (u"(?m)(''': v)",                  ur"''': V"),
            (u"(?m)(''': w)",                  ur"''': W"),
            (u"(?m)(''': x)",                  ur"''': X"),
            (u"(?m)(''': y)",                  ur"''': Y"),
            (u"(?m)(''': z)",                  ur"''': Z"),
            (u"(?m)(:''' a)",                  ur"''': A"),
            (u"(?m)(:''' b)",                  ur"''': B"),
            (u"(?m)(:''' c)",                  ur"''': C"),
            (u"(?m)(:''' d)",                  ur"''': D"),
            (u"(?m)(:''' e)",                  ur"''': E"),
            (u"(?m)(:''' f)",                  ur"''': F"),
            (u"(?m)(:''' g)",                  ur"''': G"),
            (u"(?m)(:''' h)",                  ur"''': H"),
            (u"(?m)(:''' i)",                  ur"''': I"),
            (u"(?m)(:''' j)",                  ur"''': J"),
            (u"(?m)(:''' k)",                  ur"''': K"),
            (u"(?m)(:''' l)",                  ur"''': L"),
            (u"(?m)(:''' m)",                  ur"''': M"),
            (u"(?m)(:''' n)",                  ur"''': N"),
            (u"(?m)(:''' o)",                  ur"''': O"),
            (u"(?m)(:''' p)",                  ur"''': P"),
            (u"(?m)(:''' q)",                  ur"''': Q"),
            (u"(?m)(:''' r)",                  ur"''': R"),
            (u"(?m)(:''' s)",                  ur"''': S"),
            (u"(?m)(:''' t)",                  ur"''': T"),
            (u"(?m)(:''' u)",                  ur"''': U"),
            (u"(?m)(:''' v)",                  ur"''': V"),
            (u"(?m)(:''' w)",                  ur"''': W"),
            (u"(?m)(:''' x)",                  ur"''': X"),
            (u"(?m)(:''' y)",                  ur"''': Y"),
            (u"(?m)(:''' z)",                  ur"''': Z"),
            (u"(?m)(:''' z)",                  ur"''': Z"),
            (u"(?m)''':([A-Z])",               ur"''': \1"),
            #Punto e spazio in fine delle citazioni ma non solo.
            (u"([a-z])\.\( ?'''",              ur"\1. ('''"),
            (u"([a-z]) *\( ?'''",              ur"\1. ('''"),
            (u"([a-zàèéìòù]) *\(da ?''",       ur"\1. (da ''"),
            (u"([a-zàèéìòù])'' *\(da ?''",     ur"\1''. (da ''"),
            (u"([a-z]){{",                     ur"\1. {{"),
            (u"}}([a-zA-Z])",                  ur"}} \1"),
            (u"([a-zA-Z]),(\w)",               ur"\1, \2"),
            (u"pag\.([0-9])",                  ur"p. \1"),
            (u"p\.([0-9])",                    ur"p. \1"),
            (u"([a-z]) *(<br>|<br/>|<br />)( *)'''", ur"\1. \2\3'''"),
            #Punto alla fine delle  battute nei dialoghi
            (u"p\.([0-9])",                    ur"p. \1"),
            #"numero" abbreviato seguito dal numero senza spazio, senza rimozione di di ° o º (diviso in due per evitare l'errore "coercing to Unicode: need string or buffer, NoneType found")
            (u"n\.([0-9])",              ur"n. \1"),
            (u"n\.[°º]([0-9])",              ur"n.º \1"),
            #Ancora, ex Correzione automatica punteggiatura e spazi, prima svolte senza espressioni regolari
            (u"\.\( *da",                      ur". (da"),
            (u"\.\( *citat",                   ur". (citat"),
            (u"\.\( *'''",                     ur". ('''"),
            (u"\.\{\{NDR",                     ur". {{NDR"),
            (u"!\( *da",                       ur"! (da"),
            (u"!\( *citat",                    ur"! (citat"),
            (u"!\( *'''",                      ur"! ('''"),
            (u"!\{{NDR",                       ur"! {{NDR"),
            (u"\?\( *da",                      ur"? (da"),
            (u"\?\( *citat",                   ur"? (citat"),
            (u"\?\( *'''",                     ur"? ('''"),
            (u"\?\{\{NDR",                     ur"? {{NDR"),
            (u"« ",                            ur"«"),
            (u" »",                            ur"»"),
            (u" ,",                            ur","),
            (u"\( ",                           ur"("),
            (u" \)",                           ur")"),
            (u"\[ ",                           ur"["),
            (u" \]",                           ur"]"),
            (u"\.\(",                          ur". ("),
            (u"<<",                            ur"«"),
            (u"(?!^|>)>>",                            ur"»"), # Attenzione a [[Minette Walters]]
            #Corsivo ecc.
            (u"''L'Unità''",                   ur"''l'Unità''"), #difficile, ma potrebbero essere in una citazione; meglio a mano?
#            (u"''La [Rr]epubblica''",          ur"''la Repubblica''"), # https://it.wikiquote.org/w/index.php?title=Platone&diff=601099&oldid=598813
            (u"''Corriere della Sera''",       ur"''Corriere della sera''"),
            (u"'''\[([^ ]+) Corriere della Sera]''",       ur"''[\1 Corriere della sera]''"),
            (u"''\[([^ ]+) La [Rr]epubblica\]''",          ur"''[\1 la Repubblica]''"),
#            (u"''L'Espresso''",                ur"''L'espresso''"),
            (u"'''(.+):'''",                   ur"'''\1''':"),
            (ur"'''\[([^]]+)\]'''",                  ur"{{NDR|\1}}"),
            (ur"\['''([^]]+)'''\]",                  ur"{{NDR|\1}}"),
            (ur"{{NDR\|\.\.\.}}",                  ur"[...]"),
            (ur"{{NDR\|'''(.+)'''}}",                  ur"{{NDR|\1}}"),
            (u"(?m)\.? *\( *(pp?\.) *([0-9]+) *\) *\. *([\n\r$])",                  ur". (\1 \2)\3"),
            #Template che vanno sostituiti, usati solo per compatibilità con Wikipedia quando si importano fonti
            (ur"{{(?:[Tt]emplate:)?([Cc]ita )(libro|web)",                  ur"{{subst:Cita \2"),
                    ],
        'exceptions': {
                        'text-contains': [
                                r'dizione di riferimento',
                        ],
                        'inside': [
                                r'\[http[^ ]+,[^ ]+ .+\]', #Per non inserire errori negli indirizzi con virgole
                                r'\{\{[Ss]ic\|[^}]+\}\}',
                        ],
			'inside-tags': [
				'hyperlink',
                                'link',
                                'ref',
						],
             		   'title': [
                                r'Ateismo',
                        ],
                }
    },
    'spazi': {
        'regex': True,
        'msg': {
               'it':u'Automa: Correzione automatica punteggiatura e spazi.'
              },
        'replacements': [
            (u"([a-zA-Z]) ?([,:;!?]|\.\.\.|…)(\w)",                      ur"\1\2 \3"),
            (u"([a-zA-Z]) ?\" ?([,:;!?])(\w)",                  ur'\1"\2 \3'),
            (u"([a-zA-Z]) ?» ?([,:;!?]|\.\.\.|…)(\w)",                   ur"\1»\2 \3"),
            (u"([a-z]) ?\.([A-Z][a-z]+\\b)",                             ur"\1. \2"),
        ],
        'exceptions': {
			'inside-tags': [
				'hyperlink',
                                'link',
#                               'template',
#				'comment',
#				'nowiki',
#                                'startspace',
#				'pre',
#                                'source',
#				'math',
#				'table',
#                                'gallery',
#                                'timeline',
			],
			'inside': [
#				r'\[[^\]]+\]', #Per esagerare colle precauzioni ed evitare errori come in Italo_Calvino#Collegamenti_esterni
                               r'\[//[^ ]+([,:;!?]|\.\.\.|…)[^ ]+ .+\]', #Se si volesse salvare solo l'indirizzo e non il titolo, riattivato solo per i //
				r'(?s)<[^>]+>',
				r'(?s)\{[^\}]+\}', #Inutile, non produce errori in nessuna voce in Wikiquote; utile per togliere l'exceptinside template
				r'&[^;]+;',
                                r'InguineMAH!gazine',
                                r'Eravamo\.io\.e\.Jamieson.',
                                r'Co\.Dex',
                                r'CON…tatto',
                                r'\{\{[Ss]ic\|[^}]+\}\}',
                       ],
			'title': [
				r'Indro Montanelli',
				r'Douglas Adams',
				r'Susanna Agnelli',
			],
		}
    },
    'spazi_p': {
        'regex': True,
        'msg': {
               'it':u'Automa: Correzione assistita punteggiatura e spazi.'
              },
        'replacements': [
            (u"([a-zA-Z]) ?([,:;!?]|\.\.\.|…)(\w)",                      ur"\1\2 \3"),
            (u"([a-zA-Z]) ?\" ?([,:;!?])(\w)",                           ur'\1"\2 \3'),
            (u"([a-zA-Z]) ?» ?([,:;!?]|\.\.\.|…)(\w)",                   ur"\1»\2 \3"),
            (u"([a-z]) ?\.([A-Z][a-z]+\\b)",                             ur"\1. \2"),
        ],
        'exceptions': {
			'inside-tags': [
				'hyperlink',
                                'link',
                                'template',
				'comment',
				'nowiki',
                                'startspace',
				'pre',
                                'source',
				'math',
				'table',
                                'gallery',
                                'timeline',
			],
			'inside': [
				r'\[[^\]]+\]', #Per esagerare colle precauzioni ed evitare errori come in q:Italo_Calvino#Collegamenti_esterni
#                               r'\[http[^ ]+([,:;!?]|\.\.\.|…)[^ ]+ .+\]', #Se si volesse salvare solo l'indirizzo e non il titolo
				r'(?s)<[^>]+>',
				r'(?s)\{[^\}]+\}', #Inutile, non produce errori in nessuna voce in Wikiquote; utile per togliere l'exceptinsidetags template
                                r'(?s)<code>.*</code>',
				r'&[^;]+;',
                                r'\([a-zA-Z][;,][a-zA-Z](\+([a-zA-Z]|[0-9]*))?\)', #intervalli e variabili, anche con somme
                                r'\{\{[Ss]ic\|[^}]+\}\}',
                       ],
			'title': [
				r'Indro Montanelli',
				r'Douglas Adams',
			],
			'text-contains': [
				r'\\b[Dd][Oo][Ii]\\b',
				r'Digital [Oo]bject [Ii]dentifier',
			],
		}
    },
    'spaziofine': {
        'regex': True,
        'msg': {
               'it':u'Automa: Aggiungo punto a fine riga.'
              },
        'replacements': [
          (u"(?m)([a-z]) *\n",                          ur"\1.\n"),
#           (u"(?m)([a-z]) *\r\n",                          ur"\1.\n"),
#           (u"([a-z]) *\r",                          ur"\1."),
#            (u"(?m)([a-z]) *$",                          ur"\1."),
#           (u"(?m)\|attori\=(.*)\r.(.*)\|note\=",                          ur"|attori=\1\r\n\2|note="),
        ],
        'exceptions': {
			'inside-tags': [
                                'template', #Per non aggiungere il punto negli elenchi puntati della tabella {{film
			],
		}
    },
    'trattino': {
        'regex': True,
        'msg': {
               'it':u'Automa: Correzione automatica trattini in lineette.'
              },
        'replacements': [
#            (u' -- ', ur' – '),
	    (u' - ', ur' – '),
#	    (u'- ', ur'– '),
	    (u' -([.,:;])', ur' –\1'),
            (u'>-', ur'>– '),
            (u'\*-', ur'*– '),
#           (u'(\[\[.*)( – )(.*\]\])', ur'\1 - \2'),
        ],
        'exceptions': {
			'inside': [
                                r'(?s)\[[^\]]+\]',
                                r'(?s)\{[^\}]+\}',
			],
			'title': [
				r'Francesco Salvi',
			],
			'text-contains': [
				r'Laurence Sterne',
			],
                        'inside-tags': [
				'comment',
				'math',
			],
		}
    },
    'accenti': {
        'regex': True,
        'msg': {
            'it':u'Automa: Inversione degli accenti delle parole di questa [[w:Discussioni_Wikipedia:Bot/Sostituzioni/Espressioni_regolari|lista]].',
            },
        'replacements': [
            #congiunzioni (e non) terminanti in -chè (e non solo)
            (u'\\b([Aa])bbenchè\\b', ur'\1bbenché'),
            (u'\\b([aA])cciocchè\\b', ur'\1cciocché'),
            (u'\\b([aA])ffinchè\\b', ur'\1ffinché'),
            (u'\\b([aA])lcunchè\\b', ur'\1lcunché'),
            (u'\\b([aA])llorchè\\b', ur'\1llorché'),
            (u'\\b([aA])ltrochè\\b', ur'\1ltroché'),
            (u'\\b([aA])ncorchè\\b', ur'\1ncorché'),
            (u'\\b([aA])nzichè\\b', ur'\1nziché'),
            (u'\\b([aA])ttesochè\\b', ur'\1ttesoché'),
            (u'\\b([aA])vvegnachè\\b', ur'\1vvegnaché'),
            (u"\\b([aA])vvegnadiochè\\b", ur"\1vvegnadioché"),
            (u"\\b([aA])vvengachè\\b", ur"\1vvengaché"),
            (u"\\b([aA])vvengadiochè\\b", ur"\1vvengadioché"),
            (u'\\b([bB])enchè\\b', ur'\1enché'),
            (u'\\b([cC])hecchè\\b', ur'\1hecché'),
            (u"\\b([cC])iocchè\\b", ur"\1iocché"),
            (u'\\b([cC])omecchè\\b', ur'\1omecché'),
            (u"\\b([cC])onciofossechè\\b", ur"\1onciofosseché"),
            (u'\\b([cC])ontuttochè\\b', ur'\1ontuttoché'),
            (u'\\b([cC])osicchè\\b', ur'\1osicché'),
            (u'\\b([cC])otalchè\\b', ur'\1otalché'),
            (u'\\b([dD])acchè\\b', ur'\1acché'),
            (u'\\b([dD])appoichè\\b', ur'\1appoiché'),
            (u'\\b([dD])imodochè\\b', ur'\1imodoché'),
            (u"\\b([dD])opochè\\b", ur"\1opoché"),
            (u"\\b([dD])opodichè\\b", ur"\1opodiché"),
            (u'\\b([eE])ssendochè\\b', ur'\1ssendoché'),
            (u'\\b([fF])inattantochè\\b', ur'\1inattantoché'),
            (u'\\b([fF])inchè\\b', ur'\1inché'),
            (u'\\b([fF])intantochè\\b', ur'\1intantoché'),
            (u"\\b([fF])inacchè\\b", ur"\1inacché"),
            (u"\\b([fF])inattantochè\\b", ur"\1inattantoché"),
            (u'\\b([fF])uorchè\\b', ur'\1uorché'),
            (u'\\b([gG])iacchè\\b', ur'\1iacché'),
            (u'\\b([gG])ranchè\\b', ur'\1ranché'),
            (u"\\b([gG])iafossechè\\b", ur"\1iafosseché"),
            (u"\\b([gG])iafossecosachè\\b", ur"\1iafossecosaché"),
            (u"\\b([iI])nfinattantochè\\b", ur"\1nfinattantoché"),
            (u'\\b([lL])orchè\\b', ur'\1orché'),
            (u"\\b([iI])nquantochè\\b", ur"\1nquantoché"),
            (u'\\b([mM])acchè\\b', ur'\1acché'),
            (u'\\b([nN])è\\b', ur'\1é'),
            (u'\\b([nN])onchè\\b', ur'\1onché'),
            (u"\\b([nN])onsochè\\b", ur"\1onsoché"),
            (u'\\b([oO])ltrechè\\b', ur'\1ltreché'),
            (u"\\b([oO])ndechè\\b", ur"\1ndeché"),
            (u'\\b([pP])erchè\\b', ur'\1erché'),
            (u'\\b([pP])erciocchè\\b', ur'\1erciocché'),
            (u'\\b([pP])erlochè\\b', ur'\1erloché'),
            (u'\\b([pP])erocchè\\b', ur'\1erocché'),
            (u'\\b([pP])oichè\\b', ur'\1oiché'),
            (u"\\b([pP])osciachè\\b", ur"\1osciaché"),
            (u'\\b([pP])ressochè\\b', ur'\1ressoché'),
            (u'\\b([pP])urchè\\b', ur'\1urché'),
            (u"\\b([qQ])uantochè\\b", ur"\1uantoché"),
            (u"\\b([qQ])uasichè\\b", ur"\1uasiché"),
            (u"\\b([sS])econdochè\\b", ur"\1econdoché"),
            (u'\\b([sS])ennonchè\\b', ur'\1ennonché'),
            (u'\\b([sS])enonchè\\b', ur'\1enonché'),
            (u'\\b([sS])icchè\\b', ur'\1icché'),
            (u'\\b([sS])inattantochè\\b', ur'\1inattantoché'),
            (u'\\b([sS])inchè\\b', ur'\1inché'),
            (u'\\b([sS])intantochè\\b', ur'\1intantoché'),
            (u"\\b([sS])tantechè\\b", ur"\1tanteché"),
            (u'\\b([tT])alchè\\b', ur'\1alché'),
            (u"\\b([tT])almentechè\\b", ur"\1almenteché"),
            (u'\\b([tT])antochè\\b', ur'\1antoché'),
            (u"\\b([tT])rannechè\\b", ur"\1ranneché"),
            (u'\\b([tT])uttochè\\b', ur'\1uttoché'),
            #passati remoti
            (u"\\b([aA])bbattè\\b", ur"\1bbatté"),
            (u"\\b([aA])ccedè\\b", ur"\1ccedé"),
            (u"\\b([aA])ddissè\\b", ur"\1ddissé"),
            (u"\\b([aA])dempiè\\b", ur"\1dempié"),
            (u"\\b([aA])nnettè\\b", ur"\1nnetté"),
            (u"\\b([aA])ntiprendè\\b", ur"\1ntiprendé"),
            (u"\\b([aA])ppartenè\\b", ur"\1ppartené"),
            (u"\\b([aA])ppendè\\b", ur"\1ppendé"),
            (u"\\b([aA])pprendè\\b", ur"\1pprendé"),
            (u"\\b([aA])rrendè\\b", ur"\1rrendé"),
            (u"\\b([aA])rrompè\\b", ur"\1rrompé"),
            (u"\\b([aA])ssistè\\b", ur"\1ssisté"),
            (u"\\b([aA])ssolvè\\b", ur"\1ssolvé"),
            (u"\\b([aA])stenè\\b", ur"\1stené"),
            (u"\\b([aA])ttenè\\b", ur"\1ttené"),
            (u"\\b([aA])vvedè\\b", ur"\1vvedé"),
            (u"\\b([bB])attè\\b", ur"\1atté"),
            (u"\\b([cC])edè\\b", ur"\1edé"),
            (u"\\b([cC])ernè\\b", ur"\1erné"),
            (u"\\b([cC])hiedè\\b", ur"\1hiedé"),
            (u"\\b([cC])ombattè\\b", ur"\1ombatté"),
            (u"\\b([cC])ompetè\\b", ur"\1ompeté"),
            (u"\\b([cC])ompiè\\b", ur"\1ompié"),
            (u"\\b([cC])omprendè\\b", ur"\1omprendé"),
            (u"\\b([cC])oncedè\\b", ur"\1oncedé"),
            (u"\\b([cC])oncernè\\b", ur"\1oncerné"),
            (u"\\b([cC])onnettè\\b", ur"\1onnetté"),
            (u"\\b([cC])onsistè\\b", ur"\1onsisté"),
            (u"\\b([cC])ontenè\\b", ur"\1ontené"),
            (u"\\b([cC])ontrobattè\\b", ur"\1ontrobatté"),
            (u"\\b([cC])onvedè\\b", ur"\1onvedé"),
            (u"\\b([cC])onvergè\\b", ur"\1onvergé"),
            (u"\\b([cC])onvivè\\b", ur"\1onvivé"),
            (u"\\b([cC])orrompè\\b", ur"\1orrompé"),
            (u"\\b([cC])redè\\b", ur"\1redé"),
            (u"\\b([dD])ecedè\\b", ur"\1ecedé"),
            (u"\\b([dD])eflettè\\b", ur"\1efletté"),
            (u"\\b([dD])elinquè\\b", ur"\1elinqué"),
            (u"\\b([dD])esistè\\b", ur"\1esisté"),
            (u"\\b([dD])etenè\\b", ur"\1etené"),
            (u"\\b([dD])evolvè\\b", ur"\1evolvé"),
            (u"\\b([dD])ibattè\\b", ur"\1ibatté"),
            (u"\\b([dD])ipendè\\b", ur"\1ipendé"),
            (u"\\b([dD])iprendè\\b", ur"\1iprendé"),
            (u"\\b([dD])irimè\\b", ur"\1irimé"),
            (u"\\b([dD])iscernè\\b", ur"\1iscerné"),
            (u"\\b([dD])isottenè\\b", ur"\1isottené"),
            (u"\\b([dD])isperdè\\b", ur"\1isperdé"),
            (u"\\b([dD])isplendè\\b", ur"\1isplendé"),
            (u"\\b([dD])issolvè\\b", ur"\1issolvé"),
            (u"\\b([dD])issovvennè\\b", ur"\1issovvenné"),
            (u"\\b([dD])istemè\\b", ur"\1istemé"),
            (u"\\b([dD])isvolvè\\b", ur"\1isvolvé"),
            (u"\\b([eE])ccedè\\b", ur"\1ccedé"),
            (u"\\b([eE])lidè\\b", ur"\1lidé"),
            (u"\\b([eE])ludè\\b", ur"\1ludé"),
            (u"\\b([eE])rompè\\b", ur"\1rompé"),
            (u"\\b([eE])sigè\\b", ur"\1sigé"),
            (u"\\b([eE])simè\\b", ur"\1simé"),
            (u"\\b([eE])sistè\\b", ur"\1sisté"),
            (u"\\b([eE])spandè\\b", ur"\1spandé"),
            (u"\\b([eE])stroquè\\b", ur"\1stroqué"),
            (u"\\b([eE])volvè\\b", ur"\1volvé"),
            (u"\\b([fF])endè\\b", ur"\1endé"),
            (u"\\b([fF])ervè\\b", ur"\1ervé"),
            (u"\\b([fF])lettè\\b", ur"\1letté"),
            (u"\\b([fF])rapprendè\\b", ur"\1rapprendé"),
            (u"\\b([fF])remè\\b", ur"\1remé"),
            (u"\\b([gG])enuflettè\\b", ur"\1enufletté"),
            (u"\\b([iI])mbattè\\b", ur"\1mbatté"),
            (u"\\b([iI])mbevè\\b", ur"\1mbevé"),
            (u"\\b([iI])mpiè\\b", ur"\1mpié"),
            (u"\\b([iI])mprendè\\b", ur"\1mprendé"),
            (u"\\b([iI])ncedè\\b", ur"\1ncedé"),
            (u"\\b([iI])ncombè\\b", ur"\1ncombé"),
            (u"\\b([iI])nfremè\\b", ur"\1nfremé"),
            (u"\\b([iI])nsistè\\b", ur"\1nsisté"),
            (u"\\b([iI])ntercedè\\b", ur"\1ntercedé"),
            (u"\\b([iI])nterprendè\\b", ur"\1nterprendé"),
            (u"\\b([iI])nterrompè\\b", ur"\1nterrompé"),
            (u"\\b([iI])ntessè\\b", ur"\1ntessé"),
            (u"\\b([iI])ntraprendè\\b", ur"\1ntraprendé"),
            (u"\\b([iI])ntrarompè\\b", ur"\1ntrarompé"),
            (u"\\b([iI])ntratessè\\b", ur"\1ntratessé"),
            (u"\\b([iI])ntrattenè\\b", ur"\1ntrattené"),
            (u"\\b([iI])ntravedè\\b", ur"\1ntravedé"),
            (u"\\b([iI])ntroflettè\\b", ur"\1ntrofletté"),
            (u"\\b([iI])rrompè\\b", ur"\1rrompé"),
            (u"\\b([mM])antenè\\b", ur"\1antené"),
            (u"\\b([mM])ietè\\b", ur"\1ieté"),
            (u"\\b([oO])ttenè\\b", ur"\1ttené"),
            (u"\\b([pP])endè\\b", ur"\1endé"),
            (u"\\b([pP])erdè\\b", ur"\1erdé"),
            (u"\\b([pP])ersistè\\b", ur"\1ersisté"),
            (u"\\b([pP])iovè\\b", ur"\1iové"),
            (u"\\b([pP])ossedè\\b", ur"\1ossedé"),
            (u"\\b([pP])otè\\b", ur"\1oté"),
            (u"\\b([pP])recedè\\b", ur"\1recedé"),
            (u"\\b([pP])reesistè\\b", ur"\1reesisté"),
            (u"\\b([pP])remè\\b", ur"\1remé"),
            (u"\\b([pP])rendè\\b", ur"\1rendé"),
            (u"\\b([pP])rescindè\\b", ur"\1rescindé"),
            (u"\\b([pP])resiedè\\b", ur"\1resiedé"),
            (u"\\b([pP])revedè\\b", ur"\1revedé"),
            (u"\\b([pP])rocedè\\b", ur"\1rocedé"),
            (u"\\b([pP])ropendè\\b", ur"\1ropendé"),
            (u"\\b([pP])rorompè\\b", ur"\1rorompé"),
            (u"\\b([pP])rovolvè\\b", ur"\1rovolvé"),
            (u"\\b([rR])apprendè\\b", ur"\1apprendé"),
            (u"\\b([rR])attenè\\b", ur"\1attené"),
            (u"\\b([rR])avvedè\\b", ur"\1avvedé"),
            (u"\\b([rR])ecedè\\b", ur"\1ecedé"),
            (u"\\b([rR])edigè\\b", ur"\1edigé"),
            (u"\\b([rR])endè\\b", ur"\1endé"),
            (u"\\b([rR])esistè\\b", ur"\1esisté"),
            (u"\\b([rR])etrocedè\\b", ur"\1etrocedé"),
            (u"\\b([rR])iannettè\\b", ur"\1iannetté"),
            (u"\\b([rR])ibattè\\b", ur"\1ibatté"),
            (u"\\b([rR])icedè\\b", ur"\1icedé"),
            (u"\\b([rR])icevè\\b", ur"\1icevé"),
            (u"\\b([rR])ichiedè\\b", ur"\1ichiedé"),
            (u"\\b([rR])iconnettè\\b", ur"\1iconnetté"),
            (u"\\b([rR])iconverrè\\b", ur"\1iconverré"),
            (u"\\b([rR])icredè\\b", ur"\1icredé"),
            (u"\\b([rR])iedè\\b", ur"\1iedé"),
            (u"\\b([rR])iempiè\\b", ur"\1iempié"),
            (u"\\b([rR])iflettè\\b", ur"\1ifletté"),
            (u"\\b([rR])ingodè\\b", ur"\1ingodé"),
            (u"\\b([rR])ipentè\\b", ur"\1ipenté"),
            (u"\\b([rR])ipetè\\b", ur"\1ipeté"),
            (u"\\b([rR])iprendè\\b", ur"\1iprendé"),
            (u"\\b([rR])isedè\\b", ur"\1isedé"),
            (u"\\b([rR])isiedè\\b", ur"\1isiedé"),
            (u"\\b([rR])isolvè\\b", ur"\1isolvé"),
            (u"\\b([rR])isplendè\\b", ur"\1isplendé"),
            (u"\\b([rR])itenè\\b", ur"\1itené"),
            (u"\\b([rR])ivedè\\b", ur"\1ivedé"),
            (u"\\b([rR])ivendè\\b", ur"\1ivendé"),
            (u"\\b([rR])ivivè\\b", ur"\1ivivé"),
            (u"\\b([rR])ompè\\b", ur"\1ompé"),
            (u"\\b([sS])battè\\b", ur"\1batté"),
            (u"\\b([sS])candè\\b", ur"\1candé"),
            (u"\\b([sS])cernè\\b", ur"\1cerné"),
            (u"\\b([sS])connettè\\b", ur"\1connetté"),
            (u"\\b([sS])ecernè\\b", ur"\1ecerné"),
            (u"\\b([sS])fottè\\b", ur"\1fotté"),
            (u"\\b([sS])occombè\\b", ur"\1occombé"),
            (u"\\b([sS])oprassedè\\b", ur"\1oprassedé"),
            (u"\\b([sS])opravvivè\\b", ur"\1opravvivé"),
            (u"\\b([sS])orprendè\\b", ur"\1orprendé"),
            (u"\\b([sS])ostenè\\b", ur"\1ostené"),
            (u"\\b([sS])pandè\\b", ur"\1pandé"),
            (u"\\b([sS])perdè\\b", ur"\1perdé"),
            (u"\\b([sS])plendè\\b", ur"\1plendé"),
            (u"\\b([sS])premè\\b", ur"\1premé"),
            (u"\\b([sS])ternè\\b", ur"\1terné"),
            (u"\\b([sS])trafottè\\b", ur"\1trafotté"),
            (u"\\b([sS])travedè\\b", ur"\1travedé"),
            (u"\\b([sS])tridè\\b", ur"\1tridé"),
            (u"\\b([tT])emè\\b", ur"\1emé"),
            (u"\\b([tT])enè\\b", ur"\1ené"),
            (u"\\b([tT])essè\\b", ur"\1essé"),
            (u"\\b([tT])ralucè\\b", ur"\1ralucé"),
            (u"\\b([tT])ransigè\\b", ur"\1ransigé"),
            (u"\\b([tT])rattenè\\b", ur"\1rattené"),
            (u"\\b([tT])ravedè\\b", ur"\1ravedé"),
            (u"\\b([vV])edè\\b", ur"\1edé"),
            (u"\\b([vV])endè\\b", ur"\1endé"),
            (u"\\b([vV])ertè\\b", ur"\1erté"),
            #Termini d'origine francese (e italiani come caffè)
            (u'\\b([aA])ntirè\\b', ur'\1ntiré'),
            (u'\\b([aA])utodafè\\b', ur'\1utodafé'),
            (u'\\b([cC])annetè\\b', ur'\1anneté'),
            (u'\\b([cC])apitonnè\\b', ur'\1apitonné'),
            (u'\\b([cC])lichè\\b', ur'\1liché'),
            (u'\\b([cC])loisonnè\\b', ur'\1loisonné'),
            (u'\\b([cC])onsommè\\b', ur'\1onsommé'),
            (u"\\b([cC])impanzè\\b", ur"\1impanzé"),
            (u'\\b([cC])oupè\\b', ur'\1oupé'),
            (u'\\b([cC])raquelè\\b', ur'\1raquelé'),
            (u'\\b([dD])ecolletè\\b', ur'\1ecolleté'),
            (u'\\b([dD])écolletè\\b', ur'\1écolleté'),
            (u'\\b([dD])efilè\\b', ur'\1efilé'),
            (u'\\b([dD])éfilè\\b', ur'\1éfilé'),
            (u'\\b([dD])egagè\\b', ur'\1egagé'),
            (u'\\b([dD])égagè\\b', ur'\1égagé'),
            (u'\\b([dD])elavè\\b', ur'\1elavé'),
            (u'\\b([dD])élavè\\b', ur'\1élavé'),
            (u'\\b([dD])emodè\\b', ur'\1emodé'),
            (u'\\b([dD])émodè\\b', ur'\1émodé'),
            (u'\\b([dD])eracinè\\b', ur'\1eraciné'),
            (u'\\b([dD])éracinè\\b', ur'\1éraciné'),
            (u'\\b([dD])eshabillè\\b', ur'\1eshabillé'),
            (u'\\b([dD])éshabillè\\b', ur'\1éshabillé'),
            (u'\\b([eE])cartè\\b', ur'\1carté'),
            (u'\\b([eE])nfant gƒtè\\b', ur'\1nfant gƒté'),
            (u'\\b([eE])ngagè\\b', ur'\1ngagé'),
            (u'\\b([fF])lambè\\b', ur'\1lambé'),
            (u'\\b([fF])oncè\\b', ur'\1oncé'),
            (u'\\b([fF])risè\\b', ur'\1risé'),
            (u'\\b([gG])aufrè\\b', ur'\1aufré'),
            (u'\\b([gG])lacè\\b', ur'\1lacé'),
            (u"\\b([gG])ranmercè\\b", ur"\1ranmercé"),
            (u'\\b([hH])abituè\\b', ur'\1abitué'),
            (u'\\b([hH])ôtel meublè\\b', ur'\1ôtel meublé'),
            (u'\\b([iI])mprimè\\b', ur'\1mprimé'),
            (u'\\b([iI])nterrè\\b', ur'\1nterré'),
            (u'\\b([kK])aritè\\b', ur'\1arité'),
            (u'\\b([mM])arron glacè\\b', ur'\1arron glacé'),
            (u'\\b([mM])atelassè\\b', ur'\1atelassé'),
            (u'\\bmercè\\b', ur'mercé'),
            (u'\\b([mM])erzè\\b', ur'\1erzé'),
            (u'\\b([mM])eublè\\b', ur'\1eublé'),
            (u'\\b([mM])oirè\\b', ur'\1oiré'),
            (u'\\b([mM])oulinè\\b', ur'\1ouliné'),
            (u'\\b([nN])egligè\\b', ur'\1egligé'),
            (u'\\b([nN])égligè\\b', ur'\1égligé'),
            (u"\\b([nN])ontiscordardimè\\b", ur"\1ontiscordardimé"),
            (u'\\b([pP])ancarrè\\b', ur'\1ancarré'),
            (u'\\b([pP])avè\\b', ur'\1avé'),
            (u'\\b([pP])âtè\\b', ur'\1âté'),
            (u'\\b([sS])aint-honorè\\b', ur'\1aint-honoré'),
            (u'\\b([sS])cimpanz[eè]\\b', ur'\1cimpanzé'),
            (u'\\b([sS])eparè\\b', ur'\1eparé'),
            (u'\\b([sS])oufflè\\b', ur'\1oufflé'),
            (u'\\b([tT])amurè\\b', ur'\1amuré'),
            (u'\\b([tT])rentatrè\\b', ur'\1rentatré'),
            (u'\\b([tT])ruffè\\b', ur'\1ruffé'),
            (u'\\b([vV])arietè\\b', ur'\1arieté'),
            (u'\\b([vV])ariétè\\b', ur'\1ariété'),
            (u'\\b([vV])icerè\\b', ur'\1iceré'),
            (u'\\b([vV])entitrè\\b', ur'\1entitré'),
            (u'\\b([aA])himé\\b', ur'\1himè'),
            (u'\\b([aA])mmazzacaffé\\b', ur'\1mmazzacaffè'),
            (u'\\b([aA])ppié\\b', ur'\1ppiè'),
            (u'\\b([bB])igné\\b', ur'\1ignè'),
            (u'\\b([bB])uffé\\b', ur'\1uffè'),
            (u'\\b([cC])abaré\\b', ur'\1abarè'),
            (u'\\b([cC])abriolé\\b', ur'\1abriolè'),
            (u'\\b([cC])anapé\\b', ur'\1anapè'),
            (u'\\b([cC])arcadé\\b', ur'\1arcadè'),
            (u'\\b([cC])hedivé\\b', ur'\1hedivè'),
            (u'\\b([cC])ioé\\b', ur'\1ioè'),
            (u'\\b([cC])occodé\\b', ur'\1occodè'),
            (u'\\b([cC])ontrobuffé\\b', ur'\1ontrobuffè'),
            (u'\\b([cC])orvé\\b', ur'\1orvè'),
            (u'\\b([cC])roscé\\b', ur'\1roscè'),
            (u'\\b([cC])upé\\b', ur'\1upè'),
            (u'\\b([dD])appié\\b', ur'\1appiè'),
            (u'\\b([dD])osacaffé\\b', ur'\1osacaffè'),
            (u'\\b([eE])uhoé\\b', ur'\1uhoè'),
            (u'\\b([fF])orfé\\b', ur'\1orfè'),
            (u'\\b([kK])arkadé\\b', ur'\1arkadè'),
            (u'\\b([kK])edivé\\b', ur'\1edivè'),
            (u'\\b([lL])acché\\b', ur'\1acchè'),
            (u'\\b([mM])acinacaffé\\b', ur'\1acinacaffè'),
            (u'\\b([mM])acramé\\b', ur'\1acramè'),
            (u'\\b([mM])ordoré\\b', ur'\1ordorè'),
            (u'\\b([mM])usmé\\b', ur'\1usmè'),
            (u'\\b([nN])arghilé\\b', ur'\1arghilè'),
            (u'\\b([pP])arché\\b', ur'\1archè'),
            (u'\\b([pP])uré\\b', ur'\1urè'),
            (u'\\b([rR])adiorelé\\b', ur'\1adiorelè'),
            (u'\\b([rR])amié\\b', ur'\1amiè'),
            (u'\\b([sS])ufflé\\b', ur'\1ufflè'),
            (u'\\b([tT])oppé\\b', ur'\1oppè'),
            (u'\\b([tT])ostacaffé\\b', ur'\1ostacaffè'),
            (u'\\b([tT])uppé\\b', ur'\1uppè'),
            (u'\\b([vV])ahiné\\b', ur'\1ahinè'),
            (u'\\bGiosué\\b', ur'Giosuè'),
            (u'\\bMosé\\b', ur'Mosè'),
        ],
    },
}