##// END OF EJS Templates
use IPythons config subsystem to allow overrides to the tornado web app.
use IPythons config subsystem to allow overrides to the tornado web app.

File last commit:

r5390:c82649ea
r5664:d2858bc7
Show More
importstring.py
43 lines | 1.5 KiB | text/x-python | PythonLexer
Brian Granger
A number of changes to how traitlets and components work....
r2229 # encoding: utf-8
"""
A simple utility to import something by its string name.
Authors:
* Brian Granger
"""
#-----------------------------------------------------------------------------
Matthias BUSSONNIER
update copyright to 2011/20xx-2011...
r5390 # Copyright (C) 2008-2011 The IPython Development Team
Brian Granger
A number of changes to how traitlets and components work....
r2229 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Functions and classes
#-----------------------------------------------------------------------------
def import_item(name):
"""Import and return bar given the string foo.bar."""
package = '.'.join(name.split('.')[0:-1])
obj = name.split('.')[-1]
Fernando Perez
Add explicit comment about disabled code in importstring....
r3121
# 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
Thomas Kluyver
Cleaning up old code to simplify 2to3 conversion.
r3108 if package:
module = __import__(package,fromlist=[obj])
return module.__dict__[obj]
else:
return __import__(obj)