summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2021-05-13 15:10:59 +0300
committerYuval Adam <_@yuv.al>2021-05-13 15:10:59 +0300
commitc5f16dde736602942a7c87f551b4689cd93301d0 (patch)
tree51f1192646d659da4525a2879f53133f88047db8
parentb44014d415764dfbd1cec9c5951c63bdb9af7e7c (diff)
Click and class skeleton
-rw-r--r--Pipfile5
-rw-r--r--Pipfile.lock10
-rw-r--r--alarmpy.py54
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