Merge branch 'v2.0.1' into v2.0.2-dev

This commit is contained in:
Usman Nasir
2020-06-08 16:33:29 +05:00

View File

@@ -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