From c5f16dde736602942a7c87f551b4689cd93301d0 Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Thu, 13 May 2021 15:10:59 +0300 Subject: Click and class skeleton --- Pipfile | 5 +++-- Pipfile.lock | 10 +++++++++- alarmpy.py | 54 ++++++++++++++++++++++++++++++++++-------------------- 3 files changed, 46 insertions(+), 23 deletions(-) diff --git a/Pipfile b/Pipfile index 37c73bb..72817d8 100644 --- a/Pipfile +++ b/Pipfile @@ -5,8 +5,9 @@ name = "pypi" [packages] requests = "*" +click = "*" [dev-packages] -[requires] -python_version = "3.9" +[scripts] +alarmpy = "python alarmpy.py" diff --git a/Pipfile.lock b/Pipfile.lock index eb9d1e2..fc20757 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "b8c2e1580c53e383cfe4254c1f16560b855d984fde8b2beb3bf6ee8fc2fe5a22" + "sha256": "664b9faf0a8eb2a8d610474cadf14fbe41061899336521b5aabe0c66b7b8bc98" }, "pipfile-spec": 6, "requires": { @@ -31,6 +31,14 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==4.0.0" }, + "click": { + "hashes": [ + "sha256:7d8c289ee437bcb0316820ccee14aefcb056e58d31830ecab8e47eda6540e136", + "sha256:e90e62ced43dc8105fb9a26d62f0d9340b5c8db053a814e25d95c19873ae87db" + ], + "index": "pypi", + "version": "==8.0.0" + }, "idna": { "hashes": [ "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6", diff --git a/alarmpy.py b/alarmpy.py index 9d63af1..a7e9237 100644 --- a/alarmpy.py +++ b/alarmpy.py @@ -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 -- cgit v1.3.1