better error handling

This commit is contained in:
Jan Speller 2020-02-18 23:26:13 +01:00
parent 4e79feb92b
commit 4a2f2992b2

View file

@ -65,29 +65,28 @@ class BoswatchPlugin(PluginBase):
# Send Location via Telegram if Geocoding is enabled and Provider and Key are set
if self.config.get("geocoding", default=False):
try:
address = re.search(self.config.get("geoRegex"), bwPacket.get("message"))[1]
provider = self.config.get("geoApiProvider")
address = re.search(self.config.get("geoRegex"), bwPacket.get("message"))[1]
provider = self.config.get("geoApiProvider")
if "mapbox" == provider:
g = geocoder.mapbox(address, key=self.config.get("geoApiToken"))
elif "google" == provider:
g = geocoder.google(address, key=self.config.get("geoApiToken"))
else:
return
if "mapbox" == provider:
g = geocoder.mapbox(address, key=self.config.get("geoApiToken"))
elif "google" == provider:
g = geocoder.google(address, key=self.config.get("geoApiToken"))
else:
return
(lat, lng) = g.latlng
self.bot.sendLocation(chat_id=self.config.get("chatId", default=""), latitude=lat, longitude=lng)
except IndexError:
logging.warning("Address was not found in current Message, skipping Location")
except Exception:
logging.error("Error while sending location, please Check your geocoding provider and api-key")
(lat, lng) = g.latlng
self.bot.sendLocation(chat_id=self.config.get("chatId", default=""), latitude=lat, longitude=lng)
except (IndexError, TypeError, ValueError):
logging.warning("Address was not found in current Message, skipping Location")
except Unauthorized:
logging.error("Error while Telegram Message, please Check your api-key")
except TimedOut or NetworkError:
logging.error("Error while Telegram Message, please Check your connectivity")
except BadRequest or TelegramError:
logging.error("Error while Telegram Message")
logging.error("Error while sending Telegram Message, please Check your api-key")
except (TimedOut, NetworkError):
logging.error("Error while sending Telegram Message, please Check your connectivity")
except (BadRequest, TelegramError):
logging.error("Error while sending Telegram Message")
except Exception as e:
logging.error("Unknown Error while sending Telegram Message: " + str(type(e).__name__) + ": " + str(e))
pass