Example #1
0
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')
Example #2
0
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