Amazing-Python-Scripts

Форк
0
59 строк · 1.5 Кб
1
# Contributed via : https://github.com/adarshkushwah/Network-Usage-Tracker
2

3
import os
4
import sys
5
import time
6
import threading
7
import subprocess
8
import tkinter
9
import tkinter.messagebox
10

11

12
def monitor(limit, unit):
13
    check = "vnstat"
14
    proc = subprocess.Popen(check, shell=True, stdout=subprocess.PIPE)
15
    output = proc.communicate()
16
    output = str(output)
17
    # print output
18
    l = []
19
    for t in output.split():
20
        try:
21
            if t == "MiB" or t == "GiB":
22
                l.append(t)
23
            else:
24
                l.append(float(t))
25
        except ValueError:
26
            pass
27

28
    if unit == l[5] and limit < l[4]:
29
        print("\nnetwork usage limit exceeded!\n")
30
        top = tkinter.Tk()
31

32
        def hello():
33
            tkinter.messagebox.showinfo("Warning!",
34
                                        "Network usage limit exceeded!!!!")
35

36
        B1 = tkinter.Button(top, text="Warning", command=hello)
37
        B1.pack()
38
        top.mainloop()
39
    arg = [limit, unit]
40
    threading.Timer(60.0, monitor, arg).start()
41

42

43
def main():
44
    if len(sys.argv) > 3 or len(sys.argv) < 3:
45
        print(
46
            'command usage: python3 bandwidth_py3.py <data usage in MiB or GiB>'
47
        )
48
        print('example: python3 bandwidth_py3.py 500 MiB')
49
        print('or python3 bandwidth_py3.py 2 GiB')
50
        exit(1)
51
    else:
52
        limit = float(sys.argv[1])
53
        unit = str(sys.argv[2])
54
        # callMonitor(limit, unit)
55
        monitor(limit, unit)
56

57

58
if __name__ == "__main__":
59
    main()
60

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.