Hi, As Phill has mentioned on IRC, this can be solved by specifying args as keywords. This patch fixes it: https://bin.snyman.info/mmmm47cx
/Tomas 2017-09-07 7:24 GMT+02:00 Raoul Snyman <[email protected]>: > Hey Phil, > > We have a problem with Python 3.6 (and apparently 3.5 as well, although > I'm not seeing it right now): > > $ python3.6 openlp.py > Traceback (most recent call last): > File "openlp.py", line 44, in <module> > main() > File "openlp/core/__init__.py", line 440, in main > settings.upgrade_settings() > File "openlp/core/common/settings.py", line 495, in upgrade_settings > self.setValue(new_key, old_value) > File "openlp/core/common/settings.py", line 525, in setValue > value = json.dumps(value, cls=OpenLPJsonEncoder) > File "/usr/lib/python3.6/json/__init__.py", line 238, in dumps > **kw).encode(obj) > File "openlp/core/common/json.py", line 74, in __init__ > super().__init__(skipkeys, ensure_ascii, check_circular, allow_nan, > sort_keys, indent, separators, default) > TypeError: __init__() takes 1 positional argument but 9 were given > > > They've removed the __init__() method from the C implementation of the > json module. Everything is now set up in __new__. > > - https://bugs.python.org/issue30243 > - https://github.com/python/cpython/commit/39b73dd5131ce205dce > e3b9e24ba0fc28934d79c > > It looks like you're not supposed to subclass JSONEncoder anymore, you're > supposed to pass it a default instead: > > - https://github.com/python/cpython/blob/3.6/Lib/json/__init__.py#L73 > > > Ugh, that's a pain. > > > -- > Raoul Snyman > +1 (520) 490-9743 > [email protected] > _______________________________________________ > openlp-dev mailing list > [email protected] > https://lists.openlp.io/mailman/listinfo/openlp-dev >
_______________________________________________ openlp-dev mailing list [email protected] https://lists.openlp.io/mailman/listinfo/openlp-dev
