Example #1
0
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]
Example #2
0
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)
Example #4
0
    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)