Ejemplo n.º 1
0
def list_(args):
    """List the tracker's issues (filtered by criteria)"""
    t = args['tracker']
    c = UserConfig()
    query = Query(t)
    args.setdefault('order', 'updated')
    args.setdefault('status', 'open')
    issues = query.select(order_by=args['order'], status=args['status'])
    # short mode
    if args['short']:
        for i in issues:
            print '%s %s' % (c.decorate('red', i.id[:6]), i.title)
    # normal mode
    else:
        for i in issues:
            print '%s %s' % (c.decorate('red', 'issue'), i.id)
            print '%s  %s <%s>' % (c.decorate(
                'yellow', 'Author:'), i.author['name'], i.author['email'])
            print '%s %s' % (c.decorate('yellow',
                                        'Created:'), relative_time(i.created))
            if i.updated != i.created:
                print '%s %s' % (c.decorate(
                    'yellow', 'Updated:'), relative_time(i.updated))
            print '%s  %s' % (c.decorate('yellow', 'Status:'), i.status)

            num_comments = len(i.comments())
            if num_comments:
                print '%d Comments' % num_comments
            print
            print '    ' + c.decorate('bold', i.title)
            print
            content = wrap(i.content)
            for line in content.splitlines():
                print '    ' + line
            print
Ejemplo n.º 2
0
def show(args):
    """Show an issue."""
    t = args['tracker']
    c = UserConfig()

    try:
        i = t.issue(args['issue'])
    except AmbiguousReference:
        print c.decorate('yellow',
                         'Multiple matches. Try adding another character.')
        return
    except BadReference:
        print c.decorate('red', 'No issue matched that id.')
        return

    print '%s %s' % (c.decorate('red', 'issue'), i.id)
    print '%s  %s <%s>' % (c.decorate(
        'yellow', 'Author:'), i.author['name'], i.author['email'])
    print '%s %s' % (c.decorate('yellow', 'Created:'), relative_time(
        i.created))
    if i.updated != i.created:
        print '%s %s' % (c.decorate('yellow',
                                    'Updated:'), relative_time(i.updated))
    print '%s  %s' % (c.decorate('yellow', 'Status:'), i.status)
    print
    print '    ' + c.decorate('bold', i.title)
    print
    content = wrap(i.content)
    for line in content.splitlines():
        print '    ' + line
    print
Ejemplo n.º 3
0
def show(args):
    """Show an issue."""
    t = args['tracker']
    c = UserConfig()

    try:
        i = t.issue(args['issue'])
    except AmbiguousReference:
        print c.decorate('yellow', 'Multiple matches. Try adding another character.')
        return
    except BadReference:
        print c.decorate('red', 'No issue matched that id.')
        return

    print '%s %s' % (c.decorate('red', 'issue'), i.id)
    print '%s  %s <%s>' % (c.decorate('yellow', 'Author:'), i.author['name'], i.author['email'])
    print '%s %s' % (c.decorate('yellow', 'Created:'), relative_time(i.created))
    if i.updated != i.created:
        print '%s %s' % (c.decorate('yellow', 'Updated:'), relative_time(i.updated))
    print '%s  %s' % (c.decorate('yellow', 'Status:'), i.status)
    print
    print '    ' + c.decorate('bold', i.title)
    print
    content = wrap(i.content)
    for line in content.splitlines():
        print '    ' + line
    print
Ejemplo n.º 4
0
def list_(args):
    """List the tracker's issues (filtered by criteria)"""
    t = args['tracker']
    c = UserConfig()
    query = Query(t)
    args.setdefault('order', 'updated')
    args.setdefault('status', 'open')
    issues = query.select(order_by=args['order'], status=args['status'])
    # short mode
    if args['short']:
        for i in issues:
            print '%s %s' % (c.decorate('red', i.id[:6]), i.title)
    # normal mode
    else:
        for i in issues:
            print '%s %s' % (c.decorate('red', 'issue'), i.id)
            print '%s  %s <%s>' % (c.decorate('yellow', 'Author:'), 
                                   i.author['name'], 
                                   i.author['email'])
            print '%s %s' % (c.decorate('yellow', 'Created:'), 
                             relative_time(i.created))
            if i.updated != i.created:
                print '%s %s' % (c.decorate('yellow', 'Updated:'), 
                                 relative_time(i.updated))
            print '%s  %s' % (c.decorate('yellow', 'Status:'), i.status)
            
            num_comments = len(i.comments())
            if num_comments:
                print '%d Comments' % num_comments
            print
            print '    ' + c.decorate('bold', i.title)
            print
            content = wrap(i.content)
            for line in content.splitlines():
                print '    ' + line
            print