def list(): """ Returns a list of all add-on projects seen by Flumotion. """ projects = [n for n in sys.modules.keys() if n.startswith('flumotion.project')] paths = flumotion.project.__path__ modules = [] for path in paths: modules.extend(package.findEndModuleCandidates( os.path.abspath(os.path.join(path, '..', '..')), prefix='flumotion.project')) modules.remove('flumotion.project.project') return [n[len('flumotion.project.'):] for n in modules]
def list(): """ Returns a list of all add-on projects seen by Flumotion. """ projects = [ n for n in sys.modules.keys() if n.startswith('flumotion.project') ] paths = flumotion.project.__path__ modules = [] for path in paths: modules.extend( package.findEndModuleCandidates(os.path.abspath( os.path.join(path, '..', '..')), prefix='flumotion.project')) modules.remove('flumotion.project.project') return [n[len('flumotion.project.'):] for n in modules]
def testListPyfile(self): self.tempdir = tempfile.mkdtemp() # empty tree a = os.path.join(self.tempdir, 'A') common.ensureDir(a, "a description") dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, []) # add a non-python file os.system("touch %s" % os.path.join(a, 'test')) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, []) # add a __init__ file os.system("touch %s" % os.path.join(a, '__init__.py')) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, []) os.system("touch %s" % os.path.join(a, '__init__.pyc')) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, []) # add a python file; should now get returned test1 = os.path.join(a, 'test.py') os.system("touch %s" % test1) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, [test1]) # add another level b = os.path.join(self.tempdir, 'B') common.ensureDir(b, "a description") c = os.path.join(b, 'C') common.ensureDir(c, "a description") dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, [test1]) # add a non-python file os.system("touch %s" % os.path.join(c, 'test')) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, [test1]) # add a python file; should now get returned test2 = os.path.join(c, 'test.py') os.system("touch %s" % test2) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs.sort(), [test1, test2].sort()) mods = package.findEndModuleCandidates(self.tempdir, prefix='') self.assertEquals(mods, ['B.C.test', 'A.test']) # add a python file but with .c; should now get returned, but # no new module candidate test3 = os.path.join(c, 'test.pyc') os.system("touch %s" % test3) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs.sort(), [test1, test2, test3].sort()) mods = package.findEndModuleCandidates(self.tempdir, prefix='') self.assertEquals(mods, ['B.C.test', 'A.test']) # cleanup os.system("rm -r %s" % self.tempdir)
def testListPyfile(self): self.tempdir = tempfile.mkdtemp() # empty tree a = os.path.join(self.tempdir, 'A') common.ensureDir(a, "a description") dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, []) # add a non-python file os.system("touch %s" % os.path.join(a, 'test')) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, []) # add a __init__ file os.system("touch %s" % os.path.join(a, '__init__.py')) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, []) os.system("touch %s" % os.path.join(a, '__init__.pyc')) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, []) # add a python file; should now get returned test1 = os.path.join(a, 'test.py') os.system("touch %s" % test1) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, [test1]) # add another level b = os.path.join(self.tempdir, 'B') common.ensureDir(b, "a description") c = os.path.join(b, 'C') common.ensureDir(c, "a description") dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, [test1]) # add a non-python file os.system("touch %s" % os.path.join(c, 'test')) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs, [test1]) # add a python file; should now get returned test2 = os.path.join(c, 'test.py') os.system("touch %s" % test2) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs.sort(), [test1, test2].sort()) mods = package.findEndModuleCandidates(self.tempdir, prefix='') self.assertEquals(mods, ['B.C.test', 'A.test']) # add a python file but with .c; should now get returned, but # no new module candidate test3 = os.path.join(c, 'test.pyc') os.system("touch %s" % test3) dirs = package._listPyFileRecursively(self.tempdir) self.assertEquals(dirs.sort(), [test1, test2, test3].sort()) mods = package.findEndModuleCandidates(self.tempdir, prefix='') self.assertEquals(mods, ['B.C.test', 'A.test']) # cleanup os.system("rm -r %s" % self.tempdir)