<s> """<STR_LIT>""" <EOL> import sys <EOL> import traceback <EOL> def import_class ( import_str ) : <EOL> """<STR_LIT>""" <EOL> mod_str , _sep , class_str = import_str . rpartition ( '<STR_LIT:.>' ) <EOL> __import__ ( mod_str ) <EOL> try : <EOL> return getattr ( sys . modules [ mod_str ] , class_str ) <EOL> except AttributeError : <EOL> raise ImportError ( '<STR_LIT>' % <EOL> ( class_str , <EOL> traceback . format_exception ( * sys . exc_info ( ) ) ) ) <EOL> def import_object ( import_str , * args , ** kwargs ) : <EOL> """<STR_LIT>""" <EOL> return import_class ( import_str ) ( * args , ** kwargs ) <EOL> def import_object_ns ( name_space , import_str , * args , ** kwargs ) : <EOL> """<STR_LIT>""" <EOL> import_value = "<STR_LIT>" % ( name_space , import_str ) <EOL> try : <EOL> return import_class ( import_value ) ( * args , ** kwargs ) <EOL> except ImportError : <EOL> return import_class ( import_str ) ( * args , ** kwargs ) <EOL> def import_module ( import_str ) : <EOL> """<STR_LIT>""" <EOL> __import__ ( import_str ) <EOL> return sys . modules [ import_str ] <EOL> def import_versioned_module ( version , submodule = None ) : <EOL> module = '<STR_LIT>' % version <EOL> if submodule : <EOL> module = '<STR_LIT:.>' . join ( ( module , submodule ) ) <EOL> return import_module ( module ) <EOL> def try_import ( import_str , default = None ) : <EOL> """<STR_LIT>""" <EOL> try : <EOL> return import_module ( import_str ) <EOL> except ImportError : <EOL> return default </s>
