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()
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})