def door_control_lite(bb_number): url = 'http://emercit.com/tech3/log.php?bb=' + bb_number data = requests.get(url).text.split( '\n' ) # скачиваем ЛОГ и записываем его в список, где каждая строка - строка ЛОГа alert_count = 0 # определяем текущий статус дверцы и записываем его в переменную door_status for x in data: if re.findall(r'door1', x) != []: door_staus = x.split('door1=')[1].split(';')[0] break for x in data: if re.findall(r'door1', x) != []: # print(x) door_check = x.split('door1=')[1].split(';')[0] if door_check != door_staus: alert_count += 1 door_staus = door_check try: if alert_count != 0: str_report = "{} произошло {} срабатываний по дверям! Текущий статус двери: {}".format( get_number_agk_on_bb.number_agk_get(bb_number), alert_count, door_staus) print(str_report) except: print('{} Что то пошло не так'.format( get_number_agk_on_bb.number_agk_get(bb_number)))
def info_reg(): temp = '' for x in get_bb_number.number_bb_get(): if check_registration(x): continue else: if get_number_agk_on_bb.number_agk_get(x) in filter_agk: temp+= '<tr><td>' + str(get_number_agk_on_bb.number_agk_get(x))+ '</td><td>' + dt.strftime(time_registration(x), r'%d.%m.%Y %H:%M:%S') + '</td><td>' + dt.strftime(get_voltage_on_bb.date_voltage(x), r'%d.%m.%Y %H:%M:%S') + '</td><td>' + str(get_voltage_on_bb.voltage_get(x))+ '</td></tr>' return temp
def door_control(date, bb_number): """ Функция принимает на вход дату и номер биглбона и возвращает количество срабатываний по дверям """ #Начальные данные url = 'http://emercit.com/tech3/log.php?bb=' + bb_number data = requests.get(url).text.split( '\n' ) #скачиваем ЛОГ и записываем его в список, где каждая строка - строка ЛОГа alert_count = 0 date_control = dt.strftime(date, "%d.%m.%Y") #определяем текущий статус дверцы и записываем его в переменную door_status for x in data: if re.findall(date_control, x) != [] and re.findall(r'door1', x) != []: door_staus = x.split('door1=')[1].split(';')[0] break for x in data: if re.findall(date_control, x) != [] and re.findall(r'door1', x) != []: #print(x) door_check = x.split('door1=')[1].split(';')[0] if door_check != door_staus: alert_count += 1 door_staus = door_check try: if alert_count != 0: str_report = "{} За {} произошло {} срабатываний по дверям! Текущий статус двери: {}".format( get_number_agk_on_bb.number_agk_get(bb_number), date_control, alert_count, door_staus) print(str_report) except: print('{} Что то пошло не так'.format( get_number_agk_on_bb.number_agk_get(bb_number)))
def find_region(bb): agk = get_number_agk_on_bb.number_agk_get(bb)[-4:] region = "Неизвестно" try: if int(agk) in region_dick.keys(): region = region_dick[int(agk)] except: try: region = region_dick[agk[1:]] except: region = 'Неизвестно' return region
def geo_time_control(bb_number): """ Функция принимает на вход номер ББ и проверяет, есть ли в Логах недостоверные данные или время. """ url = 'http://emercit.com/tech3/log.php?bb=' + bb_number data = requests.get(url).text.split('\n') not_rell_count = 0 for x in data: if 'not rel' in x and 'level' in x: not_rell_count += 1 report = "{} Недостоверные координаты {} раз за последний ЛОГ".format( get_number_agk_on_bb.number_agk_get(bb_number), not_rell_count) if not_rell_count != 0: print(report)
import get_number_agk_on_bb import get_bb_number import get_voltage_on_bb import get_region_on_bb result_info = [] for x in get_bb_number.number_bb_get(): result_info_tmp = [] try: if float(get_voltage_on_bb.voltage_get(str(x))) < 11.70: #если есть значение напряжения, то сравниваем с 11,7 В result_info_tmp.append(get_region_on_bb.find_region(str(x))) #добавляем район result_info_tmp.append(get_number_agk_on_bb.number_agk_get(str(x))) #добавляем номер АГК result_info_tmp.append(get_voltage_on_bb.voltage_get(str(x))) #добавляем напряжение result_info_tmp.append(get_voltage_on_bb.date_voltage(str(x))[0]) #добаляем дату измерения result_info_tmp.append(get_voltage_on_bb.date_voltage(str(x))[1]) #добавляем время измерения result_info.append(result_info_tmp) # добавляем список [Район, Номер АГК, Напряжение, дата, время] в результирующий список else: continue except: result_info_tmp.append(get_region_on_bb.find_region(str(x))) # добавляем район result_info_tmp.append(get_number_agk_on_bb.number_agk_get(str(x))) # добавляем номер АГК result_info_tmp.append(get_voltage_on_bb.voltage_get(str(x))) # добавляем напряжение result_info_tmp.append(get_voltage_on_bb.date_voltage(str(x))[0]) # добаляем дату измерения result_info_tmp.append(get_voltage_on_bb.date_voltage(str(x))[1]) # добавляем время измерения result_info.append(result_info_tmp) # добавляем список [Район, Номер АГК, Напряжение, дата, время] в результирующий список result_info.sort() temp = '' for x in result_info: if str(x[0]) != "Неизвестно":