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)))
Exemple #4
0
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]) != "Неизвестно":