| Index: git_cl.py
|
| diff --git a/git_cl.py b/git_cl.py
|
| index 5ff11fc152c0d6e12e2124944ad8f152968001a5..b6810e8b6b50f44e4c00594c46152fb9df379bd8 100755
|
| --- a/git_cl.py
|
| +++ b/git_cl.py
|
| @@ -1457,18 +1457,17 @@ def color_for_status(status):
|
| 'error': Fore.WHITE,
|
| }.get(status, Fore.WHITE)
|
|
|
| -def fetch_cl_status(b, auth_config=None):
|
| - """Fetches information for an issue and returns (branch, issue, color)."""
|
| - c = Changelist(branchref=b, auth_config=auth_config)
|
| - i = c.GetIssueURL()
|
| - status = c.GetStatus()
|
| - color = color_for_status(status)
|
| -
|
| - if i and (not status or status == 'error'):
|
| +def fetch_cl_status(branch, auth_config=None):
|
| + """Fetches information for an issue and returns (branch, issue, status)."""
|
| + cl = Changelist(branchref=branch, auth_config=auth_config)
|
| + url = cl.GetIssueURL()
|
| + status = cl.GetStatus()
|
| +
|
| + if url and (not status or status == 'error'):
|
| # The issue probably doesn't exist anymore.
|
| - i += ' (broken)'
|
| + url += ' (broken)'
|
|
|
| - return (b, i, color)
|
| + return (branch, url, status)
|
|
|
| def get_cl_statuses(
|
| branches, fine_grained, max_processes=None, auth_config=None):
|
| @@ -1501,9 +1500,9 @@ def get_cl_statuses(
|
| else:
|
| # Do not use GetApprovingReviewers(), since it requires an HTTP request.
|
| for b in branches:
|
| - c = Changelist(branchref=b, auth_config=auth_config)
|
| - url = c.GetIssueURL()
|
| - yield (b, url, Fore.BLUE if url else Fore.WHITE)
|
| + cl = Changelist(branchref=b, auth_config=auth_config)
|
| + url = cl.GetIssueURL()
|
| + yield (b, url, 'waiting' if url else 'error')
|
|
|
| def CMDstatus(parser, args):
|
| """Show status of changelists.
|
| @@ -1570,15 +1569,18 @@ def CMDstatus(parser, args):
|
| alignment = max(5, max(len(ShortBranchName(b)) for b in branches))
|
| for branch in sorted(branches):
|
| while branch not in branch_statuses:
|
| - b, i, color = output.next()
|
| - branch_statuses[b] = (i, color)
|
| - issue, color = branch_statuses.pop(branch)
|
| + b, i, status = output.next()
|
| + branch_statuses[b] = (i, status)
|
| + issue_url, status = branch_statuses.pop(branch)
|
| + color = color_for_status(status)
|
| reset = Fore.RESET
|
| if not sys.stdout.isatty():
|
| color = ''
|
| reset = ''
|
| - print ' %*s : %s%s%s' % (
|
| - alignment, ShortBranchName(branch), color, issue, reset)
|
| + status_str = '(%s)' % status if status else ''
|
| + print ' %*s : %s%s %s%s' % (
|
| + alignment, ShortBranchName(branch), color, issue_url, status_str,
|
| + reset)
|
|
|
| cl = Changelist(auth_config=auth_config)
|
| print
|
|
|