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
editovatBot 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
editovatNá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
editovatpů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
editovatpů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
editovatTextové 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)
editovatPř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'