Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
FancyModuleLoader Class Reference
Inheritance diagram for FancyModuleLoader:
ModuleLoader BasicModuleLoader _Verbose

Public Member Functions

def load_module
 
- Public Member Functions inherited from ModuleLoader
def __init__
 
def default_path
 
def modules_dict
 
def get_hooks
 
def set_hooks
 
def find_builtin_module
 
def find_module_in_dir
 
def load_module
 
- Public Member Functions inherited from BasicModuleLoader
def find_module
 
def default_path
 
def find_module_in_dir
 
def find_builtin_module
 
def load_module
 
- Public Member Functions inherited from _Verbose
def __init__
 
def get_verbose
 
def set_verbose
 
def note
 
def message
 

Additional Inherited Members

- Data Fields inherited from ModuleLoader
 hooks
 

Detailed Description

Fancy module loader -- parses and execs the code itself.

Definition at line 284 of file ihooks.py.

Member Function Documentation

def load_module (   self,
  name,
  stuff 
)

Definition at line 288 of file ihooks.py.

References pre.compile(), and BasicModuleLoader.find_module_in_dir().

289  def load_module(self, name, stuff):
290  file, filename, (suff, mode, type) = stuff
291  realfilename = filename
292  path = None
293 
294  if type == PKG_DIRECTORY:
295  initstuff = self.find_module_in_dir("__init__", filename, 0)
296  if not initstuff:
297  raise ImportError, "No __init__ module in package %s" % name
298  initfile, initfilename, initinfo = initstuff
299  initsuff, initmode, inittype = initinfo
300  if inittype not in (PY_COMPILED, PY_SOURCE):
301  if initfile: initfile.close()
302  raise ImportError, \
303  "Bad type (%s) for __init__ module in package %s" % (
304  `inittype`, name)
305  path = [filename]
306  file = initfile
307  realfilename = initfilename
308  type = inittype
309 
310  if type == FROZEN_MODULE:
311  code = self.hooks.get_frozen_object(name)
312  elif type == PY_COMPILED:
313  import marshal
314  file.seek(8)
315  code = marshal.load(file)
316  elif type == PY_SOURCE:
317  data = file.read()
318  code = compile(data, realfilename, 'exec')
319  else:
320  return ModuleLoader.load_module(self, name, stuff)
321 
322  m = self.hooks.add_module(name)
323  if path:
324  m.__path__ = path
325  m.__file__ = filename
326  exec code in m.__dict__
327  return m
328 

The documentation for this class was generated from the following file: