MCPcopy Create free account
hub / github.com/ActiveState/code / display

Method display

recipes/Python/578907_Python_Awesome_DD/recipe-578907.py:148–196  ·  view source on GitHub ↗
(self, inTot=None, inSz=None, outSz=None, start_time=None)

Source from the content-addressed store, hash-verified

146
147
148 def display(self, inTot=None, inSz=None, outSz=None, start_time=None):
149 try:
150 a = self.lastupdate
151 except AttributeError:
152 self.lastupdate = (time.time() - 5)
153
154 if inTot:
155 remain = (inTot - outSz)
156 percent = (float(outSz) / float(inTot))
157 elapsed = (time.time() - start_time)
158 speed = (float(outSz) / float(elapsed))
159 eta = int(remain / speed)
160
161 # now build out the majority of the display string
162 linest = '%s in %s @ %s/sec [' % (
163 self.size(outSz),
164 self.time(elapsed),
165 self.size(speed)
166 )
167 lineend = '] %3d%% eta %s' % (
168 int(percent * 100),
169 self.time(eta)
170 )
171
172 # now figure out how many hashmarks we need
173 curlen = (len(linest)+len(lineend))
174 hashlen = (self.max_x - curlen)
175 hashes = int(hashlen * percent)
176 padding = (hashlen - hashes)
177
178 # and put the line together
179 line = '%s%s%s%s' % (
180 linest,
181 '#'*hashes,
182 ' '*padding,
183 lineend
184 )
185
186 else:
187 line = '%s in %s @ %s/sec' % (
188 self.size(outSz),
189 self.time(time.time() - start_time),
190 self.size((outSz / (time.time() - start_time)))
191 )
192
193 if (time.time() - self.lastupdate) >= 1 and not self.quiet:
194 sys.stderr.write('%s\r' % line)
195 sys.stderr.flush()
196 self.lastupdate = time.time()
197
198################
199## I/O classes

Callers 1

startMethod · 0.45

Calls 4

timeMethod · 0.45
sizeMethod · 0.45
writeMethod · 0.45
flushMethod · 0.45

Tested by

no test coverage detected