Wikipedista:Dinybot/Původní popis

Obsah této stránky není aktuální.


Robot TypoBot slouží pro automatizované typografické a jazykové korekce české wikipedie. Spravuje jej Martin Kozák. Veškeré výhrady podněty směřujte, prosím, do jeho uživatelské diskuze.

Jak robot pracuje

editovat

Bot využívá modul replace.py nástroje Python Wikipediabot Framework (verze snapshot-20060312) s doplněnými pravidly uvedenými níže. Je tedy napsaný v jazyce Python. Je spouštěn ručně přibližně jednou za čtrnáct dní až tři týdny. Zatím pracuje z dynamické IP adresy, převážně z 89.102.66.215.

Náhrady

editovat

Náhrady probíhají v celém textu článku s výjimkou obsahu v závorkách <>{}[], článků obsahujících <pre></pre><code></code>, článků kde je použito zvýraznění odsazením od začátku řádku a URL.

Typografické znaky

editovat
 původní řetězec   náhrada   regularní výraz   náhrada 
(r) ® r'(?<!\[[^\]^]{300000})\(r\)(\s+|\.|,|$)(?![^\[]*\])' u'\u00AE' + r'\1'
(tm) r'(?<!\[[^\]^]{300000})\(tm\)(\s+|\.|,|$)(?![^\[]*\])' u'\u2122' + r'\1'
 ""   „“   r'(?<!\[[^\]^]{300000})(\s+|\.\.\.|^)"([^"\]\[]+)"(\s+|,|\.|:|\.\.\.|$)(?![^\[]*\])'   r'\1' + u'\u201E' + r'\2' + u'\u201C' + r'\3' 
...  …  r'(?<!\[[^\]^]{300000})\.\.\.(\s+|$)(?![^\[]*\])' u'\u2026' + r'\1'
 ...  … r'(?<!\[[^\]^]{300000})(\s+|^)\.\.\.(?![^\[]*\])' r'\1' + u'\u2026'
 -  r'(?<!\[[^\]^]{300000})([^\W\d]{4,}\s+)-(\s+[^\W\d]{4,})(?![^\[]*\])' r'\1' + u'\u2013' + r'\2'

Textové náhrady

editovat
 původní řetězec   náhrada   regularní výraz   náhrada 
 viz.   viz   r'(?<!\[[^\]^]{300000})(\s+|^)(V|v)iz\.(\s+)(?![^\[]*\])'    r'\1\2iz\3' 

Zatím nerealizované náhrady

editovat

Textové náhrady

editovat
  • Bc.->Bc. 
  • BcA.->BcA. 
  • Mgr.->Mgr. 
  • MgA.->MgA. 
  • Ing.->Ing. 
  • Ing.->Ing. 
  • arch.->arch. 
  • JUDr.->JUDr. 
  • ICDr.->ICDr. 
  • MDDr.->MDDr. 
  • MSDr.->MSDr. 
  • MUDr.->MUDr. 
  • MVDr.->MVDr. 
  • PaedDr.->PaedDr. 
  • PharmDr.->PharmDr. 
  • PhDr.->PhDr. 
  • PhMr.->PhMr. 
  • RNDr.->RNDr. 
  • RSDr.->RSDr. 
  • ThLic.->ThLic. 
  • ThDr.->ThDr. 
  • s.r.o.->s. r. o.
  • a.s.->a. s.
  • k.s.->k. s.
  • v.o.s.->v. o. s.
  • o.p.s.->o. p. s.
  • ,s.r.o.->, s. r. o.
  • ,k.s.->, k. s.
  • ,a.s.->, a. s.
  • ,v.o.s.->, v. o. s.
  • ,o.p.s.->, o. p. s.

Jazykové náhrady

editovat
  • křestu->křtu
  • dizident->disident
  • lyžiny->ližiny
  • lobismus->lobbismus
  • lobista->lobbista
  • městysích->městysech
  • mlýt->mlít
  • zapomě*->zapomně*
  • připomě*->připomně*
  • vzpomě*->vzpomně*
  • narozdíl->na rozdíl
  • pracem->pracím
  • pracech->pracích
  • bizardní->bizarní
  • terciální*->terciární*
  • lombartní->lombardní
  • stádium->stadium
  • standartní->standardní
  • standartizace->standardizace
  • trojůhelník->trojúhelník
  • bezezbytku->beze zbytku
  • poviný->povinný
  • poviná->povinná
  • poviné->povinné
  • povině->povinně
  • povina->povinna
  • povini->povinni
  • vyjímk*->výjimk*
  • vyjímek->výjimek
  • *dení->*denní
  • vyjímečn*->výjimečn*
  • polyklinika->poliklinika
  • expertíz*->expertiz*
  • severní Amerika->Severní Amerika
  • jižní Amerika->Jižní Amerika
  • kdo z koho->kdo s koho
  • tůr*->túr*
  • deně->denně
  • standarda->standarta
  • standartem->standardem
  • ztrávi*->strávi*
  • ztráven*->stráven*
  • lazer->laser
  • hudebně literární*->hudebně-literární*
  • dvěmi->dvěma


Pomocné operace (před a po)

editovat

Před vlastním nahrazením náhrad dojde ke konverzi nezazávorkovaných URL na závorkované:

r'(?!\[)((http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)?((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.[a-zA-Z]{2,4})(\:[0-9]+)?(/[^/][a-zA-Z0-9\.\,\?\'\\/\+&%\$#\=~_\-@]*)*)(?!\])'
na
r'[<!--TYPOBOT-LINK-HANDLER-->\1<!--/TYPOBOT-LINK-HANDLER-->]'

Po dokončení nahrazování dojde zpět k navrácení nezávorkovaných odkazů:

r'\[<!--TYPOBOT-LINK-HANDLER-->((http|https|ftp)\://([a-zA-Z0-9\.\-]+(\:[a-zA-Z0-9\.&%\$\-]+)*@)?((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])|([a-zA-Z0-9\-]+\.)*[a-zA-Z0-9\-]+\.[a-zA-Z]{2,4})(\:[0-9]+)?(/[^/][a-zA-Z0-9\.\,\?\'\\/\+&%\$#\=~_\-@]*)*)<!--/TYPOBOT-LINK-HANDLER-->\]'
na
r'\1'