Skip to content

Coercing to Unicode #97

Description

@leofirespotter

Seeing a strange bug in the library. Here is the simplest repro of it that I could find:

src = {'1' : 'def'}
dst = {'test' : '1', 'b' : 'def'}
jsonpatch.make_patch(src, dst)

Which leads produces the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "jsonpatch.py", line 164, in make_patch
    return JsonPatch.from_diff(src, dst)
  File "jsonpatch.py", line 283, in from_diff
    builder._compare_values('', None, src, dst)
  File "jsonpatch.py", line 820, in _compare_values
    self._compare_dicts(_path_join(path, key), src, dst)
  File "jsonpatch.py", line 781, in _compare_dicts
    self._item_added(path, str(key), dst[key])
  File "jsonpatch.py", line 717, in _item_added
    op.key = v._on_undo_remove(op.path, op.key)
  File "jsonpatch.py", line 445, in _on_undo_remove
    self.key += 1
TypeError: coercing to Unicode: need string or buffer, int found

Any ideas?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions