output.txt
· 928 B · Text
Raw
$ python3 usage.py
Current Connect Time: 23:52:44
Current Upload: 930.35MB
Current Download: 30.65GB
Current Download Rate: 610.00KB/s
Current Upload Rate: 6.35MB/s
Total Upload: 934.36MB
Total Download: 30.67GB
Total Connect Time: 01:26:02
$ python3 usage.py -v
<?xml version="1.0" encoding="UTF-8"?>
<response>
<CurrentConnectTime>85966</CurrentConnectTime>
<CurrentUpload>930354382</CurrentUpload>
<CurrentDownload>30646273305</CurrentDownload>
<CurrentDownloadRate>71276</CurrentDownloadRate>
<CurrentUploadRate>2555</CurrentUploadRate>
<TotalUpload>934367315</TotalUpload>
<TotalDownload>30672352534</TotalDownload>
<TotalConnectTime>87964</TotalConnectTime>
<showtraffic>1</showtraffic>
</response>
Current Connect Time: 23:52:46
Current Upload: 930.35MB
Current Download: 30.65GB
Current Download Rate: 71.28MB/s
Current Upload Rate: 2.56MB/s
Total Upload: 934.37MB
Total Download: 30.67GB
Total Connect Time: 01:26:04
| 1 | $ python3 usage.py |
| 2 | Current Connect Time: 23:52:44 |
| 3 | Current Upload: 930.35MB |
| 4 | Current Download: 30.65GB |
| 5 | Current Download Rate: 610.00KB/s |
| 6 | Current Upload Rate: 6.35MB/s |
| 7 | Total Upload: 934.36MB |
| 8 | Total Download: 30.67GB |
| 9 | Total Connect Time: 01:26:02 |
| 10 | |
| 11 | |
| 12 | $ python3 usage.py -v |
| 13 | <?xml version="1.0" encoding="UTF-8"?> |
| 14 | <response> |
| 15 | <CurrentConnectTime>85966</CurrentConnectTime> |
| 16 | <CurrentUpload>930354382</CurrentUpload> |
| 17 | <CurrentDownload>30646273305</CurrentDownload> |
| 18 | <CurrentDownloadRate>71276</CurrentDownloadRate> |
| 19 | <CurrentUploadRate>2555</CurrentUploadRate> |
| 20 | <TotalUpload>934367315</TotalUpload> |
| 21 | <TotalDownload>30672352534</TotalDownload> |
| 22 | <TotalConnectTime>87964</TotalConnectTime> |
| 23 | <showtraffic>1</showtraffic> |
| 24 | </response> |
| 25 | |
| 26 | Current Connect Time: 23:52:46 |
| 27 | Current Upload: 930.35MB |
| 28 | Current Download: 30.65GB |
| 29 | Current Download Rate: 71.28MB/s |
| 30 | Current Upload Rate: 2.56MB/s |
| 31 | Total Upload: 934.37MB |
| 32 | Total Download: 30.67GB |
| 33 | Total Connect Time: 01:26:04 |
vivid-huawei.py
· 1.4 KiB · Python
Raw
#!/usr/bin/env python3
import requests
from xml.etree import ElementTree
from sys import argv
ROUTER_IP = "192.168.0.1"
def b2B(num_of_bytes, start=-1):
if type(num_of_bytes) not in (float, int):
num_of_bytes = float(num_of_bytes)
opts, i = "KMGTP", start
while num_of_bytes > 1000:
num_of_bytes = num_of_bytes / 1000
i += 1
return "{:.2f}{}B".format(num_of_bytes, opts[i])
def hms(s):
m,s = divmod(s,60)
h,m = divmod(m,60)
d,h = divmod(h,24)
y,d = divmod(d,365)
return y,d,h,m,s
def camel2sp(word):
return ''.join(map(lambda x: x if x.islower() else " "+x, word))
i = requests.get("http://{}/html/home.html".format(ROUTER_IP))
d = requests.get("http://{}/api/monitoring/traffic-statistics".format(ROUTER_IP), headers={"Cookie": i.headers["Set-Cookie"]}).text
if len(argv) > 1 and argv[1] == "-v": print(d)
d = ElementTree.fromstring(d)
for e in d:
if e.tag in ["CurrentConnectTime", "TotalConnectTime"]:
out = "{}: {}".format(camel2sp(e.tag), ":".join(str(x).zfill(2) for x in hms(int(e.text)) if x))
elif e.tag in ["CurrentUpload", "CurrentDownload", "TotalUpload", "TotalDownload"]:
out = "{}: {}".format(camel2sp(e.tag), b2B(e.text))
elif e.tag in ["CurrentUploadRate", "CurrentDownloadRate"]:
out = "{}: {}/s".format(camel2sp(e.tag), b2B(float(e.text), 0))
else:
continue
print(out.strip())
| 1 | #!/usr/bin/env python3 |
| 2 | import requests |
| 3 | from xml.etree import ElementTree |
| 4 | from sys import argv |
| 5 | |
| 6 | ROUTER_IP = "192.168.0.1" |
| 7 | |
| 8 | def b2B(num_of_bytes, start=-1): |
| 9 | if type(num_of_bytes) not in (float, int): |
| 10 | num_of_bytes = float(num_of_bytes) |
| 11 | opts, i = "KMGTP", start |
| 12 | while num_of_bytes > 1000: |
| 13 | num_of_bytes = num_of_bytes / 1000 |
| 14 | i += 1 |
| 15 | return "{:.2f}{}B".format(num_of_bytes, opts[i]) |
| 16 | |
| 17 | def hms(s): |
| 18 | m,s = divmod(s,60) |
| 19 | h,m = divmod(m,60) |
| 20 | d,h = divmod(h,24) |
| 21 | y,d = divmod(d,365) |
| 22 | return y,d,h,m,s |
| 23 | |
| 24 | def camel2sp(word): |
| 25 | return ''.join(map(lambda x: x if x.islower() else " "+x, word)) |
| 26 | |
| 27 | i = requests.get("http://{}/html/home.html".format(ROUTER_IP)) |
| 28 | d = requests.get("http://{}/api/monitoring/traffic-statistics".format(ROUTER_IP), headers={"Cookie": i.headers["Set-Cookie"]}).text |
| 29 | if len(argv) > 1 and argv[1] == "-v": print(d) |
| 30 | d = ElementTree.fromstring(d) |
| 31 | for e in d: |
| 32 | if e.tag in ["CurrentConnectTime", "TotalConnectTime"]: |
| 33 | out = "{}: {}".format(camel2sp(e.tag), ":".join(str(x).zfill(2) for x in hms(int(e.text)) if x)) |
| 34 | elif e.tag in ["CurrentUpload", "CurrentDownload", "TotalUpload", "TotalDownload"]: |
| 35 | out = "{}: {}".format(camel2sp(e.tag), b2B(e.text)) |
| 36 | elif e.tag in ["CurrentUploadRate", "CurrentDownloadRate"]: |
| 37 | out = "{}: {}/s".format(camel2sp(e.tag), b2B(float(e.text), 0)) |
| 38 | else: |
| 39 | continue |
| 40 | print(out.strip()) |