summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVon Random <von@vdrandom.org>2018-11-09 14:43:38 +0300
committerVon Random <von@vdrandom.org>2018-11-09 14:43:38 +0300
commitc6a995caee4c6daa76cd00c4b8a71cbfe719bf4f (patch)
tree4f46fe053a8d3a37269bfa805170441b38e35bfc
parent05f83d818b69531a810600d9e9cbe6799bdb96b9 (diff)
retry for fga plugin
-rw-r--r--plugins/fga.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/plugins/fga.py b/plugins/fga.py
index ccda9d5..9e41826 100644
--- a/plugins/fga.py
+++ b/plugins/fga.py
@@ -1,21 +1,36 @@
# TODO: tidy up the fucking code
import plugins
import requests
+import time
URI = 'http://fucking-great-advice.ru/api/random'
class PluginThread(plugins.PluginThreadCommon):
def __init__(self, config):
- defaults = {'freq': 120}
+ defaults = {'freq': 120, 'retry': 3}
super(PluginThread, self).__init__(config, defaults)
+ self.retry = False
def main(self):
try:
req = requests.get(URI, timeout=2)
advice = req.json()['text'] if req.status_code == 200 else 'N/A'
+ self.retry = True
except requests.exceptions.Timeout:
advice = 'N/A (timeout)'
+ self.retry = False
except requests.exceptions.ConnectionError:
advice = 'N/A (offline)'
+ self.retry = False
self.status['full_text'] = advice
+
+
+ def run(self):
+ while True:
+ self.main()
+ if self.retry:
+ sleep_time = self.conf['retry']
+ else:
+ sleep_time = self.conf['freq']
+ time.sleep(sleep_time)