]>
Commit | Line | Data |
---|---|---|
66862195 MT |
1 | #!/usr/bin/python |
2 | ||
e96e445b MT |
3 | import random |
4 | import string | |
5 | ||
84604476 MT |
6 | def format_size(s, max_unit=None): |
7 | units = ("B", "kB", "MB", "GB", "TB") | |
66862195 MT |
8 | |
9 | i = 0 | |
10 | while s >= 1024 and i < len(units) - 1: | |
11 | s /= 1024 | |
12 | i += 1 | |
13 | ||
84604476 MT |
14 | if max_unit and units[i] == max_unit: |
15 | break | |
16 | ||
66862195 MT |
17 | return "%.0f%s" % (s, units[i]) |
18 | ||
5ac74b02 | 19 | def format_time(s, shorter=True): |
66862195 MT |
20 | #_ = handler.locale.translate |
21 | _ = lambda x: x | |
22 | ||
23 | hrs, s = divmod(s, 3600) | |
24 | min, s = divmod(s, 60) | |
25 | ||
26 | if s >= 30: | |
27 | min += 1 | |
28 | ||
29 | if shorter and not hrs: | |
30 | return _("%(min)d min") % { "min" : min } | |
31 | ||
32 | return _("%(hrs)d:%(min)02d hrs") % {"hrs" : hrs, "min" : min} | |
e96e445b MT |
33 | |
34 | def random_string(length=8): | |
35 | input_chars = string.ascii_letters + string.digits | |
36 | ||
37 | r = (random.choice(input_chars) for i in range(length)) | |
38 | ||
39 | return "".join(r) |