diff options
author | Stefan Kögl <stefan@skoegl.net> | 2016-02-13 15:41:18 +0100 |
---|---|---|
committer | Stefan Kögl <stefan@skoegl.net> | 2016-02-13 15:41:18 +0100 |
commit | 4443d3241b8e11e691d4700b37db469120993d9d (patch) | |
tree | ca7ed96b510a812ac48014ddd0b84a7a611cf284 | |
parent | a33021bf5a87350abc225a15c2a12880d88ed383 (diff) | |
download | python-json-patch-4443d3241b8e11e691d4700b37db469120993d9d.tar.gz |
Make ``move`` operation with from == path a no-op
-rw-r--r-- | jsonpatch.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/jsonpatch.py b/jsonpatch.py index 838d66c..917fc33 100644 --- a/jsonpatch.py +++ b/jsonpatch.py @@ -484,6 +484,10 @@ class MoveOperation(PatchOperation): except (KeyError, IndexError) as ex: raise JsonPatchConflict(str(ex)) + # If source and target are equal, this is a no-op + if self.pointer == from_ptr: + return obj + if isinstance(subobj, MutableMapping) and \ self.pointer.contains(from_ptr): raise JsonPatchConflict('Cannot move values into its own children') |