Exemplo n.º 1
0
    def create_user_package(self, name, metainfo, path=None):
        """
        Create a new package in the user space and register it
        Return the created package
        :param path : the directory where to create the package
        """

        if name in self.pkgs:
            return self.pkgs[name]

        # Create directory
        if not path:
            path = get_userpkg_dir()
        path = os.path.join(path, name)

        if not isdir(path):
            os.mkdir(path)

        if not os.path.exists(os.path.join(path, "__wralea__.py")):
            # Create new Package and its wralea
            p = UserPackage(name, metainfo, path)
            p.write()

        # Register package
        self.load_directory(path)
        self.write_config()

        p = self.pkgs.get(name)
        return p
Exemplo n.º 2
0
    def build_package(self):
        from openalea.core.package import UserPackage
        # Build MetaData
        metainfo = dict(
            version = '',
            license = '',
            authors = '',
            institutes = '',
            description = '',
            url = '',
            )
        icons = self.dir.glob('icon.*')
        if len(icons) > 0:
            metainfo['icon'] = icons[0].basename()

        name = self.pkgname()
        self._package = UserPackage(name, metainfo, str(self.dir))

        if not self.sgfactory:
            self.read_specification()

        # Add factorie of the dataflow
        self._package.add_factory(self.sgfactory)