'Setup an integration from Github or Travis for Ansible Galaxy roles'

def execute_setup(self):

    if self.options.setup_list:
        secrets = self.api.list_secrets()
        if (len(secrets) == 0):
            display.display('No    integrations    found.')
            return 0
        display.display((u'\n' + 'ID                                    Source                    Repo'), color=C.COLOR_OK)
        display.display('----------    ----------    ----------', color=C.COLOR_OK)
        for secret in secrets:
            display.display(('%-10s    %-10s    %s/%s' % (secret['id'], secret['source'], secret['github_user'], secret['github_repo'])), color=C.COLOR_OK)
        return 0
    if self.options.remove_id:
        self.api.remove_secret(self.options.remove_id)
        display.display('Secret    removed.    Integrations    using    this    secret    will    not    longer    work.', color=C.COLOR_OK)
        return 0
    if (len(self.args) < 4):
        raise AnsibleError('Missing    one    or    more    arguments.    Expecting:    source    github_user    github_repo    secret')
        return 0
    secret = self.args.pop()
    github_repo = self.args.pop()
    github_user = self.args.pop()
    source = self.args.pop()
    resp = self.api.add_secret(source, github_user, github_repo, secret)
    display.display(('Added    integration    for    %s    %s/%s' % (resp['source'], resp['github_user'], resp['github_repo'])))
    return 0
