Last change
on this file since 7480 was
7478,
checked in by uli, 13 years ago
|
Sample usage of multi-mechanize (not finished).
|
File size:
1.2 KB
|
Line | |
---|
1 | #!/usr/bin/env python
|
---|
2 | #
|
---|
3 | # Copyright (c) 2010 Corey Goldberg (corey@goldb.org)
|
---|
4 | # License: GNU LGPLv3
|
---|
5 | #
|
---|
6 | # This file is part of Multi-Mechanize
|
---|
7 |
|
---|
8 |
|
---|
9 |
|
---|
10 | class ProgressBar(object):
|
---|
11 | def __init__(self, duration):
|
---|
12 | self.duration = duration
|
---|
13 | self.prog_bar = '[]'
|
---|
14 | self.fill_char = '='
|
---|
15 | self.width = 40
|
---|
16 | self.__update_amount(0)
|
---|
17 |
|
---|
18 | def __update_amount(self, new_amount):
|
---|
19 | percent_done = int(round((new_amount / 100.0) * 100.0))
|
---|
20 | if percent_done > 100:
|
---|
21 | percent_done = 100
|
---|
22 | all_full = self.width - 2
|
---|
23 | num_hashes = int(round((percent_done / 100.0) * all_full))
|
---|
24 | self.prog_bar = '[' + self.fill_char * num_hashes + ' ' * (all_full - num_hashes) + ']'
|
---|
25 | pct_place = (len(self.prog_bar) / 2) - len(str(percent_done))
|
---|
26 | pct_string = '%i%%' % percent_done
|
---|
27 | self.prog_bar = self.prog_bar[0:pct_place] + \
|
---|
28 | (pct_string + self.prog_bar[pct_place + len(pct_string):])
|
---|
29 |
|
---|
30 | def update_time(self, elapsed_secs):
|
---|
31 | self.__update_amount((elapsed_secs / float(self.duration)) * 100.0)
|
---|
32 | self.prog_bar += ' %ds/%ss' % (elapsed_secs, self.duration)
|
---|
33 |
|
---|
34 | def __str__(self):
|
---|
35 | return str(self.prog_bar) |
---|
Note: See
TracBrowser for help on using the repository browser.