Skip to content

Coercing to Unicode #97

Open
Open
@leofirespotter

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?

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