##// END OF EJS Templates
Wrap colour sequences in debugger prompt in marker bytes...
Wrap colour sequences in debugger prompt in marker bytes Readline expects ANSI escapes in the prompt to be wrapped in 01 and 02 so that it can calculate the width. Closes gh-9243

File last commit:

r20859:5f42d500
r22094:2d89b93a
Show More
importstring.py
39 lines | 1.0 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""
A simple utility to import something by its string name.
"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
def import_item(name):
"""Import and return ``bar`` given the string ``foo.bar``.
Calling ``bar = import_item("foo.bar")`` is the functional equivalent of
executing the code ``from foo import bar``.
Parameters
----------
name : string
The fully qualified name of the module/package being imported.
Returns
-------
mod : module object
The module that was imported.
"""
parts = name.rsplit('.', 1)
if len(parts) == 2:
# called with 'foo.bar....'
package, obj = parts
module = __import__(package, fromlist=[obj])
try:
pak = getattr(module, obj)
except AttributeError:
raise ImportError('No module named %s' % obj)
return pak
else:
# called with un-dotted string
return __import__(parts[0])