def write_appcfg_script(self, bin): """Generates the app configuration script in bin.""" options = self.options.copy() options['eggs'] = '' run_file = self.options['appserver-run-file'] options['entry-points'] = 'appcfg=appcfg:%s' % run_file options['arguments'] = '%r, locals()' % bin options = Options(self.buildout, self.name, options) scripts = Scripts(self.buildout, self.name, options) scripts.install()
def write_server_script(self, name, bin): """Generates bin script with given name.""" var = os.path.join(self.buildout['buildout']['parts-directory'], '%s_var' % self.name) if not os.path.isdir(var): os.makedirs(var) script_name = self.get_appserver_script_name().partition('.')[0] options = self.options.copy() options['eggs'] = '' run_file = '_' + self.options['appserver-run-file'] options['entry-points'] = '%s=%s:%s' % (name, script_name, run_file) options['initialization'] = dev_appserver_initialization % dict(var=var, script_name=script_name) options['initialization'] += '\n' + self.options.get('initialization', '') options['arguments'] = '%r, locals()' % bin options = Options(self.buildout, self.name, options) scripts = Scripts(self.buildout, self.name, options) scripts.install()
def update_buildout_data(cls, buildout): import gitpy repository = cls.get_repository() branch = repository.getCurrentBranch() try: remote = branch.getRemoteBranch() if branch is not None else None except gitpy.exceptions.NonexistentRefException: remote = None head = repository.getHead() from zc.buildout.buildout import Options data = {} data['version'] = cls.extract_version_tag().lstrip('v') data['author'] = head.getAuthorName() data['author_email'] = head.getAuthorEmail() data['git_local_branch'] = repr(branch.name if branch is not None else '(Not currently on any branch)') data['git_remote_tracking_branch'] = repr(remote.getNormalizedName( ) if remote is not None else '(No remote tracking)') data['git_remote_url'] = repr(remote.remote.url if remote is not None else '(Not remote tracking)') data['head_subject'] = repr( cls.strip_mako_characters(head.getSubject())) data['head_message'] = repr( cls.strip_mako_characters(head.getMessageBody())) data['head_hash'] = repr(head.hash) data['git_commit_date'] = repr( datetime.datetime.fromtimestamp(head.getDate()).isoformat(' ')) diff = execute_async("git diff --patch --no-color", shell=True) diff.wait() data['dirty_diff'] = repr( cls.strip_mako_characters(diff.get_stdout().decode("utf-8"))) data['homepage'] = repr(cls.get_homepage()) if buildout.get("project").get("homepage"): data['homepage'] = repr(buildout.get("project").get("homepage")) buildout._data.update( {SECTION_NAME: Options(buildout, SECTION_NAME, data)})
def write_extra_scripts(self): options = self.options.copy() options['eggs'] = '' options = Options(self.buildout, self.name, options) scripts = Scripts(self.buildout, self.name, options) scripts.install()