summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--progress.py9
-rw-r--r--subcmds/sync.py9
2 files changed, 10 insertions, 8 deletions
diff --git a/progress.py b/progress.py
index 6686ad4a..69c95927 100644
--- a/progress.py
+++ b/progress.py
@@ -76,6 +76,10 @@ def elapsed_str(total):
76 return ret 76 return ret
77 77
78 78
79def jobs_str(total):
80 return f"{total} job{'s' if total > 1 else ''}"
81
82
79class Progress(object): 83class Progress(object):
80 def __init__( 84 def __init__(
81 self, 85 self,
@@ -170,10 +174,7 @@ class Progress(object):
170 else: 174 else:
171 p = (100 * self._done) / self._total 175 p = (100 * self._done) / self._total
172 if self._show_jobs: 176 if self._show_jobs:
173 jobs = "[%d job%s] " % ( 177 jobs = f"[{jobs_str(self._active)}] "
174 self._active,
175 "s" if self._active > 1 else "",
176 )
177 else: 178 else:
178 jobs = "" 179 jobs = ""
179 if self._show_elapsed: 180 if self._show_elapsed:
diff --git a/subcmds/sync.py b/subcmds/sync.py
index da9918b9..a44ed5b4 100644
--- a/subcmds/sync.py
+++ b/subcmds/sync.py
@@ -66,7 +66,7 @@ from command import (
66from error import RepoChangedException, GitError 66from error import RepoChangedException, GitError
67import platform_utils 67import platform_utils
68from project import SyncBuffer 68from project import SyncBuffer
69from progress import Progress, elapsed_str 69from progress import Progress, elapsed_str, jobs_str
70from repo_trace import Trace 70from repo_trace import Trace
71import ssh 71import ssh
72from wrapper import Wrapper 72from wrapper import Wrapper
@@ -673,7 +673,7 @@ later is required to fix a server side protocol bug.
673 def _FetchInitChild(cls, ssh_proxy): 673 def _FetchInitChild(cls, ssh_proxy):
674 cls.ssh_proxy = ssh_proxy 674 cls.ssh_proxy = ssh_proxy
675 675
676 def _GetLongestSyncMessage(self): 676 def _GetSyncProgressMessage(self):
677 if len(self._sync_dict) == 0: 677 if len(self._sync_dict) == 0:
678 return None 678 return None
679 679
@@ -685,7 +685,8 @@ later is required to fix a server side protocol bug.
685 earliest_proj = project 685 earliest_proj = project
686 686
687 elapsed = time.time() - earliest_time 687 elapsed = time.time() - earliest_time
688 return f"{elapsed_str(elapsed)} {earliest_proj}" 688 jobs = jobs_str(len(self._sync_dict))
689 return f"{jobs} | {elapsed_str(elapsed)} {earliest_proj}"
689 690
690 def _Fetch(self, projects, opt, err_event, ssh_proxy): 691 def _Fetch(self, projects, opt, err_event, ssh_proxy):
691 ret = True 692 ret = True
@@ -707,7 +708,7 @@ later is required to fix a server side protocol bug.
707 708
708 def _MonitorSyncLoop(): 709 def _MonitorSyncLoop():
709 while True: 710 while True:
710 pm.update(inc=0, msg=self._GetLongestSyncMessage()) 711 pm.update(inc=0, msg=self._GetSyncProgressMessage())
711 if sync_event.wait(timeout=1): 712 if sync_event.wait(timeout=1):
712 return 713 return
713 714