def search(search_work, table_list, query, query_url, db_path, req_date, day_limit, day_overdraft, limit_police, hour, res_list, rank, label_info, table_results, rate_url, lcdNumber_hour_limit, lcdNumber_day_limit, progressBar, value, log, limit_data): # поднимаем флаг search_work для подсчёта лимитов search_work = True q_able = qCount(table_list) - limit_data[1] q_next = 0 print(q_able) # ######################################################################## # анализируем список запросов for i, item in enumerate(table_list): query = item[0] # если запрос не пустой начинаем его обработку if (len(query) != 0): # получаем данные по текущим лимитам на кол-во запросов limit_data = limit(db_path, req_date, day_limit, day_overdraft, limit_police, hour, search_work) if (q_able > 0): coreFunction( query_url, query, progressBar, value, rate_url, rank, res_list, req_date, day_limit, limit_data, table_list, table_results, lcdNumber_hour_limit, lcdNumber_day_limit, db_path, log, item, label_info) q_able -= 1 q_next += 1 print(q_able) else: label_info.setText( 'Превышен лимит запросов!\nПродолжим через ' + str(61 - int(datetime.now().strftime('%M'))) + ' минут.') print("overload") # лимит в этом часу исчерпан, # но суточный еще доступен remove_empty_rows(1, table_results) print("sleep") # time.sleep(10.0) time.sleep((61 - int( datetime.now().strftime('%M'))) * 60.0) q_able = q_next print(q_able) continue sql_con(db_path, res_list, query, req_date) res_list = [] rank = 0 else: # в случае пустого запроса label_info.setText( 'Внимание!\nБыл выбран пустой запрос.') remove_empty_rows(1, table_results) continue search_work = False