Example #1
0
def handle_run_zone_now(model, post_data):
    new_watering = create_single_shot_watering(datetime.datetime.now())
    post_data = post_data.strip()
    elements = post_data.split(' ')
    zone    = int(elements[0])
    minutes = int(elements[1])
    new_watering.add_zone(zone, minutes)
    model.add_watering(new_watering)
    iSprinklePersister().save(model)
    return str(new_watering.get_uuid())
Example #2
0
def handle_run_watering_now(model, post_data):
    new_watering = create_single_shot_watering(datetime.datetime.now())
    uuid_str = post_data.strip()
    for zone_duration in model.find_watering(uuid_str).get_zone_durations():
        new_watering.add_zone(zone_duration[0], zone_duration[1])

    print 'Adding new single shot watering:', new_watering
    model.add_watering(new_watering)
    iSprinklePersister().save(model)
    return str(new_watering.get_uuid())
Example #3
0
def handle_delete_all_single_shot_waterings(model, post_data):
    uuids_to_delete = []
    for watering in model.get_waterings():
        if watering.schedule_type == iSprinkleWatering.SINGLE_SHOT:
            uuids_to_delete.append(watering.get_uuid())

    for uuid in uuids_to_delete:
        print "Deleting watering", watering.get_uuid();
        model.delete_watering(uuid)
        print "Waterings left:", str(len(model.get_waterings()))

    iSprinklePersister().save(model)

    print "Deleted " + len(uuids_to_delete) + " waterings"
    return "Deleted " + len(uuids_to_delete) + " waterings"
Example #4
0
def handle_clear_deferral_datetime(model):
    model.set_deferral_datetime(None)
    iSprinklePersister().save(model)
Example #5
0
def handle_set_deferral_datetime(model, post_data):
    dt = string_to_datetime(post_data.strip())
    model.set_deferral_datetime(dt)
    iSprinklePersister().save(model)
Example #6
0
def handle_delete_watering(model, post_data):
    uuid_str = post_data.strip()
    model.delete_watering(uuid_str)
    iSprinklePersister().save(model)
Example #7
0
def handle_update_zone_info(model, post_data):
    zone_info = yaml.load(post_data)
    model.set_zone_info(zone_info)
    iSprinklePersister().save(model)
Example #8
0
def handle_update_watering(model, post_data):
    watering = yaml_to_watering(post_data)
    model.update_watering(watering)
    iSprinklePersister().save(model)
Example #9
0
def handle_add_watering(model, post_data):
    watering = yaml_to_watering(post_data)
    watering.set_uuid(str(uuid.uuid4()))
    model.add_watering(watering)
    iSprinklePersister().save(model)
    return str(watering.get_uuid())
Example #10
0
def handle_enable_watering(model, post_data):
    uuid_str = post_data.strip()
    model.find_watering(uuid_str).set_enabled(True)
    iSprinklePersister().save(model)