Пример #1
0
    def testCreateAlertCondtion(self):
        dev_id = 1
        dev = accessdb.get_device_from_pk(1)
        dev_name = "dev%s" % dev_id
        if dev is None:
            dev = accessdb.create_device(dev_name, "")
        self.assertEqual(dev.dev_name, dev_name)

        # Create AlertCondition
        alertCon = accessdb.create_alarm_by_temp(dev, "on", "gt", 37.5)
        ret = alertCon is None
        self.assertEqual(ret, False)

        # Get condition
        alertCon = accessdb.get_alarm_by_temp(dev_id)
        ret = alertCon is None
        self.assertEqual(ret, False)

        # Disable condtion alert
        ret = accessdb.disable_alarm_by_temp(dev_id)
        self.assertEqual(ret, True)

        # check disable alertContion
        alertCon = accessdb.get_alarm_by_temp(dev_id)
        ret = alertCon is None
        self.assertEqual(ret, False)
        self.assertEqual(alertCon.active, False)

        # Enable condtion
        condition = "gte"
        action = "on"
        value = 40

        ret = accessdb.enable_alarm_by_temp(dev_id, condition, action, value)
        self.assertEqual(ret, True)
        alertCon = accessdb.get_alarm_by_temp(dev_id)
        ret = alertCon is None
        self.assertEqual(ret, False)
        self.assertEqual(alertCon.active, True)
        self.assertEqual(alertCon.action, action)
        self.assertEqual(alertCon.value, value)
        self.assertEqual(alertCon.condition, condition)

        dev2 = accessdb.create_device("dev2", "")
        self.assertEqual(dev2.dev_name, "dev2")
        alertCon = accessdb.create_alarm_by_temp(dev2, action, condition, value)

        alertList = accessdb.get_alarm_by_temp_list()
        self.assertEqual(len(alertList), 2)

        ret = alertCon is None
        self.assertEqual(ret, False)
        self.assertEqual(alertCon.condition, condition)

        alertList = accessdb.get_true_alarm_by_temp_list(50)
        self.assertEqual(len(alertList), 2)

        # self.assertEqual(ret, True)

        alarm_object = accessdb.get_enabled_alarm_by_temp_for_device(1)
        self.assertEqual(alarm_object.active, True)
        ret = accessdb.is_true_alarm_by_temp(alarm_object, 50)
        self.assertEqual(ret, True)
        ret = accessdb.is_true_alarm_by_temp(alarm_object, 20)
        self.assertEqual(ret, False)

        ret = accessdb.disable_alarm_by_temp(alarm_object.dev.id)
        self.assertEqual(ret, True)
        alarm_object = accessdb.get_enabled_alarm_by_temp_for_device(1)
        self.assertEqual(alarm_object is None, True)
        ret = accessdb.enable_alarm_by_temp(1, action, condition, value)
        self.assertEqual(ret, True)
        alarm_object = accessdb.get_enabled_alarm_by_temp_for_device(1)
        self.assertEqual(alarm_object is None, False)

        old_value = alarm_object.true_count
        ret = accessdb.change_value_true_count_alarm_by_temp(alarm_object, 0)
        self.assertEqual(ret, False)
        alarm_object = accessdb.get_alarm_by_temp(1)
        self.assertEqual(alarm_object is None, False)
        self.assertEqual(alarm_object.true_count, 0)

        old_value = alarm_object.true_count
        ret = accessdb.change_value_true_count_alarm_by_temp(alarm_object, 1)
        self.assertEqual(ret, True)
        self.assertEqual(alarm_object.true_count, old_value + 1)

        ret = accessdb.reset_count_alarm_by_temp_object(alarm_object)
        self.assertEqual(ret, True)

        self.assertEqual(alarm_object.true_count, 0)
        self.assertEqual(alarm_object.false_count, 0)

        old_value = alarm_object.false_count
        ret = accessdb.change_value_false_count_alarm_by_temp(alarm_object, 0)
        self.assertEqual(ret, False)

        old_value - alarm_object.false_count
        ret = accessdb.change_value_false_count_alarm_by_temp(alarm_object, 1)
        self.assertEqual(ret, True)
        self.assertEqual(alarm_object.false_count, old_value + 1)

        ret = accessdb.is_true_alarm_by_temp(alarm_object, 20)
        self.assertEqual(ret, False)

        ret = accessdb.is_true_condition(alarm_object)
        self.assertEqual(ret, False)

        accessdb.change_value_true_count_alarm_by_temp(alarm_object, 1)
        ret = accessdb.reset_true_count_alarm_by_temp_object(alarm_object)
        self.assertEqual(ret, True)
        self.assertEqual(alarm_object.true_count, 0)

        accessdb.change_value_false_count_alarm_by_temp(alarm_object, 1)
        ret = accessdb.reset_false_count_alarm_by_temp_object(alarm_object)
        self.assertEqual(ret, True)
        self.assertEqual(alarm_object.false_count, 0)

        accessdb.check_alarm_by_temp()
Пример #2
0
def template(request):
    logger.debug(apitimer.get_real_time())
    device_list = accessdb.get_device_list()
    # device_list = dbapi.get_all_device()

    timer_list = settings.TIMER_LIST

    # Detail timer
    detail_alarm_by_time_list = []

    # Get detail info off all timer
    for dev in device_list:
        result_list = accessdb.get_alarm_time_list_from_device_pk(dev.id)
        for row in result_list:
            timer = timerview.Timer()
            timer.dev_id = dev.id
            timer.timer = row.timer
            now_time = apitimer.get_now_time_without_second()
            remain_time = apitimer.get_interval(now_time, row.time)

            # If timer is expire
            if remain_time is None or remain_time == '':
                timer.action = ''
                timer.remain = ''
            else:
                timer.action = changeview.change_action_view(row.action)
                timer.remain = remain_time
            detail_alarm_by_time_list.append(timer)




    # if device_list is None or len(device_list) == 0:
    #    device_list = settings.DEV_LIST

    alarm_temp_list = accessdb.get_alarm_by_temp_list()
    detail_alarm_temp_list = []
    for row in alarm_temp_list:
        detail = alarmtemp.AlarmTemp()
        if row.active is False:
            detail.action = ''
            detail.dev_id = row.dev.id
            detail.condition = ''
            detail.temp_value = ''

        else:
            detail.action = changeview.change_action_view(row.action)
            detail.dev_id = row.dev.id
            detail.condition = row.condition
            detail.temp_value = row.value
        detail_alarm_temp_list.append(detail)


    logger.debug(apitimer.get_real_time())

    size_option_list = accessdb.get_option_list_with_specified_type('size')
    kbitrate_option_list = accessdb.get_option_list_with_specified_type('bitrate')
    frame_psecond_option_list = accessdb.get_option_list_with_specified_type('fps')

    return render(request, 'viewcam/template.html', {'devList': device_list, 'timerList': timer_list,
        'detailList': detail_alarm_by_time_list, 'alarmTempList': detail_alarm_temp_list,
                        'test_value': 10,
                        'size_option_list': size_option_list,
                        'kbitrate_option_list': kbitrate_option_list,
                        'frame_psecond_option_list': frame_psecond_option_list})