jsb.lib.jsbimport

use the imp module to import modules.

jsb.lib.jsbimport.force_import(name)

force import of module <name> by replacing it in sys.modules.

CODE

# jsb/jsbimport.py
#
#

""" use the imp module to import modules. """

basic imports

import sys
import imp
import os
import logging

_import function

def _import(name):
    """ do a import (full). """
    mods = []
    mm = ""
    for m in name.split('.'):
        mm += m
        mods.append(mm)
        mm += "."
    for mod in mods: __import__(mod)
    logging.debug("jsbimport - got module %s" % sys.modules[name])
    return sys.modules[name]

force_import function

def force_import(name):
    """ force import of module <name> by replacing it in sys.modules. """
    try: del sys.modules[name]
    except KeyError: pass
    plug = _import(name)
    return plug

def _import_byfile(modname, filename):
    try: return imp.load_source(modname, filename)
    except NotImplementedError: return _import(filename[:-3].replace(os.sep, "."))

Table Of Contents

Previous topic

jsb.lib.gozerevent

Next topic

jsb.lib.less

This Page