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