import time
from tkinter import *
import socket
import threading
 
zaustavi = False
def klijent_():
    global zaustavi
    s = socket.socket()
    host = socket.gethostname()
    port = 12345
 
    if len(unos.get()) > 0:
        s.connect((host, port))
        prosledi = ''
        prosledi += unos.get() + ':'
        prosledi += rb.get() + ':'
        s.send(prosledi.encode())
        odg = s.recv(1024).decode()
        lb.insert(0, odg)
 
        if odg.__contains__('Zaustavljena animacija'):
            zaustavi = True
        s.close()
 
def animacija():
    arc = canvas.create_arc(20, 20, 280, 150, start=0, extent=180, fill='red')
    ugao = 0
    while True:
        line = canvas.create_arc(20, 20, 280, 150, start=0, extent=ugao)
        ugao += 10
        if ugao == 190:
            ugao = 0
        time.sleep(0.2)
        canvas.delete(line)
        if zaustavi == True:
            canvas.delete(arc)
            break
 
    ugao = 180
    while True:
        arc = canvas.create_arc(20, 20, 280, 150, start=0, extent=ugao, fill='red')
        ugao -= 10
        time.sleep(0.2)
        canvas.delete(arc)
        if ugao == -10:
            break
 
root = Tk()
canvas = Canvas(root, width=300, height=200, bg='yellow')
canvas.pack()
ime = Label(root, text='Ime', bg='blue', fg='white')
ime.pack()
unos = Entry(root)
unos.pack()
rb = StringVar()
rb1 = Radiobutton(root, variable=rb, text='Vreme', value='VREME')
rb1.pack()
rb2 = Radiobutton(root, variable=rb, text='Kraj', value='KRAJ')
rb2.pack()
btn = Button(root, text='Posalji', command=klijent_)
btn.pack()
lb = Listbox(root, width=30, height=15)
lb.pack()
 
t = threading.Thread(target=animacija)
t.start()
 
root.mainloop()