def get_alarm_by_time(request, device_id, timer): alarm_record = accessdb.get_specified_alarm_time(device_id, timer) # If record is not exist, return false if alarm_record is None or alarm_record.active is False: return HttpResponse(json.dumps({'status': False, 'timer': timer, 'dev': device_id}), content_type='application/json') now_time = apitimer.get_now_time_without_second() alarm_time = alarm_record.time time_string = apitimer.get_interval(now_time, alarm_time) # If have error have been happened if time_string is None: time_string = "" action = alarm_record.action return HttpResponse(json.dumps({'status': True, 'timer': timer, 'dev': device_id, 'action': action, 'remain': time_string}), content_type='application/json')
def set_alarm_time(device_id, timer, action, alarm_time): if action == 'on' or action == 'off': # Get alertTime alarm_record = accessdb.get_specified_alarm_time(device_id, timer) # alarm time is not exist. Create a new alarm time record if alarm_record is None: # Get device dev = accessdb.get_device_from_pk(device_id) # Device is not exist. Create new device if dev is None: dev_name = "dev%s" % device_id dev = accessdb.create_device(dev_name, '') # Can't create device if dev is None: return False alarm_record = accessdb.create_alarm_using_time(dev, action, alarm_time, timer) # Check create alarm time record if alarm_record is None: return False else: return True else: # Have exist alarm time result = accessdb.enable_alarm_time(device_id, action, alarm_time, timer) return result # Action is removed if action == 'remove': result = accessdb.disable_alarm_time(device_id, timer) return result # Can't known this action return False