##// END OF EJS Templates
Completed first pass of inputsplitter with IPython syntax....
Completed first pass of inputsplitter with IPython syntax. Code is now mostly ready for use. Upon review we'll probably restructure a few things, and there will likely be a few more classes created for extensibility. But for now, this is ready for the various frontends to start using.

File last commit:

r2498:3eae1372
r2780:073a890c
Show More
importstring.py
31 lines | 1.0 KiB | text/x-python | PythonLexer
# 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