def testCreateDevice(self): # Create device 1 dev = accessdb.create_device("dev1", "") self.assertEqual(dev.dev_name, "dev1") # Create duplicate device 1 dev = accessdb.create_device("dev1", "") self.assertEqual(dev, None) # Creat device 2 dev = accessdb.create_device("dev2", "") self.assertEqual(dev.dev_name, "dev2") # Get device following name dev = accessdb.get_device_from_name("dev2") self.assertEqual(dev.dev_name, "dev2") # Get device flowwing device id # CHECK ERROR_TEST dev = accessdb.get_device_from_pk(1) self.assertEqual(dev.dev_name, "dev1") # Get list device dev_list = accessdb.get_device_list() self.assertEqual(len(dev_list), 2)
def testListInforTimerEnable(self): dev = accessdb.get_device_from_pk(1) if dev is None: dev = accessdb.create_device("dev1", 1) alerTimer = accessdb.get_specified_alarm_time(1, 1) if alerTimer is None: alerTimer = accessdb.create_alarm_using_time( dev, "on", apitimer.get_now_time_without_second() + timedelta(hours=1), 1 ) alerTimer = accessdb.create_alarm_using_time( dev, "on", apitimer.get_now_time_without_second() + timedelta(hours=1), 2 ) timerList = accessdb.get_enabled_alarm_time_list() self.assertEqual(len(timerList), 2) if timerList is None: return devList = accessdb.get_device_list() if devList is None: return inforList = {} for dev in devList: timerList = accessdb.get_alarm_time_list_from_device_pk(dev.id) if timerList is None: return detailTimerList = {} for timer in timerList: nowTime = apitimer.get_now_time_without_second() remainTime = apitimer.get_interval(nowTime, timer.time) action = timer.action if remainTime is None: remainTime = "" action = "" detail = {} detail["action"] = action detail["remain"] = remainTime key = "timer%s" % timer.timer detailTimerList[key] = detail key = "dev%s" % dev.id inforList[key] = detailTimerList jsonObj = json.dumps(inforList) print jsonObj[1] print inforList
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})
accessdb.save_temp_record(now_time, avg_value, '1d') # Reset list temp for next_time data = [] next_time = next_time + timedelta(minutes=1) data.append(temp_value) # Thread run video def threaded_function(cmd): commands.getoutput(cmd) # Update status of device when raspi was booted dev_list = accessdb.get_device_list() for dev in dev_list: status = controldev.get_device_status(dev.id) # Update status of device controldev.update_status_device(dev.id, status) # Reset alarm by tem when raspi was booted. accessdb.reset_count_alarm_by_temp_object(dev) isOn = False thread = None while True: # Check cam to write to file