diff options
| author | William Kral <william.kral@gmail.com> | 2013-06-23 14:36:19 -0700 |
|---|---|---|
| committer | William Kral <william.kral@gmail.com> | 2013-06-23 14:36:19 -0700 |
| commit | 3b6a5eefb5f6052db7e46a45baa9f3c6c9960022 (patch) | |
| tree | e8c6d7e459e3481cee705baae98a718893150c9c /jsonpatch.py | |
| parent | e58df080ebc5866da64322b6b9d121ceb16683c5 (diff) | |
| download | python-json-patch-3b6a5eefb5f6052db7e46a45baa9f3c6c9960022.tar.gz | |
Fixed replacing whole document
- json pointer to_last operation returns None for the part in the
case that it is a whole document pointer
- json patch now checks to see if the part is None and simply returns
the value to replace the document
- Added a test to verify the fix
Diffstat (limited to 'jsonpatch.py')
| -rw-r--r-- | jsonpatch.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/jsonpatch.py b/jsonpatch.py index e115273..5c61a0d 100644 --- a/jsonpatch.py +++ b/jsonpatch.py @@ -394,6 +394,9 @@ class ReplaceOperation(PatchOperation): value = self.operation["value"] subobj, part = self.pointer.to_last(obj) + if part is None: + return value + if isinstance(subobj, list): if part > len(subobj) or part < 0: raise JsonPatchConflict("can't replace outside of list") |
