def _Import_All (self, mod_skip_pat = None) : """Import all modules of this package namespace""" from _TFL.import_module import import_module ### avoid circular imports from _TFL import sos dir = sos.path.dirname (self.__file__) pns = self.__module_name for f in sos.listdir (dir) : is_py = f.endswith (".py") want = \ ( ( is_py or sos.path.exists (sos.path.join (dir, f, "__init__.py")) ) and not ( f.startswith (("__", ".")) or f == "setup.py" or ( mod_skip_pat.search (f) if mod_skip_pat is not None else False ) ) ) if want : mn = f [:-3] if is_py else f mod = ".".join ((pns, mn)) try : import_module (mod) except Exception as exc : logging.exception \ ( "%s._Import_All: " "exception during import of %s\n %s" % (self.__name__, mn, exc) )
def gen (pref, dols, pred) : for d in dols : dol = path.join (pref, d) if pref else d if path.islink (dol) : dol = path.realpath (dol) if path.isdir (dol) : if pred (dol) : yield d elif path.exists (path.join (dol, ".VX")): for r in gen (dol, sos.listdir (dol), pred) : yield path.join (d, r)
def _add_documents (self) : for filename in \ ( f for f in sos.listdir (self.directory) if f.endswith (".pdf") ) : fname = filename.rsplit (".", 2) [0] fname = fname.replace ("_", " ") fname = fname.replace (".", " ") cmd = self.application.ANS.UI.Command \ ( fname , TFL.Functor ( self.application._open_manual , sos.path.join (self.directory, filename) ) , batchable = False ) self.add_command \ ( "Help" , cmd , if_names = ("mb", ) )