def start_tornado(): for port in PORTS: s = Screen(TORNADO_SCREEN.format(port=port)) if s.exists is False: s.initialize() s.send_commands('python main.py --port={port}'.format(port=port)) info('Starting tornado instance(s) in port(s) {ports}'.format(ports=dumps(PORTS)))
session_Name = 'session1' s1 = Screen(session_Name, True) if not s1.exists: raise RuntimeError("ERROR: Session not started: %s" % session_Name) time.sleep(5000) # funky prompts could reduce log visibility. Use sh or bash for best results s1.send_commands('bash') s1.enable_logs() s1.send_commands("df") print(next(s1.logs)) s1.disable_logs() # s1 = None # s1 = Screen("session1") # s1.exists s1.kill() # s2 s2 = Screen("session2") s2.exists s2.initialize() s2.exists print(list_screens()) s2.kill()
def payload(): payload = request.json # print('*'*10) workstation = os.path.expanduser('~') + os.environ['REPOPATH'] repo = os.environ['GHREPO'] action = payload.get('action', '') label = payload.get('label', '') issue = payload.get('issue', '') # just create a new branch when the user assign # 'in progress' label into if ( action and label and issue and action == 'labeled' and label['name'] == 'in progress' ): # useful to implement the label at commits, # e.g: label/issue should be the name of the branch. labels = [l['name'] for l in issue['labels'] if l['name']] labels.remove('in progress') branch_label = '' if not labels else random.choice(labels) branch_format = '{label}/issue-{number}' if branch_label else '{number}' branch_info = { 'label': branch_label, 'number': issue['number'] } new_branch = branch_format.format(**branch_info) # screen name s_name = 'github-webhook' s = Screen(s_name) if not s.exists: s.initialize() s.send_commands( 'cd %s' % workstation ) data = { 'repository': repo, 'username': os.environ['GHUSER'], 'password': os.environ['GHPWD'], 'default_b': 'hml', 'new_branch': new_branch } s.send_commands( 'git pull https://{username}:{password}@{repository} {default_b}'.format(**data) ) s.send_commands( 'git checkout %s' % data['default_b'] ) s.send_commands( 'git branch -d %s' % new_branch ) s.send_commands( 'git checkout -b %s' % new_branch ) s.send_commands( 'git push https://{username}:{password}@{repository} {new_branch}'.format(**data) ) return 'ok'