#!/usr/bin/python2.4
# -*- coding: utf-8 -*-
import wikipedia, string, csv
from atomobot_language import AtomobotLanguageSlovak
from wizzo_bot_support import WizzoBotSuhvezdie
lang = AtomobotLanguageSlovak()
suhv = WizzoBotSuhvezdie()
ngc = {}
typ = {
'gxy' : u'galaxia',
'GxyP' : u'hviezdna asociácia',
'*Grp' : u'otvorená hviezdokopa',
'OCL' : u'otvorená hviezdokopa',
'GCL' : u'guľová hviezdokopa',
'*' : u'hviezda',
'*2' : u'dvojhviezda',
'*3' : u'trojhviezda',
'*4' : u'štvorhviezda',
'*?' : u'viacnásobná hviezda',
'PN' : u'planetárna hmlovina',
'EN' : u'emisná hmlovina',
'RN' : u'reflexná hmlovina',
'DN' : u'tmavá hmlovina',
'RN+EN' : u'reflexná hmlovina a emisná hmlovina',
'EN+RN' : u'emisná hmlovina a reflexná hmlovina',
'EN+OCL': u'emisná hmlovina s otvorenou hviezdokopou',
'EN+*' : u'emisná hmlovina s hviezdou',
'SNR' : u'zvyšok supernovy',
'SNR?' : u'hmlovina',
'OCL+PN': u'otvorená hviezdokopa a planetárna hmlovina',
'OCL+EN': u'otvorená hviezdokopa s emisnou hmlovinou',
'OCL+RN': u'otvorená hviezdokopa s reflexnou hmlovinou',
'*Cloud': u'hmlovina',
'NF' : u'neexistujúci objekt'
}
for k in range(32):
reader = csv.reader(file("/home/wizzard/ngc.csv"), delimiter=";")
reader.next()
j = 0
clanok = u"""{| {{pekná tabuľka}}
|- bgcolor=lightgrey
! Označenie || Typ objektu || [[Rektascenzia]] || [[Deklinácia]] || [[Zdanlivá jasnosť]] || [[Súhvezdie]] || Dátum objavu || Objaviteľ
"""
for i in reader:
j = j+1
if (j < (251+k*250)) and (j > (k*250)):
ngc['cislo'] = j
if i[19] == "NF":
ngc['nazov'] = "NGC %s" % str(j)
else:
ngc['nazov'] = "[[NGC %s]]" % str(j)
ngc['suhv'] = u"%s" % suhv.suhvezdie[i[18]]
ngc['suhvezdie'] = u"[[Súhvezdie %s|%s]]" % (suhv.suhvezdie[i[18]], suhv.suhvezdie[i[18]])
ngc['rektascenzia'] = u"%sh %sm %ss" % (i[10], i[11], i[12])
ngc['deklinacia'] = u"%s%s° %s' %s\"" % (i[13], i[14], i[15], i[16])
ngc['vmag'] = i[17]
if i[19] == "NF":
ngc['typ'] = "%s" % typ[i[19]]
else:
ngc['typ'] = "[[%s]]" % typ[i[19]]
ngc['objavitel'] = i[1]
if " " in ngc['objavitel']:
priezvisko, meno = ngc['objavitel'].split();
ngc['objavitel'] = "[[%s %s]]" % (meno, priezvisko)
else:
ngc['objavitel'] = "[[%s]]" % ngc['objavitel']
if (i[3] != "-") and (i[3] != "*"):
i[3] = int(i[3])
datum_mes = lang.MONTH_NAME[ i[3] ]
else:
datum_mes = ""
if i[4] != "-":
objav_den = i[4]
if i[2] != "-":
objav_rok = i[2]
if datum_mes != "":
ngc['datum'] = "[[%s. %s]] [[%s]]" % ( objav_den, datum_mes, objav_rok )
else:
ngc['datum'] = "[[%s]]" % ( objav_rok )
udaje = {}
udaje.update(ngc)
clanok += u"""|-
| %(nazov)s || %(typ)s || %(rektascenzia)s || %(deklinacia)s || %(vmag)s || %(suhvezdie)s || %(datum)s || %(objavitel)s \r\n""" % udaje
clanok += u"""|}
[[Kategória:NGC objekty|*]]
[[Kategória:Zoznamy astronomických objektov]]
[[en:List of NGC objects]]
"""
zoznam = ""
start = 250 * k + 1
stop = start + 249
if stop == 8000: stop = 7840
prev = "%s-%s" % (start-250, stop-250)
next = "%s-%s" % (start+250, stop+250)
if start < 2: prev = "7751-7840"
if stop > 7800: next = "1-250"
navig = u"{{navigátor|Zoznam NGC objektov %s|Zoznam NGC objektov %s}}\r\n" % (prev, next)
zoznam = navig + clanok
site = wikipedia.getSite()
stranka = wikipedia.Page( site, u"Zoznam NGC objektov %s-%s" % (start, stop) )
stranka.put(zoznam, u"testovanie bota")