Files
TIMERS/timer_jet.py

204 lines
5.6 KiB
Python

import sys
from socket import *
from datetime import datetime
import logging
import os
import time
import binascii
import requests
HOST = "127.0.0.1"
PORT = 50000
PATH = (
r"D:\ГРАФИКА\БАСКЕТБОЛ\ЕДИНАЯ ЛИГА ВТБ 2022-2023\python\JSON\timer_basketball.json"
)
import socket
sock = socket.socket()
sock.bind(('', PORT))
sock.listen(1)
conn, addr = sock.accept()
print ('connected:', addr)
def send_data_CW(name, value):
try:
with socket.socket(AF_INET, SOCK_STREAM) as tcp_socket:
tcp_socket.connect(('192.168.1.170', 5115))
data = f"{name}={value}\n".encode()
# print(f"Sending: {data}") # Отладка
tcp_socket.sendall(data)
# print("Data sent!") # Подтверждение отправки
except Exception as e:
print(f"Error sending TCP data: {e}")
def send_vmix(params):
try:
url = "http://192.168.1.240:8088/API/"
requests.get(url, params=params)
except Exception as ex:
print(ex)
def parse(line, score1, score2):
temp = line.split('#')
diff1, diff2 = None, None
t = temp[0]
# for t in temp:
if t not in [" ", ""]:
a = t.split('/')
print(a)
timer_str = f"{a[4]}:{a[5] if len(a[5]) != 1 else f'0{a[5]}'}" if a[4] != "0" else f"{a[5]}.{a[6]}"
timer_attack_str = a[2]
points1 = a[7]
points2 = a[8]
quarter = a[13]
if score1 != points1:
diff1 = int(points1) - int(score1)
score1 = points1
if score2 != points2:
score2 = points2
diff2 = int(points2) - int(score2)
fouls1 = a[9]
fouls2 = a[10]
path = r"D:\Графика\БАСКЕТБОЛ\FIBA"
if int(fouls1) > 4:
foul_pic1 = path + "\HOME-FOUL4.png"
else:
foul_pic1 = path + f"\HOME-FOUL{fouls1}.png"
if int(fouls2) > 4:
foul_pic2 = path + "\AWAY-FOUL4.png"
else:
foul_pic2 = path + f"\AWAY-FOUL{fouls2}.png"
data = {
"TIMER": timer_str,
"ATTACK": timer_attack_str,
"Score_Home": score1,
"Score_Away": score2,
"fouls1": fouls1,
"fouls2": fouls2,
"quarter": quarter,
}
send_data_CW("TIMER", data["TIMER"])
send_data_CW("ATTACK", data["ATTACK"])
send_data_CW("Score_Home", data["Score_Home"])
send_data_CW("Score_Away", data["Score_Away"])
send_data_CW("fouls1", data["fouls1"])
send_data_CW("fouls2", data["fouls2"])
send_data_CW("quarter", data["quarter"])
params = {
"Function": "SetText",
"Input": 2,
"SelectedName": "ATTACK.Text",
"Value": data["ATTACK"],
# "SelectedName": "TIME.Text",
# "Value": timer_str,
}
send_vmix(params)
params = {
"Function": "SetText",
"Input": 2,
"SelectedName": "TIME.Text",
"Value": data["TIMER"],
}
send_vmix(params)
params = {
"Function": "SetText",
"Input": 2,
"SelectedName": "SCORE1.Text",
"Value": data["Score_Home"],
}
send_vmix(params)
params = {
"Function": "SetText",
"Input": 2,
"SelectedName": "SCORE2.Text",
"Value": data["Score_Away"],
}
send_vmix(params)
# params = {
# "Function": "SetText",
# "Input": 20,
# "SelectedName": "SCOREDIFF1.Text",
# "Value": f"+{diff1}",
# }
# requests.get(url, params=params)
# params = {
# "Function": "SetText",
# "Input": 20,
# "SelectedName": "SCOREDIFF2.Text",
# "Value": f"+{diff2}",
# }
# requests.get(url, params=params)
params = {
"Function": "SetImage",
"Input": 2,
"SelectedName": "FOULS_HOME.Source",
"Value": foul_pic1,
}
send_vmix(params)
params = {
"Function": "SetImage",
"Input": 2,
"SelectedName": "FOULS_AWAY.Source",
"Value": foul_pic2,
}
send_vmix(params)
print(timer_str, timer_attack_str, points1, points2,fouls1, fouls2, diff1, diff2, a)
return score1, score2
score1, score2 = 0, 0
while True:
data = conn.recv(1024)
line = data.decode("utf-8")
print(line)
if not data:
break
score1, score2 = parse(line, score1, score2)
conn.close()
# def main():
# try:
# tcp_socket = socket(AF_INET, SOCK_STREAM)
# tcp_socket.connect((HOST, PORT))
# data = str.encode("hello")
# tcp_socket.send(data)
# data = bytes.decode(data)
# while True:
# data = tcp_socket.recv(1024)
# print(data)
# # url = "http://127.0.0.1:8088/API/"
# # params = {
# # "Function": "SetText",
# # "Input": 221,
# # "SelectedName": "12sec.Text",
# # "Value": timer_attack,
# # }
# # params1 = {
# # "Function": "SetColor",
# # "Input": 221,
# # "SelectedName": "12SecBackground.Fill.Color",
# # "Value": timer_color,
# # }
# # requests.get(url, params=params)
# except KeyboardInterrupt:
# tcp_socket.close()
# sys.exit(1)
# if __name__ == "__main__":
# main()