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())
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())
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"
def handle_clear_deferral_datetime(model): model.set_deferral_datetime(None) iSprinklePersister().save(model)
def handle_set_deferral_datetime(model, post_data): dt = string_to_datetime(post_data.strip()) model.set_deferral_datetime(dt) iSprinklePersister().save(model)
def handle_delete_watering(model, post_data): uuid_str = post_data.strip() model.delete_watering(uuid_str) iSprinklePersister().save(model)
def handle_update_zone_info(model, post_data): zone_info = yaml.load(post_data) model.set_zone_info(zone_info) iSprinklePersister().save(model)
def handle_update_watering(model, post_data): watering = yaml_to_watering(post_data) model.update_watering(watering) iSprinklePersister().save(model)
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())
def handle_enable_watering(model, post_data): uuid_str = post_data.strip() model.find_watering(uuid_str).set_enabled(True) iSprinklePersister().save(model)