mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-10-26 15:56:34 +01:00
58 lines
1.4 KiB
Python
58 lines
1.4 KiB
Python
#!/usr/local/CyberCP/bin/python
|
|
import subprocess, signal
|
|
import shlex
|
|
import argparse
|
|
import os
|
|
import sys
|
|
sys.path.append('/usr/local/CyberCP')
|
|
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
|
|
|
|
|
|
class policyCTRL:
|
|
applicationPath = '/usr/local/CyberCP/postfixSenderPolicy/pid'
|
|
cleaningPID = '/usr/local/CyberCP/postfixSenderPolicy/cpid'
|
|
|
|
def prepareArguments(self):
|
|
|
|
parser = argparse.ArgumentParser(description='CyberPanel Policy Control Parser!')
|
|
parser.add_argument('function', help='Specific a operation to perform!')
|
|
|
|
return parser.parse_args()
|
|
|
|
def start(self):
|
|
|
|
if os.path.exists(policyCTRL.applicationPath):
|
|
self.stop()
|
|
|
|
command = '/usr/local/CyberCP/postfixSenderPolicy/startServer.py'
|
|
subprocess.Popen(shlex.split(command))
|
|
|
|
def stop(self):
|
|
|
|
path = policyCTRL.applicationPath
|
|
if os.path.exists(path):
|
|
pid = open(path, "r").readlines()[0]
|
|
try:
|
|
os.kill(int(pid), signal.SIGTERM)
|
|
except BaseException as msg:
|
|
logging.writeToFile(str(msg))
|
|
|
|
|
|
|
|
def main():
|
|
|
|
policy = policyCTRL()
|
|
args = policy.prepareArguments()
|
|
|
|
## Website functions
|
|
|
|
if args.function == "start":
|
|
policy.start()
|
|
elif args.function == "stop":
|
|
policy.stop()
|
|
elif args.function == "restart":
|
|
policy.stop()
|
|
policy.start()
|
|
|
|
if __name__ == "__main__":
|
|
main() |