##// END OF EJS Templates
ipapi.get now returns None if there are no InteractiveShells running....
ipapi.get now returns None if there are no InteractiveShells running. It used to simply raise an IndexError, which was bad.

File last commit:

r2229:46a9a124
r2292:146be237
Show More
importstring.py
32 lines | 1.0 KiB | text/x-python | PythonLexer
#!/usr/bin/env python
# encoding: utf-8
"""
A simple utility to import something by its string name.
Authors:
* Brian Granger
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2009 The IPython Development Team
#
# 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]
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