144 lines
4.1 KiB
Python
144 lines
4.1 KiB
Python
import sys
|
|
import json
|
|
from socket import *
|
|
from datetime import datetime
|
|
import time
|
|
|
|
|
|
host = "10.0.0.57"
|
|
port = 50002
|
|
ADDR = (host, port)
|
|
PATH = "D:\\timer_basketball.json"
|
|
|
|
|
|
def save_log(name, data):
|
|
current_time = datetime.now().strftime("%d-%m-%Y %H:%M:%S.%f")
|
|
message_with_time = f"[{current_time}] {data}"
|
|
with open(name, "a") as file:
|
|
file.write(message_with_time + "\n")
|
|
|
|
|
|
def parse(data):
|
|
data = data.split("/")
|
|
|
|
with open(PATH, "r", encoding="utf-8") as f:
|
|
new_data = json.load(f)
|
|
new_data = new_data[0]
|
|
path_pic = "D:\Графика\БАСКЕТБОЛ\ЕДИНАЯ ЛИГА ВТБ 2022-2023\VTB_Fouls for scoreboard smaller"
|
|
if len(data) > 10:
|
|
if data[4] == "NPR":
|
|
new_data["quarter"] = data[5]
|
|
if data[17] == "HCP":
|
|
new_data["points1"] = data[18]
|
|
if data[20] == "GCP":
|
|
new_data["points2"] = data[21]
|
|
if data[29] == "HCF":
|
|
new_data["foul1"] = data[30]
|
|
new_data["foul_pic1"] = path_pic + f"\Home тАУ {int(data[30])} Foul.png"
|
|
if data[32] == "GCF":
|
|
new_data["foul2"] = data[33]
|
|
new_data["foul_pic2"] = path_pic + f"\Away тАУ {int(data[33])} Foul.png"
|
|
else:
|
|
if data[1] == "TGI":
|
|
if data[2] != "0":
|
|
seconds = data[3] if len(data[3]) != 1 else f"0{data[3]}"
|
|
new_data["timeGFX"] = f"{data[2]}:{seconds}"
|
|
else:
|
|
millisec = data[4]
|
|
if millisec == "#":
|
|
millisec = "0"
|
|
new_data["timeGFX"] = f"{data[3]}.{millisec}"
|
|
elif data[1] == "NPR":
|
|
new_data["quarter"] = data[2]
|
|
elif data[1] == "HCP":
|
|
new_data["points1"] = data[2]
|
|
elif data[1] == "GCP":
|
|
new_data["points2"] = data[2]
|
|
elif data[1] == "HCF":
|
|
new_data["foul1"] = data[2]
|
|
new_data["foul_pic1"] = path_pic + f"\Home тАУ {int(data[2])} Foul.png"
|
|
elif data[1] == "GCF":
|
|
new_data["foul2"] = data[2]
|
|
new_data["foul_pic2"] = path_pic + f"\Away тАУ {int(data[2])} Foul.png"
|
|
elif data[1] == "TAI":
|
|
if data[2] not in ["0", "-1"]:
|
|
new_data["time_attackGFX"] = str(int(data[2]))
|
|
if int(data[2]) <= 5:
|
|
new_data["time_attac_pic"] = ""
|
|
else:
|
|
new_data["time_attac_pic"] = "empty"
|
|
|
|
try:
|
|
with open(PATH, "w", encoding="utf-8") as file:
|
|
json.dump([new_data], file, ensure_ascii=False, indent=4)
|
|
print(new_data)
|
|
if ":" in new_data["timeGFX"]:
|
|
time.sleep(.5)
|
|
else:
|
|
time.sleep(.1)
|
|
|
|
except Exception:
|
|
pass
|
|
|
|
|
|
def read_logs():
|
|
with open("logs_mba_1.txt", "r") as file:
|
|
for line in file:
|
|
parts = line.strip().split("] ")
|
|
if len(parts) == 2:
|
|
timestamp = parts[0][1:]
|
|
data = parts[1]
|
|
|
|
parse(data)
|
|
|
|
# if len(eval(data)) > 30 and eval(data)[-7] == "00":
|
|
# time.sleep(.1)
|
|
# else:
|
|
# time.sleep(1)
|
|
|
|
|
|
def main():
|
|
new_data = {
|
|
"timeGFX": "0:00",
|
|
"time_attackGFX": "",
|
|
"quarter": "0",
|
|
"points1": "0",
|
|
"points2": "0",
|
|
"foul1": "0",
|
|
"foul2": "0",
|
|
"foul_pic1": "",
|
|
"foul_pic2": "",
|
|
"time_attac_pic": "",
|
|
}
|
|
with open(PATH, "w", encoding="utf-8") as file:
|
|
json.dump([new_data], file, ensure_ascii=False, indent=4)
|
|
|
|
|
|
|
|
|
|
|
|
# tcp_socket = socket(AF_INET, SOCK_STREAM)
|
|
# tcp_socket.connect(ADDR)
|
|
|
|
# try:
|
|
# while True:
|
|
# data = str.encode("hello")
|
|
# tcp_socket.send(data)
|
|
# data = bytes.decode(data)
|
|
# data = tcp_socket.recv(1024)
|
|
# data = data.decode()
|
|
# save_log("logs_mba_1.txt", data)
|
|
# parse(data)
|
|
# except KeyboardInterrupt:
|
|
# tcp_socket.close()
|
|
# sys.exit(1)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
try:
|
|
main()
|
|
read_logs()
|
|
except KeyboardInterrupt:
|
|
sys.exit(1)
|
|
|