diff options
author | Josh Marshall <catchjosh@gmail.com> | 2013-10-25 22:29:58 -0700 |
---|---|---|
committer | Josh Marshall <catchjosh@gmail.com> | 2013-10-25 22:29:58 -0700 |
commit | 53c8ffcfe4dd1718086cc551dce8ac459e8abc67 (patch) | |
tree | 8b0fbd152288c8afa07e5a285d2313224bb84db2 /jsonrpclib | |
parent | e3a3cdedc9577b25b91274815b38ba7f3bc43c68 (diff) | |
parent | 865a813078c1b447713aeb1f1bb860c441a88365 (diff) | |
download | jsonrpclib-53c8ffcfe4dd1718086cc551dce8ac459e8abc67.tar.gz |
Merge pull request #16 from jsalz/master
Fix for issue #15 (importing)
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 |