示例#1
0
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()
示例#3
0
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'