From 143dbfca1449db08770ed058ac3e73e7fcbea3c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pawe=C5=82=20Ostolski?=
Date: Sun, 22 Mar 2020 13:01:49 +0100
Subject: [PATCH] =?UTF-8?q?dodanie=20timeout=C3=B3w=20do=20=C5=BC=C4=85da?=
=?UTF-8?q?=C5=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
activity_map.py | 3 ++-
air_pollution_sq9atk.py | 18 ++++++++++++++----
calendar_sq9atk.py | 12 ++++++++++--
config.py | 6 +++---
geo_magnetic_sq9atk.py | 1 +
imgw_podest_sq9atk.py | 2 +-
meteo_sq9atk.py | 13 +++++++++++--
meteoalarm_sq9atk.py | 29 ++++++++++++++++++++++-------
openweather_sq9atk.py | 11 +++++++++--
radioactive_sq9atk.py | 12 ++++++++++--
10 files changed, 83 insertions(+), 24 deletions(-)
diff --git a/activity_map.py b/activity_map.py
index 7755954..51e997a 100755
--- a/activity_map.py
+++ b/activity_map.py
@@ -41,7 +41,7 @@ Parameters:
"""
def __init__(self, callsign, latitude, longitude, hour_quarter,
above_sea_level, above_ground_level, station_range,
- additional_info="", service_url="http://test.ostol.pl"):
+ additional_info="", service_url=""):
self.__callsign = callsign
self.__latitude = latitude
self.__longitude = longitude
@@ -74,6 +74,7 @@ Parameters:
dump = json.dumps(station_info, separators=(',', ':'))
b64data = base64.urlsafe_b64encode(dump)
request = self.__service_url + b64data
+ self.__logger.info("::: Odpytuję adres: " + request)
response = urllib.urlopen(request).read()
if response == 'OK':
diff --git a/air_pollution_sq9atk.py b/air_pollution_sq9atk.py
index 6ba1f46..d639bd1 100755
--- a/air_pollution_sq9atk.py
+++ b/air_pollution_sq9atk.py
@@ -4,7 +4,9 @@
import urllib2
import logging
import json
+import socket
+from pprint import pprint
# LISTA STACJI Z NUMERAMI
# http://api.gios.gov.pl/pjp-api/rest/station/findAll
@@ -26,9 +28,17 @@ class AirPollutionSq9atk(SR0WXModule):
self.__index_url = "aqindex/getIndex/"
def getJson(self, url):
- data = urllib2.urlopen(url)
- jsonArr = json.load(data)
- return jsonArr
+ self.__logger.info("::: Odpytuję adres: " + url)
+
+ try:
+ data = urllib2.urlopen(url, None, 45)
+ return json.load(data)
+ except urllib2.URLError, e:
+ print e
+ except socket.timeout:
+ print "Timed out!"
+
+ return {}
def getStationName(self):
url = self.__service_url + self.__stations_url
@@ -103,7 +113,7 @@ class AirPollutionSq9atk(SR0WXModule):
valuesMessage = self.prepareMessage(sensorsData)
message += valuesMessage
-
+ print "\n"
return {
"message": message,
# "source": "powietrze_malopolska_pl",
diff --git a/calendar_sq9atk.py b/calendar_sq9atk.py
index 4799d0a..256ef2e 100755
--- a/calendar_sq9atk.py
+++ b/calendar_sq9atk.py
@@ -5,6 +5,7 @@ import urllib2
import re
import logging
import pytz
+import socket
from datetime import datetime
from sr0wx_module import SR0WXModule
@@ -20,8 +21,15 @@ class CalendarSq9atk(SR0WXModule):
def downloadFile(self, url):
- webFile = urllib2.urlopen(url)
- return webFile.read()
+ 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")
diff --git a/config.py b/config.py
index b8f63bd..5bf5d89 100755
--- a/config.py
+++ b/config.py
@@ -148,12 +148,12 @@ imgwpodestsq9atk = ImgwPodestSq9atk(
## MAPA WSZYSTKICH WODOWSKAZÓW W POLSCE Z NUMERAMI
## http://wx.ostol.pl/wodowskazy/
- '2.149180210', # Nazwa: Zabrzeg, rzeka: Wisła - zrypany wodowskaz / tylko do testów
- '2.149200360', # Nazwa: Lipnica Murowana, rzeka: Uszwica - zrypany wodowskaz / tylko do testów
+ #'2.149180210', # Nazwa: Zabrzeg, rzeka: Wisła - zrypany wodowskaz / tylko do testów
+ #'2.149200360', # Nazwa: Lipnica Murowana, rzeka: Uszwica - zrypany wodowskaz / tylko do testów
'2.149200370', # Nazwa: Okocim, rzeka: Uszwica - zrypany wodowskaz / tylko do testów
'2.149190350', # Nazwa: Krzczonów, rzeka: Krzczonówka - zrypany wodowskaz / tylko do testów
'2.150210200', # Nazwa: Grebów, rzeka: Łęg - zrypany wodowskaz / tylko do testów
- '2.149180080', # Nazwa: Drogomyśl, rzeka: Wisła - zrypany wodowskaz / tylko do testów
+ #'2.149180080', # Nazwa: Drogomyśl, rzeka: Wisła - zrypany wodowskaz / tylko do testów
'2.149210050', # Nazwa: Krajowice, rzeka: Wisłoka
'2.149200110', # Nazwa: Trybsz, rzeka: Białka
diff --git a/geo_magnetic_sq9atk.py b/geo_magnetic_sq9atk.py
index f6461bb..d16ac2f 100755
--- a/geo_magnetic_sq9atk.py
+++ b/geo_magnetic_sq9atk.py
@@ -35,6 +35,7 @@ class GeoMagneticSq9atk(SR0WXModule):
}
def downloadDataFromUrl(self, url):
+ self.__logger.info("::: Odpytuję adres: " + url)
opener = urllib2.build_opener()
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 5.1; rv:10.0.1) Gecko/20100101 Firefox/10.0.1',
diff --git a/imgw_podest_sq9atk.py b/imgw_podest_sq9atk.py
index c3ce12f..d5e1b37 100755
--- a/imgw_podest_sq9atk.py
+++ b/imgw_podest_sq9atk.py
@@ -137,7 +137,7 @@ class ImgwPodestSq9atk(SR0WXModule):
a=1
#s.__logger.info("Przetwarzam wodowskaz: " + wodowskaz + " - " + rzeka + ' - ' + w['nazwa_org'])
except:
- s.__logger.info("::: Brak danych!!! "+ wodowskaz+" - " + rzeka + ' - ' + w['nazwa_org'])
+ s.__logger.info("::: Brak danych!!! "+ wodowskaz )
pass
message = "";
diff --git a/meteo_sq9atk.py b/meteo_sq9atk.py
index f8d1cc4..79c67df 100755
--- a/meteo_sq9atk.py
+++ b/meteo_sq9atk.py
@@ -21,8 +21,17 @@ class MeteoSq9atk(SR0WXModule):
self.__logger = logging.getLogger(__name__)
def downloadFile(self, url):
- webFile = urllib2.urlopen(url)
- return webFile.read()
+ self.__logger.info("::: Odpytuję adres: " + url)
+ try:
+ webFile = urllib2.urlopen(url, None, 30)
+ return webFile.read()
+ except URLError, e:
+ print e
+ except socket.timeout:
+ print "Timed out!"
+ return ""
+
+
def getHour(self):
time = ":".join([str(datetime.now().hour), str(datetime.now().minute)])
diff --git a/meteoalarm_sq9atk.py b/meteoalarm_sq9atk.py
index f51968b..0128b7e 100755
--- a/meteoalarm_sq9atk.py
+++ b/meteoalarm_sq9atk.py
@@ -20,6 +20,7 @@ import urllib2
import re
import logging
import json
+import socket
from sr0wx_module import SR0WXModule
@@ -51,14 +52,28 @@ class MeteoalarmSq9atk(SR0WXModule):
}
def getDataFromUrl(self, url):
- dane = urllib2.urlopen(url)
- self.__logger.info("Przetwarzam...\n")
- zagrozenia = json.load(dane)
- return zagrozenia
+ self.__logger.info("::: Odpytuję adres: " + url)
+ dane = ''
+ try:
+ dane = urllib2.urlopen(url, None, 30);
+ return json.load(dane)
+ except URLError, e:
+ print e
+ except socket.timeout:
+ print "Timed out!"
+ return {}
def downloadFile(self, url):
- webFile = urllib2.urlopen(url)
- return webFile.read()
+
+ 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 getWarnings(self, region, tomorrow=False):
r = re.compile('pictures/aw(\d[01]?)([0234]).jpg')
@@ -96,7 +111,7 @@ class MeteoalarmSq9atk(SR0WXModule):
message += " ".join([self.warningsPrefix," ",self.regions[self.__region],"_", "dzis","_", today,"_","jutro","_",tomorrow])
message += " _ "
-
+ print "\n"
return {
"message": message,
"source": "meteoalarm_eu",
diff --git a/openweather_sq9atk.py b/openweather_sq9atk.py
index 6041c71..c9d6389 100755
--- a/openweather_sq9atk.py
+++ b/openweather_sq9atk.py
@@ -5,6 +5,7 @@ import urllib2
import logging
from datetime import datetime
import json as JSON
+import socket
from sr0wx_module import SR0WXModule
@@ -84,8 +85,14 @@ class OpenWeatherSq9atk(SR0WXModule):
}
def downloadFile(self, url):
- webFile = urllib2.urlopen(url)
- return webFile.read()
+ try:
+ webFile = urllib2.urlopen(url, None, 30)
+ return webFile.read()
+ except urllib2.URLError, e:
+ print e
+ except socket.timeout:
+ print "Timed out!"
+ return ""
def getHour(self):
time = ":".join([str(datetime.now().hour), str(datetime.now().minute)])
diff --git a/radioactive_sq9atk.py b/radioactive_sq9atk.py
index ce1d143..57f1398 100755
--- a/radioactive_sq9atk.py
+++ b/radioactive_sq9atk.py
@@ -5,6 +5,7 @@ import urllib2
import re
import logging
import pytz
+import socket
from datetime import datetime
from sr0wx_module import SR0WXModule
@@ -19,8 +20,15 @@ class RadioactiveSq9atk(SR0WXModule):
self.__logger = logging.getLogger(__name__)
def downloadFile(self, url):
- webFile = urllib2.urlopen(url)
- return webFile.read()
+ 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 isSensorMatchedById(self, sensorId, string):
pos = string.find(","+str(sensorId)+", ")