mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-06-15 05:11:58 +02:00
Merge branch 'v2.0.1' into v2.0.2-dev
This commit is contained in:
@@ -4,6 +4,8 @@ import os
|
||||
from plogical import CyberCPLogFileWriter as logging
|
||||
import shlex
|
||||
import subprocess
|
||||
import validators
|
||||
|
||||
class findBWUsage:
|
||||
@staticmethod
|
||||
def parse_last_digits(line):
|
||||
@@ -14,6 +16,12 @@ class findBWUsage:
|
||||
try:
|
||||
path = "/home/"+domainName+"/logs/"+domainName+".access_log"
|
||||
|
||||
if not os.path.exists(path):
|
||||
return 0
|
||||
|
||||
logData = open(path, 'r').readlines()
|
||||
logDataLines = len(logData)
|
||||
|
||||
if not os.path.exists("/home/"+domainName+"/logs"):
|
||||
return 0
|
||||
|
||||
@@ -21,57 +29,46 @@ class findBWUsage:
|
||||
|
||||
if not os.path.exists(path):
|
||||
writeMeta = open(bwmeta, 'w')
|
||||
writeMeta.writelines(str(0) + "\n")
|
||||
writeMeta.writelines(str(0) + "\n")
|
||||
writeMeta.writelines('0\n0\n')
|
||||
writeMeta.close()
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
if os.path.exists(bwmeta):
|
||||
data = open(bwmeta).readlines()
|
||||
currentUsed = int(data[0].strip("\n"))
|
||||
seekPoint = int(data[1].strip("\n"))
|
||||
if seekPoint > os.path.getsize(path):
|
||||
seekPoint = 0
|
||||
currentLinesRead = int(data[1].strip("\n"))
|
||||
if currentLinesRead > logDataLines:
|
||||
currentLinesRead = 0
|
||||
else:
|
||||
currentUsed = 0
|
||||
seekPoint = 0
|
||||
currentLinesRead = 0
|
||||
|
||||
newSeekPoint = seekPoint
|
||||
startLine = currentLinesRead
|
||||
|
||||
logFile = open(path,'r')
|
||||
logFile.seek(seekPoint)
|
||||
|
||||
|
||||
for line in logFile:
|
||||
for line in logData[startLine:]:
|
||||
line = line.strip('"\n')
|
||||
newSeekPoint = newSeekPoint + len(line)
|
||||
currentLinesRead = currentLinesRead + 1
|
||||
if len(line)>10:
|
||||
currentUsed = int(findBWUsage.parse_last_digits(line)[9].replace('"', '')) + currentUsed
|
||||
|
||||
|
||||
writeMeta = open(bwmeta,'w')
|
||||
writeMeta.writelines(str(currentUsed)+"\n")
|
||||
writeMeta.writelines(str(newSeekPoint) + "\n")
|
||||
writeMeta.writelines(str(currentLinesRead) + "\n")
|
||||
writeMeta.close()
|
||||
|
||||
except OSError as msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [calculateBandwidth]")
|
||||
return 0
|
||||
except ValueError as msg:
|
||||
except BaseException as msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [calculateBandwidth]")
|
||||
return 0
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@staticmethod
|
||||
def startCalculations():
|
||||
try:
|
||||
for directories in os.listdir("/home"):
|
||||
findBWUsage.calculateBandwidth(directories)
|
||||
if validators.domain(directories):
|
||||
findBWUsage.calculateBandwidth(directories)
|
||||
except BaseException as msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(str(msg) + " [startCalculations]")
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user