@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)
@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)
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)
@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)
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)
@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)