Как установить time.sleep для разных строк

Рейтинг: 1Ответов: 0Опубликовано: 02.02.2023

Есть код, который проверяет доступность сайтов Как можно сделать так, чтобы статус для каждого сайта менялся через заданное пользователем время (т.е время для каждого сайта может быть разным) Проблема в том, что кол-во сайтов неграниченно, т.к можно добавить больше строк в приложении, из-за этого я не понимаю, как это реализовать приложил картинку как это выглядит

мой код:

import tkinter as tk
from tkinter import ttk
import requests
import time
from tkinter import *
from tkinter import messagebox

data_list = []

window = Tk()
window.geometry('400x700')
window.title("SiteChecker")


def set_input(obj, value):
   obj.delete(1.0, "END")
   obj.insert("END", value)




def SiteCheck():
   

   # time.sleep
   for data in data_list:
       url = data[0].get()
       status = data[2]
       if not str(url).startswith('http'):
           continue
       print(url)
       Get_Response = None
       try:
           Get_Response = requests.get(url)
       except:
           status.config(text='status bad')
           continue

       if Get_Response.status_code == 200:
           status.config(text='status ok')

           pass
            implement
       else:
           status.config(text='status bad')


def clicked():
   txt = Entry(window, width=18)
   txt.grid(column=0, pady=8)
   txt_row = txt.grid_info()['row']

   tim = Entry(window, width=3)
   tim.grid(row=txt_row, column=1, pady=8)
   txt_row = tim.grid_info()['row']

   result1 = Label(window, text="status")
   result1.grid(row=txt_row, column=2, pady=8)
   data_list.append([txt, tim, result1])


lbl1 = Label(window, text="Enter references:")
lbl1.grid(column=0, row=1)
lbl2 = Label(window, text="Enter the test time: ")
lbl2.grid(column=1, row=1)
lbl3 = Label(window, text="Availability status ")
lbl3.grid(column=2, row=1)

for loop in range(2, 6):
   txt1 = Entry(window, width=18)
   txt1.grid(column=0, row=loop, pady=8)

   tim1 = Entry(window, width=3)
   tim1.grid(column=1, row=loop, pady=8)

   result1 = Label(window, text="status")
   result1.grid(column=2, row=loop, pady=8)
   data_list.append([txt1, tim1, result1])

btn = Button(window, text="Add another site", command=clicked)
btn.grid(column=1, row=0)

Check_Button = Button(
   window,
   command=SiteCheck,
   text='Start checking',
)
Check_Button.grid(row=0, column=2)

window.mainloop()

Ответы

Ответов пока нет.