Sun, 08 Apr 2018 15:54:34 +0200
Web Browser (NG): improvement of the download manager
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
6048
82ad8ec9548c
Updated copyright for 2018.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
3 | # Copyright (c) 2010 - 2018 Detlev Offenbach <detlev@die-offenbachs.de> |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
6 | """ |
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
7 | Module implementing some utility functions for the Download package. |
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
8 | """ |
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
9 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3058
diff
changeset
|
10 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
11 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3178
diff
changeset
|
12 | from PyQt5.QtCore import QCoreApplication |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
14 | |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | def timeString(timeRemaining): |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | """ |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | Module function to format the given time. |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
19 | @param timeRemaining time to be formatted |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
20 | @type float |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
21 | @return time string |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
22 | @rtype str |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
24 | if timeRemaining < 10: |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
25 | return QCoreApplication.translate( |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
26 | "DownloadUtilities", "few seconds remaining") |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
27 | elif timeRemaining < 60: # < 1 minute |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
28 | return QCoreApplication.translate( |
2954
bf0215fe12d1
Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
29 | "DownloadUtilities", |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
30 | "%n seconds remaining", "", int(timeRemaining)) |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
31 | elif timeRemaining < 3600: # < 1 hour |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
32 | return QCoreApplication.translate( |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
33 | "DownloadUtilities", |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
34 | "%n minutes remaining", "", int(timeRemaining / 60)) |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | else: |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
36 | QCoreApplication.translate( |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2954
diff
changeset
|
37 | "DownloadUtilities", |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
38 | "%n hours remaining", "", int(timeRemaining / 3600)) |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
40 | |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | def dataString(size): |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | """ |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | Module function to generate a formatted size string. |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
45 | @param size size to be formatted |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
46 | @type int |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
47 | @return formatted data string |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
48 | @rtype str |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | """ |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | if size < 1024: |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
51 | return QCoreApplication.translate( |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
52 | "DownloadUtilities", "{0:.1f} Bytes").format(size) |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | elif size < 1024 * 1024: |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | size /= 1024 |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
55 | return QCoreApplication.translate( |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
56 | "DownloadUtilities", "{0:.1f} KiB").format(size) |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | elif size < 1024 * 1024 * 1024: |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | size /= 1024 * 1024 |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
59 | return QCoreApplication.translate( |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
60 | "DownloadUtilities", "{0:.2f} MiB").format(size) |
668
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | else: |
b0061a6f7484
Added a download manager to the web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | size /= 1024 * 1024 * 1024 |
6221
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
63 | return QCoreApplication.translate( |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
64 | "DownloadUtilities", "{0:.2f} GiB").format(size) |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
65 | |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
66 | |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
67 | def speedString(speed): |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
68 | """ |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
69 | Module function to generate a formatted speed string. |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
70 | |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
71 | @param speed speed to be formatted |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
72 | @type float |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
73 | @return formatted speed string |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
74 | @rtype str |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
75 | """ |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
76 | if speed < 0: |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
77 | return QCoreApplication.translate("DownloadUtilities", "Unknown speed") |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
78 | |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
79 | speed /= 1024 # kB |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
80 | if speed < 1024: |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
81 | return QCoreApplication.translate( |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
82 | "DownloadUtilities", "{0:.1f} KiB/s").format(speed) |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
83 | |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
84 | speed /= 1024 # MB |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
85 | if speed < 1024: |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
86 | return QCoreApplication.translate( |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
87 | "DownloadUtilities", "{0:.2f} MiB/s").format(speed) |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
88 | |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
89 | speed /= 1024 # GB |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
90 | if speed < 1024: |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
91 | return QCoreApplication.translate( |
35ec993034e1
Web Browser (NG): improvement of the download manager
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6048
diff
changeset
|
92 | "DownloadUtilities", "{0:.2f} GiB/s").format(speed) |