Mercurial > hg
diff hgext/progress.py @ 23907:63c7783a5928
progress: move update check into helper method
author | Solomon Matthews <smat@fb.com> |
---|---|
date | Sat, 17 Jan 2015 13:10:37 -0800 |
parents | e0ae0a4e4c7b |
children | 5502bd79d052 |
line wrap: on
line diff
--- a/hgext/progress.py Sat Jan 17 13:09:33 2015 -0800 +++ b/hgext/progress.py Sat Jan 17 13:10:37 2015 -0800 @@ -228,6 +228,17 @@ return _('%d %s/sec') % (delta / elapsed, unit) return '' + def _oktoprint(self, now): + '''Check if conditions are met to print - e.g. changedelay elapsed''' + if (self.lasttopic is None # first time we printed + # not a topic change + or self.curtopic == self.lasttopic + # it's been long enough we should print anyway + or now - self.lastprint >= self.changedelay): + return True + else: + return False + def progress(self, topic, pos, item='', unit='', total=None): now = time.time() try: @@ -258,11 +269,7 @@ self.topicstates[topic] = pos, item, unit, total self.curtopic = topic if now - self.lastprint >= self.refresh and self.topics: - if (self.lasttopic is None # first time we printed - # not a topic change - or topic == self.lasttopic - # it's been long enough we should print anyway - or now - self.lastprint >= self.changedelay): + if self._oktoprint(now): self.lastprint = now self.show(now, topic, *self.topicstates[topic]) finally: