codecobblers / dirtyjson

Python JSON parser for reading JSON objects out of JS files
Other
39 stars 7 forks source link

dirtyjson doesn't work with python 3.10 #5

Closed p0psicles closed 1 year ago

p0psicles commented 2 years ago
    import dirtyjson as djson
  File "C:\Medusa\ext\dirtyjson\__init__.py", line 3, in <module>
    from .loader import DirtyJSONLoader
  File "C:\Medusa\ext\dirtyjson\loader.py", line 8, in <module>
    from dirtyjson.attributed_containers import AttributedDict, AttributedList
  File "C:\Medusa\ext\dirtyjson\attributed_containers.py", line 11, in <module>
    from UserDict import DictMixin
ModuleNotFoundError: No module named 'UserDict'

This is caused because of: from collections import MutableMapping as DictMixin This has been deprecated since python 3.3 and removed in 3.10.

Should be something like:

try:
    from collections.abc import MutableMapping as DictMixin
except ImportError:
    from collections import MutableMapping as DictMixin