blob: 39e0463c91e74e3130aed44a6b566a6a442db9b6 [file] [log] [blame]
From 865a813078c1b447713aeb1f1bb860c441a88365 Mon Sep 17 00:00:00 2001
From: Jon Salz <jsalz@chromium.org>
Date: Fri, 20 Apr 2012 02:41:50 +0800
Subject: [PATCH] Fix importing of nested modules.
https://github.com/joshmarshall/jsonrpclib/issues/15
---
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
--
1.7.3.4