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

Public Member Functions

def __init__
 
def submodules
 
def isnewpackage
 
def run
 
- Public Member Functions inherited from Scanner
def __init__
 
def next
 

Data Fields

 inodes
 
 quit
 
- Data Fields inherited from Scanner
 roots
 
 state
 
 children
 
 descendp
 

Detailed Description

An interruptible scanner that searches module synopses.

Definition at line 1689 of file pydoc.py.

Constructor & Destructor Documentation

def __init__ (   self)

Definition at line 1691 of file pydoc.py.

References ModuleScanner.isnewpackage(), pydoc.pathdirs(), and ModuleScanner.submodules().

1692  def __init__(self):
1693  roots = map(lambda dir: (dir, ''), pathdirs())
1694  Scanner.__init__(self, roots, self.submodules, self.isnewpackage)
1695  self.inodes = map(lambda (dir, pkg): os.stat(dir)[1], roots)

Member Function Documentation

def isnewpackage (   self,
  dir,
  package 
)

Definition at line 1707 of file pydoc.py.

References ModuleScanner.inodes, and pydoc.ispackage().

1708  def isnewpackage(self, (dir, package)):
1709  inode = os.path.exists(dir) and os.stat(dir)[1]
1710  if not (os.path.islink(dir) and inode in self.inodes):
1711  self.inodes.append(inode) # detect circular symbolic links
1712  return ispackage(dir)
def run (   self,
  callback,
  key = None,
  completer = None 
)

Definition at line 1713 of file pydoc.py.

References string.lower().

1714  def run(self, callback, key=None, completer=None):
1715  if key: key = lower(key)
1716  self.quit = 0
1717  seen = {}
1718 
1719  for modname in sys.builtin_module_names:
1720  if modname != '__main__':
1721  seen[modname] = 1
1722  if key is None:
1723  callback(None, modname, '')
1724  else:
1725  desc = split(__import__(modname).__doc__ or '', '\n')[0]
1726  if find(lower(modname + ' - ' + desc), key) >= 0:
1727  callback(None, modname, desc)
1728 
1729  while not self.quit:
1730  node = self.next()
1731  if not node: break
1732  path, package = node
1733  modname = inspect.getmodulename(path)
1734  if os.path.isfile(path) and modname:
1735  modname = package + (package and '.') + modname
1736  if not seen.has_key(modname):
1737  seen[modname] = 1 # if we see spam.py, skip spam.pyc
1738  if key is None:
1739  callback(path, modname, '')
1740  else:
1741  desc = synopsis(path) or ''
1742  if find(lower(modname + ' - ' + desc), key) >= 0:
1743  callback(path, modname, desc)
1744  if completer: completer()
def submodules (   self,
  dir,
  package 
)

Definition at line 1696 of file pydoc.py.

References pydoc.ispackage().

1697  def submodules(self, (dir, package)):
1698  children = []
1699  for file in os.listdir(dir):
1700  path = os.path.join(dir, file)
1701  if ispackage(path):
1702  children.append((path, package + (package and '.') + file))
1703  else:
1704  children.append((path, package))
1705  children.sort() # so that spam.py comes before spam.pyc or spam.pyo
1706  return children

Field Documentation

inodes

Definition at line 1694 of file pydoc.py.

quit

Definition at line 1715 of file pydoc.py.


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