|
|
|
@ -437,12 +437,35 @@ class system_api: |
|
|
|
|
os.system('echo > /tmp/panelBoot.pl') |
|
|
|
|
return total, count |
|
|
|
|
|
|
|
|
|
def psutilNetIoCounters(self): |
|
|
|
|
''' |
|
|
|
|
统计网卡流量 |
|
|
|
|
''' |
|
|
|
|
stat_pl = 'data/only_netio_counters.pl' |
|
|
|
|
if os.path.exists(stat_pl): |
|
|
|
|
local_lo = (0, 0, 0, 0) |
|
|
|
|
ioName = psutil.net_io_counters(pernic=True).keys() |
|
|
|
|
for x in ioName: |
|
|
|
|
|
|
|
|
|
if x.find("lo") > -1: |
|
|
|
|
local_lo = psutil.net_io_counters( |
|
|
|
|
pernic=True).get(x)[:4] |
|
|
|
|
|
|
|
|
|
all_io = psutil.net_io_counters()[:4] |
|
|
|
|
result_io = tuple([all_io[i] - local_lo[i] |
|
|
|
|
for i in range(0, len(all_io))]) |
|
|
|
|
|
|
|
|
|
# print(local_lo) |
|
|
|
|
# print(all_io) |
|
|
|
|
# print(result_io) |
|
|
|
|
return result_io |
|
|
|
|
return psutil.net_io_counters()[:4] |
|
|
|
|
|
|
|
|
|
def getNetWork(self): |
|
|
|
|
# return self.GetNetWorkApi(get); |
|
|
|
|
# 取网络流量信息 |
|
|
|
|
try: |
|
|
|
|
# 取网络流量信息 |
|
|
|
|
networkIo = psutil.net_io_counters()[:4] |
|
|
|
|
networkIo = self.psutilNetIoCounters() |
|
|
|
|
if not "otime" in session: |
|
|
|
|
session['up'] = networkIo[0] |
|
|
|
|
session['down'] = networkIo[1] |
|
|
|
@ -470,38 +493,7 @@ class system_api: |
|
|
|
|
|
|
|
|
|
return networkInfo |
|
|
|
|
except Exception as e: |
|
|
|
|
# print(e) |
|
|
|
|
return None |
|
|
|
|
|
|
|
|
|
def getNetWorkApi(self): |
|
|
|
|
# 取网络流量信息 |
|
|
|
|
try: |
|
|
|
|
tmpfile = 'data/network.temp' |
|
|
|
|
networkIo = psutil.net_io_counters()[:4] |
|
|
|
|
|
|
|
|
|
if not os.path.exists(tmpfile): |
|
|
|
|
mw.writeFile(tmpfile, str( |
|
|
|
|
networkIo[0]) + '|' + str(networkIo[1]) + '|' + str(int(time.time()))) |
|
|
|
|
|
|
|
|
|
lastValue = mw.readFile(tmpfile).split('|') |
|
|
|
|
|
|
|
|
|
ntime = time.time() |
|
|
|
|
networkInfo = {} |
|
|
|
|
networkInfo['upTotal'] = networkIo[0] |
|
|
|
|
networkInfo['downTotal'] = networkIo[1] |
|
|
|
|
networkInfo['up'] = round( |
|
|
|
|
float(networkIo[0] - int(lastValue[0])) / 1024 / (ntime - int(lastValue[2])), 2) |
|
|
|
|
networkInfo['down'] = round( |
|
|
|
|
float(networkIo[1] - int(lastValue[1])) / 1024 / (ntime - int(lastValue[2])), 2) |
|
|
|
|
networkInfo['downPackets'] = networkIo[3] |
|
|
|
|
networkInfo['upPackets'] = networkIo[2] |
|
|
|
|
|
|
|
|
|
mw.writeFile(tmpfile, str( |
|
|
|
|
networkIo[0]) + '|' + str(networkIo[1]) + '|' + str(int(time.time()))) |
|
|
|
|
|
|
|
|
|
# networkInfo['cpu'] = self.GetCpuInfo(0.1) |
|
|
|
|
return networkInfo |
|
|
|
|
except: |
|
|
|
|
print("getNetWork error:", e) |
|
|
|
|
return None |
|
|
|
|
|
|
|
|
|
def getNetWorkIoData(self, start, end): |
|
|
|
@ -567,14 +559,19 @@ class system_api: |
|
|
|
|
def setControl(self, stype, day): |
|
|
|
|
|
|
|
|
|
filename = 'data/control.conf' |
|
|
|
|
stat_pl = 'data/only_netio_counters.pl' |
|
|
|
|
|
|
|
|
|
if stype == '0': |
|
|
|
|
mw.execShell("rm -f " + filename) |
|
|
|
|
mw.execShell("rm -rf " + filename) |
|
|
|
|
elif stype == '1': |
|
|
|
|
_day = int(day) |
|
|
|
|
if _day < 1: |
|
|
|
|
return mw.returnJson(False, "设置失败!") |
|
|
|
|
mw.writeFile(filename, day) |
|
|
|
|
elif stype == '2': |
|
|
|
|
mw.execShell("rm -rf " + stat_pl) |
|
|
|
|
elif stype == '3': |
|
|
|
|
mw.execShell("echo 'True' > " + stat_pl) |
|
|
|
|
elif stype == 'del': |
|
|
|
|
if not mw.isRestart(): |
|
|
|
|
return mw.returnJson(False, '请等待所有安装任务完成再执行') |
|
|
|
@ -597,6 +594,12 @@ class system_api: |
|
|
|
|
else: |
|
|
|
|
data['day'] = 30 |
|
|
|
|
data['status'] = False |
|
|
|
|
|
|
|
|
|
if os.path.exists(stat_pl): |
|
|
|
|
data['stat_all_status'] = True |
|
|
|
|
else: |
|
|
|
|
data['stat_all_status'] = False |
|
|
|
|
|
|
|
|
|
return mw.getJson(data) |
|
|
|
|
|
|
|
|
|
return mw.returnJson(True, "设置成功!") |
|
|
|
|