Cleaner progress bar
This commit is contained in:
@ -68,7 +68,7 @@ cdef class ProgressBar:
|
|||||||
'##########'
|
'##########'
|
||||||
|
|
||||||
|
|
||||||
def __call__(self, object pos):
|
def __call__(self, object pos, bint force=False):
|
||||||
cdef off_t ipos
|
cdef off_t ipos
|
||||||
cdef clock_t elapsed
|
cdef clock_t elapsed
|
||||||
cdef clock_t newtime
|
cdef clock_t newtime
|
||||||
@ -82,7 +82,7 @@ cdef class ProgressBar:
|
|||||||
|
|
||||||
self.cycle+=1
|
self.cycle+=1
|
||||||
|
|
||||||
if self.cycle % self.freq == 0:
|
if self.cycle % self.freq == 0 or force:
|
||||||
self.cycle=1
|
self.cycle=1
|
||||||
newtime = self.clock()
|
newtime = self.clock()
|
||||||
delta = newtime - self.lasttime
|
delta = newtime - self.lasttime
|
||||||
@ -117,7 +117,7 @@ cdef class ProgressBar:
|
|||||||
self.arrow=(self.arrow+1) % 4
|
self.arrow=(self.arrow+1) % 4
|
||||||
|
|
||||||
if days:
|
if days:
|
||||||
<void>fprintf(stderr,b'\r%s %5.1f %% |%.*s%c%.*s] remain : %d days %02d:%02d:%02d\t',
|
<void>fprintf(stderr,b'\r%s %5.1f %% |%.*s%c%.*s] remain : %d days %02d:%02d:%02d\033[K',
|
||||||
self.chead,
|
self.chead,
|
||||||
percent*100,
|
percent*100,
|
||||||
fraction,self.diese,
|
fraction,self.diese,
|
||||||
@ -125,7 +125,7 @@ cdef class ProgressBar:
|
|||||||
50-fraction,self.spaces,
|
50-fraction,self.spaces,
|
||||||
days,hour,minu,sec)
|
days,hour,minu,sec)
|
||||||
else:
|
else:
|
||||||
<void>fprintf(stderr,b'\r%s %5.1f %% |%.*s%c%.*s] remain : %02d:%02d:%02d\t',
|
<void>fprintf(stderr,b'\r%s %5.1f %% |%.*s%c%.*s] remain : %02d:%02d:%02d\033[K',
|
||||||
self.chead,
|
self.chead,
|
||||||
percent*100.,
|
percent*100.,
|
||||||
fraction,self.diese,
|
fraction,self.diese,
|
||||||
@ -140,7 +140,7 @@ cdef class ProgressBar:
|
|||||||
if self.ontty:
|
if self.ontty:
|
||||||
<void>fputs(b'\n',stderr)
|
<void>fputs(b'\n',stderr)
|
||||||
|
|
||||||
self.logger.info('%s %5.1f %% remain : %02d:%02d:%02d' % (
|
self.logger.info('%s %5.1f %% remain : %02d:%02d:%02d\033[K' % (
|
||||||
bytes2str(self._head),
|
bytes2str(self._head),
|
||||||
percent*100.,
|
percent*100.,
|
||||||
hour,minu,sec))
|
hour,minu,sec))
|
||||||
|
Reference in New Issue
Block a user