diff --git a/live_status_ntf.py b/live_status_ntf.py index dad44fd..b40a564 100644 --- a/live_status_ntf.py +++ b/live_status_ntf.py @@ -55,20 +55,22 @@ class MyHandler(FileSystemEventHandler): room: Room = get_room(event.src_path) - with open(event.src_path, "r", encoding="utf-8") as f: + try: + with open(event.src_path, "r", encoding="utf-8") as f: + if room.position > os.path.getsize(event.src_path): + room.reset() + f.seek(room.position) - if room.position > os.path.getsize(event.src_path): - room.reset() - f.seek(room.position) + room.position = os.path.getsize(event.src_path) - room.position = os.path.getsize(event.src_path) - - for line in f: - try: - data = json.loads(line) - except json.decoder.JSONDecodeError: - continue - self._handle_data(room, data) + for line in f: + try: + data = json.loads(line) + except json.decoder.JSONDecodeError: + continue + self._handle_data(room, data) + except UnicodeDecodeError: + pass self._check_room_state_change(room) @@ -122,16 +124,16 @@ class MyHandler(FileSystemEventHandler): room.state_changed = False if room.state == 1: - msg = f"{room.db_room.liver_name} 开锅了!\nhttps://live.bilibili.com/{room.room_id}" + msg = f"{ + room.db_room.liver_name} 开锅了!\nhttps://live.bilibili.com/{room.room_id}" requests.post("http://turntf:18846/notify", json={"msg": msg}) elif room.state == 2: - msg = f"{room.db_room.liver_name} 下锅了!\nhttps://live.bilibili.com/{room.room_id}" + msg = f"{ + room.db_room.liver_name} 下锅了!\nhttps://live.bilibili.com/{room.room_id}" requests.post("http://turntf:18846/notify", json={"msg": msg}) - - def main(): for f in os.listdir(path): f = path+"/"+str(f)