kopia lustrzana https://github.com/sq9atk/sr0wx
69 wiersze
1.9 KiB
Python
Executable File
69 wiersze
1.9 KiB
Python
Executable File
#!/usr/bin/python -tt
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import urllib2
|
|
import re
|
|
import logging
|
|
import pytz
|
|
import socket
|
|
|
|
from datetime import datetime
|
|
from sr0wx_module import SR0WXModule
|
|
|
|
class CalendarSq9atk(SR0WXModule):
|
|
"""Klasa pobierająca dane kalendarzowe"""
|
|
|
|
def __init__(self,language,service_url,city_id=3094802):
|
|
self.__service_url = service_url
|
|
self.__city_id = city_id
|
|
self.__language = language
|
|
self.__logger = logging.getLogger(__name__)
|
|
|
|
|
|
def downloadFile(self, url):
|
|
try:
|
|
self.__logger.info("::: Odpytuję adres: " + url)
|
|
webFile = urllib2.urlopen(url, None, 30)
|
|
return webFile.read()
|
|
except urllib2.URLError, e:
|
|
print e
|
|
except socket.timeout:
|
|
print "Timed out!"
|
|
return ""
|
|
|
|
def getSunsetSunrise(self):
|
|
self.__logger.info("::: Pobieram dane o wschodzie i zachodzie słońca")
|
|
r = re.compile(r'<h1>(.*)(\d\d:\d\d)(.*)(\d\d:\d\d)</h1>')
|
|
url = self.__service_url+str(self.__city_id)
|
|
html = self.downloadFile(url)
|
|
matches = r.findall(html)
|
|
return {
|
|
'sunrise' : matches[0][1],
|
|
'sunset' : matches[0][3],
|
|
}
|
|
|
|
def hourToNumbers(self, time="00:00"):
|
|
datetime_object = datetime.strptime(time, '%H:%M')
|
|
time_words = self.__language.read_datetime(datetime_object, '%H %M')
|
|
return time_words
|
|
|
|
def get_data(self):
|
|
times = self.getSunsetSunrise()
|
|
self.__logger.info("::: Przetwarzam dane...\n")
|
|
|
|
sunrise = " ".join(["wscho_d_sl_on_ca","godzina",self.hourToNumbers(times['sunrise'])," "])
|
|
sunset = " ".join(["zacho_d_sl_on_ca","godzina",self.hourToNumbers(times['sunset'])," "])
|
|
|
|
message = " ".join([" _ kalendarium _ " ,sunrise ," _ " ,sunset ," _ "])
|
|
return {
|
|
"message": message,
|
|
"source": "calendar_zoznam_sk",
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|