def patch(target, obj): prop, new_value = next_word(obj) if not new_value: return "New value required" if new_value == "None": new_value = None patch_object(target, prop, new_value) return "Object successfully patched"
def patch(target, verb, args, command, **_): try: split_ix = args.index(":") prop = args[split_ix + 1] new_value = find_extra(verb, split_ix + 2, command) except (ValueError, IndexError): return "Syntax -- 'patch [target] [:] [prop_name] [new_value]'" if not new_value: return "New value required" if new_value == "None": new_value = None patch_object(target, prop, new_value) return "Object successfully patched"
def patch_db(target): obj_type, remaining = next_word(target) obj_id, remaining = next_word(remaining) if not obj_id: return "Object id required." prop, new_value = next_word(remaining) if not prop: return "Property name required." if not new_value: return "Value required." if new_value == "None": new_value = None key = ':'.join([obj_type, obj_id]) obj = db.load_object(key) if not obj: return "Object not found" patch_object(obj, prop, new_value) db.save_object(obj) return "Object " + key + " patched"
def patch_db(verb, args, command, **_): if len(args) == 0: return "Type required." obj_type = args[0] if len(args) == 1: return "Object id required." obj_id = args[1] if len(args) == 2: return "Property name required." prop = args[2] new_value = find_extra(verb, 3, command) if not new_value: return "Value required." if new_value == "None": new_value = None obj = load_object(':'.join([obj_type, obj_id])) if not obj: return "Object not found" patch_object(obj, prop, new_value) save_object(obj) return "Object " + key + " patched"