Користувач:Дядько Ігор/Скрипти/Переробка українських сіл
Перейти до навігації
Перейти до пошуку
# -*- coding: utf-8 -*-
import re, codecs
import wikipedia as pywikibot
import config
def get_address(content):
pattern = re.compile(u'(?<=\| адреса)(.*?)\n')
m = pattern.search(content)
if m is not None:
addr = m.group(0).strip()
pattern = re.compile(u'(?<=\=)(.*?)')
m1 = pattern.search(addr)
addr = addr[m1.start():].strip()
content = content[:m.start()] + u' =\n' + content[m.end():]
return addr, content
def get_weather_site(content):
pattern = re.compile(u'(?<=\* \[http:\/\/weather\.in\.ua\/)(.*?)\n')
m = pattern.search(content)
if m is not None:
site = m.group(0).strip()
content = content[:m.start()] + content[m.end():]
content = content.replace(u'* [http://weather.in.ua/', u'')
site = u'* [http://weather.in.ua/' + site
return site, content
def get_altitude(content):
pattern = re.compile(u'(?<=\| висота)(.*?)\n')
m = pattern.search(content)
if m is not None:
alti = m.group(0).strip()
pattern = re.compile(u'(?<=\=)(.*?)')
m1 = pattern.search(alti)
alti = alti[m1.start():].strip()
content = content[:m.start()] + u' = <!---' +alti +u'-->\n' + content[m.end():]
return alti, content
def get_area(content):
pattern = re.compile(u'(?<=\| площа)(.*?)\n')
m = pattern.search(content)
if m is not None:
ar = m.group(0).strip()
pattern = re.compile(u'(?<=\=)(.*?)')
m1 = pattern.search(ar)
ar = ar[m1.start():].strip()
content = content[:m.start()] + u' = <!---' +ar +u'-->\n' + content[m.end():]
return ar, content
def get_density(content):
pattern = re.compile(u'(?<=\| щільність)(.*?)\n')
m = pattern.search(content)
if m is not None:
den = m.group(0).strip()
pattern = re.compile(u'(?<=\=)(.*?)')
m1 = pattern.search(den)
den = den[m1.start():].strip()
content = content[:m.start()] + u' = <!---' + den +u'-->\n' + content[m.end():]
return den, content
def get_zip(content):
pattern = re.compile(u'(?<=\| поштовий індекс)(.*?)\n')
m = pattern.search(content)
if m is not None:
zip0 = m.group(0).strip()
pattern = re.compile(u'(?<=\=)(.*?)')
m1 = pattern.search(zip0)
zip0 = zip0[m1.start():].strip()
content = content[:m.start()] + u' = <!---' + zip0 +u'-->\n' + content[m.end():]
return zip0, content
def get_tel(content):
pattern = re.compile(u'(?<=\| телефонний код)(.*?)\n')
m = pattern.search(content)
if m is not None:
tel = m.group(0).strip()
pattern = re.compile(u'(?<=\=)(.*?)')
m1 = pattern.search(tel)
tel = tel[m1.start():].strip()
content = content[:m.start()] + u' = <!---' + tel +u'-->\n' + content[m.end():]
return tel, content
name = u'Борсків'
number = 2934
page = pywikibot.Page(pywikibot.getSite(), name)
content = page.get()
content = content.replace(u' \n', u'')
weather_site, content = get_weather_site(content)
weather_site = weather_site.replace(u'*', u'').strip()
altitude, content = get_altitude(content)
area, content = get_area(content)
density, content = get_density(content)
altitude = u'Село лежить на висоті ' + altitude + u' м над рівнем моря<ref>' + weather_site + u'</ref>.'
altitude = altitude + u' Воно займає площу ' + area+u' км².'
altitude = altitude + u' [[Густота населення]] в ньому ' + density + u' осіб/км²'
ref = u'<ref>[http://w1.c1.rada.gov.ua/pls/z7502/A005?rf7571=%d' % number
ref = ref + u' Сторінка села на сайті Верховної Ради]</ref>.'
altitude = altitude + ref
altitude = altitude + u'\n\n== Посилання ==\n'
content = content.replace(u'== Посилання ==', altitude )
address, content = get_address(content)
index, content = get_zip(content)
tel, content = get_tel(content)
address = u'== Контактна інформація ==\n{| style align = \"top\"\n|width = 200px valign = top|\'\'Адреса селищної ради:\'\' ||align = left|' + address
address = address + u'\n|-\n|\'\'Поштовий індекс:\'\' || ' + index
address = address + u'\n|-\n|\'\'Телефонний код:\'\' || ' + tel
address = address + u'\n|}\n== Виноски == \n {{reflist}}'
content = content.replace(u'== Посилання ==', address.strip() )
pywikibot.output(content)
page.put(content, comment = u'Переробка сторінки села', minorEdit = False)