Redaktor:Wizzard/gminy.py

z Wikipédie, slobodnej encyklopédie
#!/usr/bin/python2.4
# -*- coding: utf-8  -*-

import wikipedia, csv, re

ref=re.compile('flaga_gminy\=.*?\:(.*?)\|')
reh=re.compile('herb_gminy\=.*?\:(.*?)\|')
rem=re.compile('mapa_gminy\=.*?\:(.*?)\|')

def zisti_flagy(gmina):
	site = wikipedia.getSite()
	stranka = wikipedia.Page( site, ':pl:'+gmina ).get()
	return [i.search(stranka) and i.search(stranka).group(1) or None for i in [ref, reh, rem]]

gmina = {}

def vytvor_clanok(udaje):
    clanok = u"""{{Infobox Gmina |
názov = %(nazov)s |
erb = %(erb) |
vlajka = %(flag) |
poloha = %(map) |
vojvodstvo = %(vojvodstvo)s |
powiat = |
typ = %(typ)s |
richtár = |
rozloha = %(rozloha)s |
obyvateľov = %(obyvatelov)s |
hustota = %(hustota)s |
sídiel = |
značka = |
predvoľba = |
}}

'''%(nazov)s''' je %(typ)s [[gmina]] v [[Poľsko|Poľsku]] v [[%(vojvodstvo)s vojvodstvo|%(vojvodstve)s]] vojvodstve.

Má rozlohu %(rozloha)s km² a žije tu %(obyvatelov)s obyvateľov ([[2006]]), priemerná hustota zaľudnenia je %(hustota)s osôb/km².

Sídlom powiatu, v ktorom sa gmina nachádza, je mesto [[%(sidlo)s]].

{{poľský výhonok}}

[[Kategória:Obce v Poľsku]]
[[Kategória:%(vojvodstvo)s vojvodstvo]]
[[Kategória:%(nazov)s| ]]

[[pl:%(nazov)s]]
""" % udaje
#    if u"%(typ)s" % udaje == u"[[neexistujúci objekt]]":
#        clanok = u"#REDIRECT [[Zoznam NGC objektov]]"
    site = wikipedia.getSite()
    stranka = wikipedia.Page( site, gmina['nazov'] )
#    if stranka.exists() and not stranka.isRedirectPage():
#        povodny = stranka.get()
#        clanok = infobox + povodny
    if not stranka.exists():
      try:
        print clanok
        stranka.put(clanok, u"vytvorenie článku o gmine")
      except:
        print "lol"

reader = csv.reader(file(u"/home/wizzard/Poľsko/gminy/gminy.csv"), delimiter=";")
for i in reader:
  gmina['nazov'] = unicode("%s" % i[0], 'utf-8')
  gmina['typ'] = unicode("%s" % i[1], 'utf-8')
  gmina['sidlo'] = unicode("%s" % i[2], 'utf-8')
  gmina['rozloha'] = unicode("%s" % i[4], 'utf-8')
  gmina['obyvatelov'] = unicode("%s" % i[5], 'utf-8')
  gmina['roz'] = i[4]
  gmina['roz'] = gmina['roz'].replace(",", ".")
  gmina['oby'] = i[5]
  gmina['hustota'] = round(float(gmina['oby'])/float(gmina['roz']), 2)
  gmina['hustota'] = str(gmina['hustota'])
  gmina['hustota'] = gmina['hustota'].replace(".", ",")
  gmina['vojvodstvo'] = unicode("%s" % i[3], 'utf-8')
  if gmina['vojvodstvo'] == u"Dolnosliezske":
    gmina['vojvodstve'] = u"Dolnosliezskom"
  elif gmina['vojvodstvo'] == u"Kujavsko-pomoranské":
    gmina['vojvodstve'] = u"Kujavsko-pomoranskom"
  elif gmina['vojvodstvo'] == u"Lubelské":
    gmina['vojvodstve'] = u"Lubelskom"
  elif gmina['vojvodstvo'] == u"Lubuské":
    gmina['vojvodstve'] = u"Lubuskom"
  elif gmina['vojvodstvo'] == u"Lodžské":
    gmina['vojvodstve'] = u"Lodžskom"
  elif gmina['vojvodstvo'] == u"Malopoľské":
    gmina['vojvodstve'] = u"Malopoľskom"
  elif gmina['vojvodstvo'] == u"Mazovské":
    gmina['vojvodstve'] = u"Mazovskom"
  elif gmina['vojvodstvo'] == u"Opolské":
    gmina['vojvodstve'] = u"Opolskom"
  elif gmina['vojvodstvo'] == u"Podkarpatské":
    gmina['vojvodstve'] = u"Podkarpatskom"
  elif gmina['vojvodstvo'] == u"Podleské":
    gmina['vojvodstve'] = u"Podleskom"
  elif gmina['vojvodstvo'] == u"Pomoranské":
    gmina['vojvodstve'] = u"Pomoranskom"
  elif gmina['vojvodstvo'] == u"Sliezske":
    gmina['vojvodstve'] = u"Sliezskom"
  elif gmina['vojvodstvo'] == u"Svätokrížske":
    gmina['vojvodstve'] = u"Svätokrížskom"
  elif gmina['vojvodstvo'] == u"Varmsko-mazurské":
    gmina['vojvodstve'] = u"Varmsko-mazurskom"
  elif gmina['vojvodstvo'] == u"Veľkopoľské":
    gmina['vojvodstve'] = u"Veľkopoľskom"
  elif gmina['vojvodstvo'] == u"Západopomoranské":
    gmina['vojvodstve'] = u"Západopomoranskom"

  udaje = dict(gmina)
  ff=zisti_flagy(gmina['nazov'])
  udaje['flag']=ff[0]!=None and ff[0] or 'Flag missing.jpg'
  udaje['erb']=ff[1]!=None and ff[1] or 'Erb chýba.jpg'.decode('utf-8')
  udaje['map']=ff[2]!=None and ff[2] or 'Poland dummy map.png'
  vytvor_clanok( udaje )