Better error handling and logging
This commit is contained in:
parent
b0a6de4a49
commit
d9f578d0a9
@ -15,7 +15,11 @@ except ImportError:
|
|||||||
|
|
||||||
from .wiegand import Decoder
|
from .wiegand import Decoder
|
||||||
|
|
||||||
logging.basicConfig(level=logging.DEBUG)
|
logging.basicConfig(
|
||||||
|
level=logging.DEBUG,
|
||||||
|
format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
|
||||||
|
datefmt='%m-%d %H:%M'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def hash_uid(uid: str, salt: str) -> str:
|
def hash_uid(uid: str, salt: str) -> str:
|
||||||
@ -52,16 +56,18 @@ class Main:
|
|||||||
|
|
||||||
def sync_cards(self):
|
def sync_cards(self):
|
||||||
logging.info("Downloading users list")
|
logging.info("Downloading users list")
|
||||||
r = self.session.get(self.api_allowed, timeout=15)
|
|
||||||
try:
|
try:
|
||||||
|
r = self.session.get(self.api_allowed, timeout=15)
|
||||||
allowed_uids = r.json()["allowed_uids"]
|
allowed_uids = r.json()["allowed_uids"]
|
||||||
except JSONDecodeError as e:
|
except JSONDecodeError as e:
|
||||||
logging.exception("Failed to decode allowed uids json")
|
logging.exception("Failed to decode allowed uids json")
|
||||||
return
|
except (requests.Timeout, requests.ConnectionError) as e:
|
||||||
uids = set()
|
logging.exception("Connection timeout/error in sync cards")
|
||||||
for token in allowed_uids:
|
else:
|
||||||
uids.add(token["token"]["uid_hash"].strip())
|
uids = set()
|
||||||
self.uids = uids
|
for token in allowed_uids:
|
||||||
|
uids.add(token["token"]["uid_hash"].strip())
|
||||||
|
self.uids = uids
|
||||||
|
|
||||||
def wiegand_callback(self, bits, value):
|
def wiegand_callback(self, bits, value):
|
||||||
#print("bits", bits, "value", value)
|
#print("bits", bits, "value", value)
|
||||||
@ -78,10 +84,14 @@ class Main:
|
|||||||
"uid": value,
|
"uid": value,
|
||||||
"uid_hash": uid_h,
|
"uid_hash": uid_h,
|
||||||
"door": self.door,
|
"door": self.door,
|
||||||
"success": success,
|
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
|
||||||
"timestamp": time.strftime("%Y-%m-%d %H:%M:%S")
|
|
||||||
}
|
}
|
||||||
requests.post(self.api_swipe, data=data, timeout=15)
|
if success:
|
||||||
|
data["success"] = success
|
||||||
|
try:
|
||||||
|
requests.post(self.api_swipe, data=data, timeout=15)
|
||||||
|
except (requests.Timeout, requests.ConnectionError) as e:
|
||||||
|
logging.exception("Connection timeout/error in post swipes")
|
||||||
|
|
||||||
def listen_notification(self):
|
def listen_notification(self):
|
||||||
while 1:
|
while 1:
|
||||||
|
Reference in New Issue
Block a user