diff options
| author | Yuval Adam <_@yuv.al> | 2021-05-13 15:10:59 +0300 |
|---|---|---|
| committer | Yuval Adam <_@yuv.al> | 2021-05-13 15:10:59 +0300 |
| commit | c5f16dde736602942a7c87f551b4689cd93301d0 (patch) | |
| tree | 51f1192646d659da4525a2879f53133f88047db8 /alarmpy.py | |
| parent | b44014d415764dfbd1cec9c5951c63bdb9af7e7c (diff) | |
Click and class skeleton
Diffstat (limited to 'alarmpy.py')
| -rw-r--r-- | alarmpy.py | 54 |
1 files changed, 34 insertions, 20 deletions
@@ -1,30 +1,44 @@ +import click +import requests + from datetime import datetime from time import sleep -import requests -HEADERS = { - "Referer": "https://www.oref.org.il/11226-he/pakar.aspx", - "X-Requested-With": "XMLHttpRequest", - "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36", -} +class Alarm(object): + + URL = "https://www.oref.org.il/WarningMessages/alert/alerts.json" + + HEADERS = { + "Referer": "https://www.oref.org.il/11226-he/pakar.aspx", + "X-Requested-With": "XMLHttpRequest", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36", + } + + def __init__(self, delay=1): + self.delay = delay + + def start(self): + while True: + self.fetch() + sleep(self.delay) -URL = "https://www.oref.org.il/WarningMessages/alert/alerts.json" + def fetch(self): + res = requests.get(self.URL, headers=self.HEADERS) + if res.content: + try: + print(datetime.now().isoformat(), res.json()) + except: + print(datetime.now().isoformat(), res.content) + else: + pass -def fetch(): - res = requests.get(URL, headers=HEADERS) - if res.content: - try: - print(datetime.now().isoformat(), res.json()) - except: - print(datetime.now().isoformat(), res.content) - else: - # print("good") - pass +@click.command() +@click.option("--delay", default=1, help="Polling delay in seconds") +def alarm(delay): + Alarm().start() if __name__ == "__main__": - while True: - sleep(1) - fetch() + alarm() # pylint: disable=no-value-for-parameter |
