Redaktor:Wizzo-Bot/pamiatky.py
Vzhled
#!/usr/bin/python2.4 # -*- coding: utf-8 -*- import pywikibot, re, sys, locale, urllib nazov = raw_input().decode(sys.stdin.encoding or locale.getpreferredencoding(True)) csnazov = nazov sknazov = nazov cssite = pywikibot.getSite("cs") stranka = pywikibot.Page( cssite, csnazov ) csstranka = stranka stranka = stranka.get() revizia = pywikibot.Page( cssite, csnazov ).latest_revision_id stranka = stranka.replace(u"Infobox - chráněné území na Slovensku", u"Geobox | Protected Area") stranka = stranka.replace(u" |mark=Green pog.svg |relief=1}}", u"") stranka = stranka.replace(u" ", u"") stranka = stranka.replace(u"Kategorie:Národní přírodní rezervace", u"Kategória:Národné prírodné rezervácie") stranka = stranka.replace(u"Kategorie:Národní přírodní památky", u"Kategória:Národné prírodné pamiatky") stranka = stranka.replace(u"Kategorie:Přírodní rezervace", u"Kategória:Prírodné rezervácie") stranka = stranka.replace(u"Kategorie:Přírodní památky", u"Kategória:Prírodné pamiatky") stranka = stranka.replace(u"Kategorie:Chráněné areály", u"Kategória:Chránené areály") stranka = stranka.replace(u"Kategorie:Chráněná území", u"Kategória:Chránené územia") stranka = stranka.replace(u"Bratislavském", u"Bratislavskom") stranka = stranka.replace(u"Trnavském", u"Trnavskom") stranka = stranka.replace(u"Trenčínském", u"Trenčianskom") stranka = stranka.replace(u"Nitranském", u"Nitrianskom") stranka = stranka.replace(u"Nitranský", u"Nitriansky") stranka = stranka.replace(u"Ponitří", u"Ponitrie") stranka = stranka.replace(u"Bílé Karpaty", u"Biele Karpaty") stranka = stranka.replace(u"Trenčínský kraj", u"Trenčiansky kraj") stranka = stranka.replace(u"Žilinském", u"Žilinskom") stranka = stranka.replace(u"Banskobystrickém", u"Banskobystrickom") stranka = stranka.replace(u"Košickém", u"Košickom") stranka = stranka.replace(u"Prešovském", u"Prešovskom") stranka = stranka.replace(u"Poľana (pohoří)", u"CHKO Poľana") stranka = stranka.replace(u"Muráňská planina", u"Národný park Muránska planina") stranka = stranka.replace(u"Muráňské planiny", u"Muránska planina") stranka = stranka.replace(u"Tatranský národní park", u"Tatranský národný park") stranka = stranka.replace(u"Pieninský národní park", u"Pieninský národný park") stranka = stranka.replace(u"Slovenský ráj", u"Slovenský raj") stranka = stranka.replace(u"Tatranském národním parku", u"Tatranskom národnom parku") stranka = stranka.replace(u"Východní Karpaty", u"CHKO Východné Karpaty") stranka = stranka.replace(u"| název", u"| name ") stranka = stranka.replace(u"| obrázek", u"| image ") stranka = stranka.replace(u"| popisek", u"| image_caption ") stranka = stranka.replace(u"| lokalita", u"| management") stranka = stranka.replace(u"| typ", u"| category ") stranka = stranka.replace(u"| kód", u"| code") stranka = stranka.replace(u"| výměra", u"| area") stranka = stranka.replace(u"\n| vyhlásil =", u"") stranka = stranka.replace(u"\n| poznámky =", u"") #stranka = stranka.replace(u"\n| okres = .*", u"") #stranka = stranka.replace(u"\n| district = .*", u"") #stranka = stranka.replace(u"\n| district2 = .*", u"") stranka = stranka.replace(u"ha\n", u"\n") stranka = re.sub(u"\| loc-map =.*\n", u"", stranka) stranka = re.sub(u"\| datum vyhlášení =.*\n", u"", stranka) stranka = re.sub(u"\| okres = .*\n", u"", stranka) stranka = stranka.replace(u"zeměpisná šířka", u"lat_d") stranka = stranka.replace(u"zeměpisná délka", u"long_d") stranka = stranka.replace(u"NPP", u"[[národná prírodná pamiatka]]") stranka = stranka.replace(u"NPR", u"[[národná prírodná rezervácia]]") stranka = stranka.replace(u"PP", u"[[prírodná pamiatka]]") stranka = stranka.replace(u"PR", u"[[prírodná rezervácia]]") stranka = stranka.replace(u"CHA", u"[[chránený areál]]") stranka = stranka.replace(u"Národní přírodní památka", u"Národná prírodná pamiatka") stranka = stranka.replace(u"Národní přírodní rezervace", u"Národná prírodná rezervácia") stranka = stranka.replace(u"Přírodní památka", u"Prírodná pamiatka") stranka = stranka.replace(u"Přírodní rezervace", u"Prírodná rezervácia") stranka = stranka.replace(u"Chráněný areál", u"Chránený areál") stranka = stranka.replace(u"národní přírodní památka", u"[[národná prírodná pamiatka]]") stranka = stranka.replace(u"národní přírodní rezervace", u"[[národná prírodná rezervácia]]") stranka = stranka.replace(u"přírodní památka", u"[[prírodná pamiatka]]") stranka = stranka.replace(u"přírodní rezervace", u"[[prírodná rezervácia]]") stranka = stranka.replace(u"chráněný areál", u"[[chránený areál]]") stranka = stranka.replace(u"v oblasti", u"v správe štátnej ochrany prírody") stranka = stranka.replace(u"ve správě příspěvnkové organizace [[Správa slovenských jaskyň]]", u"v správe príspevkovej organizácie Správa slovenských jaskýň") stranka = stranka.replace(u"ve správě příspěvkové organizace [[Správa slovenských jaskyň]]", u"v správe príspevkovej organizácie Správa slovenských jaskýň") stranka = re.sub(u"Území bylo vyhlášeno či novelizováno v roce (.*) na", u"ROKY PLACEHOLDER na", stranka) stranka = re.sub(u"Území bylo vyhlášeno či novelizováno v letech (.*) na", u"ROKY PLACEHOLDER na", stranka) stranka = stranka.replace(u"na rozloze", u"na rozlohe") stranka = stranka.replace(u"Ochranné pásmo nebylo stanoveno", u"Ochranné pásmo nebolo určené") stranka = stranka.replace(u"Rozloha ochranného pásma byla stanovena na", u"Rozloha ochranného pásma bola určená na") kod = re.search(r"code = (.*)", stranka).group(1) #print kod link = "http://uzemia.enviroportal.sk/main/detail/cislo/%s" % kod f = urllib.urlopen(link) myfile = f.read() #print myfile myfile = myfile.replace("\n", "") myfile = myfile.replace("\r", "") myfile = myfile.replace(" ", "") myfile = myfile.replace("</td>", "\n</td>") vyhlasenie = re.search(r"Rok vyhlásenia:<\/th><td>(.*)", myfile).group(1) vyhlasenie = vyhlasenie.decode(sys.stdin.encoding or locale.getpreferredencoding(True)) novelizacia = re.search(r"Rok poslednej novelizácie:<\/th><td>(.*)", myfile).group(1) novelizacie = novelizacia.decode(sys.stdin.encoding or locale.getpreferredencoding(True)) novel = u"" roky = u"Územie bolo vyhlásené v roku [[%s]]" % vyhlasenie if (novelizacia != u"-"): roky += u" a naposledy novelizované v roku [[%s]]" % novelizacia novel = novelizacia stranka = stranka.replace(u"ROKY PLACEHOLDER", roky) predmet = re.search(r"Predmet ochrany:<\/th><td>(.*)", myfile).group(1) predmet = predmet.decode(sys.stdin.encoding or locale.getpreferredencoding(True)) #print predmet obec = re.search(r"Obec:<\/th><td>(.*)", myfile).group(1) obec = obec.decode(sys.stdin.encoding or locale.getpreferredencoding(True)) obec = obec.replace(u", ", u"]], [[") obec = u"[[%s]]" % obec #print obec kataster = re.search(r"Katastrálne územie:<\/th><td>(.*)", myfile).group(1) kataster = kataster.decode(sys.stdin.encoding or locale.getpreferredencoding(True)) #print kataster okres = re.search(r"Okres:<\/th><td>(.*)", myfile).group(1) okres = okres.decode(sys.stdin.encoding or locale.getpreferredencoding(True)) okres = okres.replace(u", ", u"]], [[Okres ") okres = u"[[Okres %s]]" % okres #print okres stranka = stranka.replace(u"Nachází se", u"Nachádza sa v katastrálnom území obce %s" % obec) stranka = stranka.replace(u"Externí odkazy", u"Externé odkazy") stranka = stranka.replace(u"{{Pahýl}}\n", u"") stranka = stranka.replace(u"{{Portály|Slovensko}}\n", u"") stranka = stranka.replace(u"republiky\n", u"republiky\n\n== Zdroj ==\n{{Preklad|cs|%s|%s}}" % (csnazov, revizia)) titul = re.search(r"<title>(.*)<\/title>", myfile).group(1) titul = titul.decode(sys.stdin.encoding or locale.getpreferredencoding(True)) #print titul obeckat = obec.replace(u"[[", u"[[Kategória:") obeckat = obeckat.replace(u", ", u"\n") stranka = stranka.replace(u"== Externé odkazy ==", u"Predmetom ochrany je: ''%s''<ref>{{citácia elektronického dokumentu|titul=%s|url=http://uzemia.enviroportal.sk/main/detail/cislo/%s}}</ref>\n\n== Referencie ==\n{{referencie}}\n\n== Externé odkazy ==" % (predmet, titul, kod)) stranka += u"\n%s" % obeckat rozloha = re.search(r"area = (.*)", stranka).group(1) rozloha = rozloha.replace(u",", u".") #print rozloha #print stranka if (rozloha != "x "): rozloha = float(rozloha) / 100 stranka = re.sub(r"area = (.*)", u"area = %s" % rozloha, stranka) else: stranka = stranka.replace(u"\n| area = x ", u"") stranka = stranka.replace(u" na rozlohe x ha", u"") stranka = stranka.replace(u"Area", u"""Area | map_caption = Poloha v rámci Slovenska | map_locator = Slovensko-reliéf | map1_caption = Poloha v rámci Košického kraja | map1_locator = Košický kraj | country = Slovensko | country_flag = 1 | region = [[Košický kraj|Košický]] | district = %s | municipality = %s | established = %s | established1 = %s | established1_type = posledná novelizácia""" % (okres, obec, vyhlasenie, novel) ) stranka = stranka.replace(u"[[Vysoké Tatry]]", u"[[Vysoké Tatry (mesto)|Vysoké Tatry]]") stranka = stranka.replace(u"[[Kategória:Vysoké Tatry]]", u"[[Kategória:Vysoké Tatry (mesto)]]") stranka = stranka.replace(u"Košice - okolie", u"Košice-okolie") print stranka sknazov = sknazov.replace(u"národní přírodní památka", u"národná prírodná pamiatka") sknazov = sknazov.replace(u"národní přírodní rezervace", u"národná prírodná rezervácia") sknazov = sknazov.replace(u"přírodní památka", u"prírodná pamiatka") sknazov = sknazov.replace(u"Přírodní památka", u"Prírodná pamiatka") sknazov = sknazov.replace(u"přírodní rezervace", u"prírodná rezervácia") sknazov = sknazov.replace(u"chráněný areál", u"chránený areál") sksite = pywikibot.getSite("sk") skstranka = pywikibot.Page( sksite, sknazov ) skstranka.put(stranka, u"preklad z českej verzie") item = pywikibot.ItemPage.fromPage(csstranka) item.get() item.setSitelink(sitelink={'site': 'skwiki', 'title': '%s' % sknazov}, summary=u'interwiki')