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

Public Member Functions

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
 

Data Fields

 hooks
 

Detailed Description

Default module loader; uses file system hooks.

By defining suitable hooks, you might be able to load modules from
other sources than the file system, e.g. from compressed or
encrypted files, tar files or (if you're brave!) URLs.

Definition at line 204 of file ihooks.py.

Constructor & Destructor Documentation

def __init__ (   self,
  hooks = None,
  verbose = VERBOSE 
)

Definition at line 214 of file ihooks.py.

215  def __init__(self, hooks = None, verbose = VERBOSE):
216  BasicModuleLoader.__init__(self, verbose)
217  self.hooks = hooks or Hooks(verbose)

Member Function Documentation

def default_path (   self)

Definition at line 218 of file ihooks.py.

219  def default_path(self):
220  return self.hooks.default_path()
def find_builtin_module (   self,
  name 
)

Definition at line 230 of file ihooks.py.

231  def find_builtin_module(self, name):
232  # XXX frozen packages?
233  if self.hooks.is_builtin(name):
234  return None, '', ('', '', BUILTIN_MODULE)
235  if self.hooks.is_frozen(name):
236  return None, '', ('', '', FROZEN_MODULE)
237  return None
def find_module_in_dir (   self,
  name,
  dir,
  allow_packages = 1 
)

Definition at line 238 of file ihooks.py.

References BasicModuleLoader.find_builtin_module(), and BasicModuleLoader.find_module_in_dir().

239  def find_module_in_dir(self, name, dir, allow_packages=1):
240  if dir is None:
241  return self.find_builtin_module(name)
242  if allow_packages:
243  fullname = self.hooks.path_join(dir, name)
244  if self.hooks.path_isdir(fullname):
245  stuff = self.find_module_in_dir("__init__", fullname, 0)
246  if stuff:
247  file = stuff[0]
248  if file: file.close()
249  return None, fullname, ('', '', PKG_DIRECTORY)
250  for info in self.hooks.get_suffixes():
251  suff, mode, type = info
252  fullname = self.hooks.path_join(dir, name+suff)
253  try:
254  fp = self.hooks.openfile(fullname, mode)
255  return fp, fullname, info
256  except self.hooks.openfile_error:
257  pass
258  return None
def get_hooks (   self)

Definition at line 224 of file ihooks.py.

References ModuleLoader.hooks.

225  def get_hooks(self):
226  return self.hooks
def load_module (   self,
  name,
  stuff 
)

Definition at line 259 of file ihooks.py.

260  def load_module(self, name, stuff):
261  file, filename, info = stuff
262  (suff, mode, type) = info
263  try:
264  if type == BUILTIN_MODULE:
265  return self.hooks.init_builtin(name)
266  if type == FROZEN_MODULE:
267  return self.hooks.init_frozen(name)
268  if type == C_EXTENSION:
269  m = self.hooks.load_dynamic(name, filename, file)
270  elif type == PY_SOURCE:
271  m = self.hooks.load_source(name, filename, file)
272  elif type == PY_COMPILED:
273  m = self.hooks.load_compiled(name, filename, file)
274  elif type == PKG_DIRECTORY:
275  m = self.hooks.load_package(name, filename, file)
276  else:
277  raise ImportError, "Unrecognized module type (%s) for %s" % \
278  (`type`, name)
279  finally:
280  if file: file.close()
281  m.__file__ = filename
282  return m
283 
def modules_dict (   self)

Definition at line 221 of file ihooks.py.

222  def modules_dict(self):
223  return self.hooks.modules_dict()
def set_hooks (   self,
  hooks 
)

Definition at line 227 of file ihooks.py.

References ModuleLoader.hooks.

228  def set_hooks(self, hooks):
229  self.hooks = hooks

Field Documentation

hooks

Definition at line 216 of file ihooks.py.


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