示例#1
0
文件: task.py 项目: boldfield/asa
def show():
    fmt_str = "{:<20}{:>50}\n"
    conf = config.get()
    t_id = conf['state']['task']
    uri = '/tasks/{}'.format(t_id)
    task = client.get(uri)
    projects = map(lambda x: x['name'], task['projects'])

    sys.stdout.write(fmt_str.format('Name:', task['name']))
    sys.stdout.write(
        fmt_str.format('Parent:', task['parent'] if task['parent'] else ''))
    sys.stdout.write(fmt_str.format('Created:', task['created_at']))
    sys.stdout.write(fmt_str.format('Modified:', task['modified_at']))
    sys.stdout.write(
        fmt_str.format('Due:', task['due_on'] if task['due_on'] else ''))
    sys.stdout.write(fmt_str.format('Workspace:', task['workspace']['name']))
    sys.stdout.write(fmt_str.format('Projects:', ', '.join(projects)))
    sys.stdout.write(fmt_str.format('Notes:', task['notes']))
    sys.stdout.write('Comments:\n\n')

    uri = '/tasks/{}/stories'.format(t_id)
    stories = client.get(uri)
    for story in stories:
        if story['type'] == 'comment':
            sys.stdout.write('{:<80}'.format(story['text']))
            sys.stdout.write('\n' + '-' * 40 + '\n')
示例#2
0
def show(ws_id):
    uri = '/workspaces/{}'.format(ws_id)
    data = client.get(uri)
    sys.stdout.write('ID:\t\t{}\n'.format(data['id']))
    sys.stdout.write('Name:\t\t{}\n'.format(data['name']))
    sys.stdout.write('Organization:\t{}\n'.format(data['name']))
    sys.stdout.write('Email Domains:\t{}\n'.format(', '.join(data['email_domains'])))
示例#3
0
def _set_me():
    from asa import client
    conf = get()
    if 'state' not in conf:
        conf['state'] = {}
    me = client.get('/users/me')
    conf['state']['user_id'] = me['id']
    write(conf)
示例#4
0
文件: config.py 项目: boldfield/asa
def _set_me():
    from asa import client
    conf = get()
    if 'state' not in conf:
        conf['state'] = {}
    me = client.get('/users/me')
    conf['state']['user_id'] = me['id']
    write(conf)
示例#5
0
def list():
    fmt_str = "{:<5}{:<20}{:<20}\n"
    sys.stdout.write(fmt_str.format('', 'ID','Name'))
    uri = '/workspaces'
    workspases = client.get(uri)
    for i, ws in enumerate(workspases):
        sys.stdout.write(fmt_str.format('[%s]' % (i+1), ws['id'], ws['name']))
    return 0, workspases
示例#6
0
def show(ws_id):
    uri = '/workspaces/{}'.format(ws_id)
    data = client.get(uri)
    sys.stdout.write('ID:\t\t{}\n'.format(data['id']))
    sys.stdout.write('Name:\t\t{}\n'.format(data['name']))
    sys.stdout.write('Organization:\t{}\n'.format(data['name']))
    sys.stdout.write('Email Domains:\t{}\n'.format(', '.join(
        data['email_domains'])))
示例#7
0
def list():
    fmt_str = "{:<5}{:<20}{:<20}\n"
    sys.stdout.write(fmt_str.format('', 'ID', 'Name'))
    uri = '/workspaces'
    workspases = client.get(uri)
    for i, ws in enumerate(workspases):
        sys.stdout.write(fmt_str.format('[%s]' % (i + 1), ws['id'],
                                        ws['name']))
    return 0, workspases
示例#8
0
def list():
    fmt_str = "{:<5}{:<20}{:<20}\n"
    sys.stdout.write(fmt_str.format('', 'ID', 'Name'))

    conf = config.get()
    ws_id = conf['state']['workspace']
    uri = '/workspaces/{}/projects'.format(ws_id)
    projs = client.get(uri)

    for i, p in enumerate(projs):
        sys.stdout.write(fmt_str.format('[%s]' % (i + 1), p['id'], p['name']))
    return 0, projs
示例#9
0
文件: project.py 项目: boldfield/asa
def list():
    fmt_str = "{:<5}{:<20}{:<20}\n"
    sys.stdout.write(fmt_str.format('', 'ID','Name'))

    conf = config.get()
    ws_id = conf['state']['workspace']
    uri = '/workspaces/{}/projects'.format(ws_id)
    projs = client.get(uri)

    for i, p in enumerate(projs):
        sys.stdout.write(fmt_str.format('[%s]' % (i+1), p['id'], p['name']))
    return 0, projs
示例#10
0
def tasks():
    fmt_str = "{:<5}{:<20}{:<20}\n"
    sys.stdout.write(fmt_str.format('', 'ID', 'Name'))

    conf = config.get()
    p_id = conf['state']['project']
    uri = '/projects/{}/tasks'.format(p_id)
    params = {'assignee': conf['state']['user_id'], 'completed_since': 'now'}
    tasks = client.get(uri, params=params)

    for i, t in enumerate(tasks):
        sys.stdout.write(fmt_str.format('[%s]' % (i + 1), t['id'], t['name']))
    return 0, tasks
示例#11
0
文件: task.py 项目: boldfield/asa
def show():
    fmt_str = "{:<20}{:>50}\n"
    conf = config.get()
    t_id = conf['state']['task']
    uri = '/tasks/{}'.format(t_id)
    task = client.get(uri)
    projects = map(lambda x: x['name'], task['projects'])

    sys.stdout.write(fmt_str.format('Name:', task['name'])) 
    sys.stdout.write(fmt_str.format('Parent:', task['parent'] if task['parent'] else ''))
    sys.stdout.write(fmt_str.format('Created:', task['created_at']))
    sys.stdout.write(fmt_str.format('Modified:', task['modified_at']))
    sys.stdout.write(fmt_str.format('Due:', task['due_on'] if task['due_on'] else ''))
    sys.stdout.write(fmt_str.format('Workspace:', task['workspace']['name']))
    sys.stdout.write(fmt_str.format('Projects:', ', '.join(projects)))
    sys.stdout.write(fmt_str.format('Notes:', task['notes']))
    sys.stdout.write('Comments:\n\n')

    uri = '/tasks/{}/stories'.format(t_id)
    stories = client.get(uri)
    for story in stories:
        if story['type'] == 'comment':
            sys.stdout.write('{:<80}'.format(story['text'])) 
            sys.stdout.write('\n' + '-' * 40 + '\n')
示例#12
0
文件: task.py 项目: boldfield/asa
def list():
    fmt_str = "{:<5}{:<20}{:<20}\n"
    sys.stdout.write(fmt_str.format('', 'ID','Name'))

    conf = config.get()
    ws_id = conf['state']['workspace']
    uri = '/workspaces/{}/tasks'.format(ws_id)
    params = {
        'assignee': conf['state']['user_id'],
        'completed_since': 'now'
    }
    tasks = client.get(uri, params=params)

    for i, t in enumerate(tasks):
        sys.stdout.write(fmt_str.format('[%s]' % (i+1), t['id'], t['name']))
    return 0, tasks