Why must ctor args be a dict or list?
Opened this issue · 1 comments
bboerner commented
This:
class datetime(object):
def __init__(self, args):
self.args = args
def __str__(self):
return self.args
jsonrpclib.config.classes.add(datetime)
x = { "__jsonclass__": ["datetime", "2013-01-10T22:22:20"] }
result = jsonclass.load(x)
print "x: %s, result: %s" % (x, result)
returns:
# Traceback (most recent call last):
# File ".\test.py", line 59, in <module>
# result = jsonclass.load(x)
# File "c:\Python27\lib\site-packages\jsonrpclib\jsonclass.py", line 140, in load
# raise TranslationError('Constructor args must be a dict or list.')
# jsonrpclib.jsonclass.TranslationError: Constructor args must be a dict or list.
Why not this?
diff -u -r1.1 jsonclass.py
--- jsonclass.py 2013/01/14 21:51:58 1.1
+++ jsonclass.py 2013/01/14 21:52:14
@@ -137,7 +137,7 @@
elif type(params) is types.DictType:
new_obj = json_class(**params)
else:
- raise TranslationError('Constructor args must be a dict or list.')
+ new_obj = json_class(params)
for key, value in obj.iteritems():
if key == '__jsonclass__':
continue
Dushistov commented
+1