Esempio n. 1
0
    @eventhook('init-post-args')
    def init_post_args(self, args, options):
        self.options = options

    @eventhook('init-post-exec')
    def init_post_exec(self, cwd, root):
        if self.options.mkenv is not False:
            print "Creating virtualenv..."
            if self.options.mkenv is None:
                self.options.mkenv = os.path.join(root, PROJECT_FOLDER,
                                                  VENV_FOLDER)
            self.fire("pre-create", self.options.mkenv)
            if not os.path.isdir(self.options.mkenv):
                os.mkdir(self.options.mkenv)
            virtualenv.create_environment(self.options.mkenv, False, True)
            self.write_env_path_file(root, self.options.mkenv)
            self.fire("post-create", self.options.mkenv)
        elif self.options.lnenv is not False:
            print "Associating virtualenv..."
            self.fire("pre-link", self.options.lnenv)
            self.write_env_path_file(root, self.options.lnenv)
            self.fire("post-link", self.options.lnenv)

    @eventhook('destroy-post-script')
    def destroy_post_script(self, file):
        file.write("deactivate;")


hook.register(VirtualEnvPinHook)
Esempio n. 2
0
    @eventhook('init-post-args')
    def init_post_args(self, args, options):
        '''Save init parsed options for later'''
        self.options = options

    @eventhook('init-post-exec')
    def init_post_exec(self, cwd, root):
        '''Save path of new project'''
        self.options.root = root

    @eventhook('venv-post-create')
    def venv_post_create(self, path):
        '''Save path of new virtualenv'''
        # only install if options were present
        if self.options.pip and (self.options.mkenv or self.options.lnenv): 
            self.options.venvpath = path
        else:
            self.options.venvpath = None

    @eventhook('init-post-script')
    def init_post_script(self, file):
        '''Write shell script to process requirements file using new virtualenv'''
        if self.options.pip and getattr(self.options, 'venvpath', None):
            venvopt = "-E %s" % self.options.venvpath
            file.write("pip install %s -r %s;" % (venvopt, 
                                          os.path.join(self.options.root,
                                                       'requirements.txt')))

hook.register(PipPinHook)
Esempio n. 3
0
        self.options = options

    @eventhook('venv-post-create')
    @eventhook('venv-post-link')
    # create capn hooks
    def install(self, path, **kwargs):
        if self.active:  # only install if options were present
            activate_path = os.path.join(path, 'bin', 'activate')
            add_external_hook(self.default_hook_file,
                              os.getcwd(),
                              hooktype='tree',
                              enter=['source %s' % activate_path],
                              exit=['deactivate'],
                              unique=True)

    @eventhook('init-post-script')
    # source venv and capn
    def activate_capn(self, file):
        if self.active:
            # source capn and activate venv
            file.write("source .pin/env/bin/activate;")
            file.write("source capn;")

    @eventhook('destroy-post-exec')
    # remove capn hooks
    def remove_capn(self, cwd, root):
        remove_external_hook(self.default_hook_file, root)


register(CapnVenvPinHook)
Esempio n. 4
0
    @eventhook("venv-post-create")
    @eventhook("venv-post-link")
    # create capn hooks
    def install(self, path, **kwargs):
        if self.active:  # only install if options were present
            activate_path = os.path.join(path, "bin", "activate")
            add_external_hook(
                self.default_hook_file,
                os.getcwd(),
                hooktype="tree",
                enter=["source %s" % activate_path],
                exit=["deactivate"],
                unique=True,
            )

    @eventhook("init-post-script")
    # source venv and capn
    def activate_capn(self, file):
        if self.active:
            # source capn and activate venv
            file.write("source .pin/env/bin/activate;")
            file.write("source capn;")

    @eventhook("destroy-post-exec")
    # remove capn hooks
    def remove_capn(self, cwd, root):
        remove_external_hook(self.default_hook_file, root)


register(CapnVenvPinHook)
Esempio n. 5
0
               help='associate existing virtualenv at supplied path')

    @eventhook('init-post-args')
    def init_post_args(self, args, options):
        self.options = options

    @eventhook('init-post-exec')
    def init_post_exec(self, cwd, root):
        if self.options.mkenv is not False:
            print "Creating virtualenv..."
            if self.options.mkenv is None:
                self.options.mkenv = os.path.join(root, 
                                                 PROJECT_FOLDER, 
                                                 VENV_FOLDER)
            self.fire("pre-create", self.options.mkenv)
            if not os.path.isdir(self.options.mkenv):
                os.mkdir(self.options.mkenv)
            virtualenv.create_environment(self.options.mkenv, False, True)
            self.write_env_path_file(root, self.options.mkenv)
            self.fire("post-create", self.options.mkenv)
        elif self.options.lnenv is not False:
            print "Associating virtualenv..."
            self.fire("pre-link", self.options.lnenv)
            self.write_env_path_file(root, self.options.lnenv)
            self.fire("post-link", self.options.lnenv)

    @eventhook('destroy-post-script')
    def destroy_post_script(self, file):
        file.write("deactivate;")
hook.register(VirtualEnvPinHook)
Esempio n. 6
0
    @eventhook('init-post-args')
    def init_post_args(self, args, options):
        '''Save init parsed options for later'''
        self.options = options

    @eventhook('init-post-exec')
    def init_post_exec(self, cwd, root):
        '''Save path of new project'''
        self.options.root = root

    @eventhook('venv-post-create')
    def venv_post_create(self, path):
        '''Save path of new virtualenv'''
        # only install if options were present
        if self.options.pip and (self.options.mkenv or self.options.lnenv):
            self.options.venvpath = path
        else:
            self.options.venvpath = None

    @eventhook('init-post-script')
    def init_post_script(self, file):
        '''Write shell script to process requirements file using new virtualenv'''
        if self.options.pip and getattr(self.options, 'venvpath', None):
            venvopt = "-E %s" % self.options.venvpath
            file.write(
                "pip install %s -r %s;" %
                (venvopt, os.path.join(self.options.root, 'requirements.txt')))


hook.register(PipPinHook)