diff options
| -rw-r--r-- | progress.py | 6 | ||||
| -rw-r--r-- | subcmds/sync.py | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/progress.py b/progress.py index b08f52e5..0dd5d1a8 100644 --- a/progress.py +++ b/progress.py | |||
| @@ -21,7 +21,8 @@ from trace import IsTrace | |||
| 21 | _NOT_TTY = not os.isatty(2) | 21 | _NOT_TTY = not os.isatty(2) |
| 22 | 22 | ||
| 23 | class Progress(object): | 23 | class Progress(object): |
| 24 | def __init__(self, title, total=0, units='', print_newline=False): | 24 | def __init__(self, title, total=0, units='', print_newline=False, |
| 25 | always_print_percentage=False): | ||
| 25 | self._title = title | 26 | self._title = title |
| 26 | self._total = total | 27 | self._total = total |
| 27 | self._done = 0 | 28 | self._done = 0 |
| @@ -30,6 +31,7 @@ class Progress(object): | |||
| 30 | self._show = False | 31 | self._show = False |
| 31 | self._units = units | 32 | self._units = units |
| 32 | self._print_newline = print_newline | 33 | self._print_newline = print_newline |
| 34 | self._always_print_percentage = always_print_percentage | ||
| 33 | 35 | ||
| 34 | def update(self, inc=1): | 36 | def update(self, inc=1): |
| 35 | self._done += inc | 37 | self._done += inc |
| @@ -51,7 +53,7 @@ class Progress(object): | |||
| 51 | else: | 53 | else: |
| 52 | p = (100 * self._done) / self._total | 54 | p = (100 * self._done) / self._total |
| 53 | 55 | ||
| 54 | if self._lastp != p: | 56 | if self._lastp != p or self._always_print_percentage: |
| 55 | self._lastp = p | 57 | self._lastp = p |
| 56 | sys.stderr.write('\r%s: %3d%% (%d%s/%d%s)%s' % ( | 58 | sys.stderr.write('\r%s: %3d%% (%d%s/%d%s)%s' % ( |
| 57 | self._title, | 59 | self._title, |
diff --git a/subcmds/sync.py b/subcmds/sync.py index 8a043d9f..8de730bc 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py | |||
| @@ -357,7 +357,8 @@ later is required to fix a server side protocol bug. | |||
| 357 | fetched = set() | 357 | fetched = set() |
| 358 | lock = _threading.Lock() | 358 | lock = _threading.Lock() |
| 359 | pm = Progress('Fetching projects', len(projects), | 359 | pm = Progress('Fetching projects', len(projects), |
| 360 | print_newline=not(opt.quiet)) | 360 | print_newline=not(opt.quiet), |
| 361 | always_print_percentage=opt.quiet) | ||
| 361 | 362 | ||
| 362 | objdir_project_map = dict() | 363 | objdir_project_map = dict() |
| 363 | for project in projects: | 364 | for project in projects: |
