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
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
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
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