diff options
author | Jon Salz <jsalz@chromium.org> | 2012-04-20 02:41:50 +0800 |
---|---|---|
committer | Jon Salz <jsalz@chromium.org> | 2012-04-20 02:41:50 +0800 |
commit | 865a813078c1b447713aeb1f1bb860c441a88365 (patch) | |
tree | 8b0fbd152288c8afa07e5a285d2313224bb84db2 /jsonrpclib | |
parent | e3a3cdedc9577b25b91274815b38ba7f3bc43c68 (diff) | |
download | jsonrpclib-865a813078c1b447713aeb1f1bb860c441a88365.tar.gz |
Fix importing of nested modules.
https://github.com/joshmarshall/jsonrpclib/issues/15
Diffstat (limited to 'jsonrpclib')
-rw-r--r-- | jsonrpclib/jsonclass.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/jsonrpclib/jsonclass.py b/jsonrpclib/jsonclass.py index 298c3da..1d86d5f 100644 --- a/jsonrpclib/jsonclass.py +++ b/jsonrpclib/jsonclass.py @@ -129,6 +129,13 @@ def load(obj): except ImportError: raise TranslationError('Could not import %s from module %s.' % (json_class_name, json_module_tree)) + + # The returned class is the top-level module, not the one we really + # want. (E.g., if we import a.b.c, we now have a.) Walk through other + # path components to get to b and c. + for i in json_module_parts[1:]: + temp_module = getattr(temp_module, i) + json_class = getattr(temp_module, json_class_name) # Creating the object... new_obj = None |