From 41eb15e35d1b719e74c451434dc8fe8415afd451 2010-10-10 20:22:43 From: Fernando Perez Date: 2010-10-10 20:22:43 Subject: [PATCH] Add explicit comment about disabled code in importstring. This lets us know the deactivated code is meant for eventual deletion (the replacement was written by T. Kluyver in his 2to3 preparation work, we just need to be sure we have no problems with it in more testing). --- diff --git a/IPython/utils/importstring.py b/IPython/utils/importstring.py index cbb6101..e7e1da2 100644 --- a/IPython/utils/importstring.py +++ b/IPython/utils/importstring.py @@ -22,13 +22,20 @@ def import_item(name): """Import and return bar given the string foo.bar.""" package = '.'.join(name.split('.')[0:-1]) obj = name.split('.')[-1] -# execString = 'from %s import %s' % (package, obj) -# try: -# exec execString -# except SyntaxError: -# raise ImportError("Invalid class specification: %s" % name) -# exec 'temp = %s' % obj -# return temp + + # Note: the original code for this was the following. We've left it + # visible for now in case the new implementation shows any problems down + # the road, to make it easier on anyone looking for a problem. This code + # should be removed once we're comfortable we didn't break anything. + + ## execString = 'from %s import %s' % (package, obj) + ## try: + ## exec execString + ## except SyntaxError: + ## raise ImportError("Invalid class specification: %s" % name) + ## exec 'temp = %s' % obj + ## return temp + if package: module = __import__(package,fromlist=[obj]) return module.__dict__[obj]