import os.path import shutil import CyberCPLogFileWriter as logging import subprocess import argparse import shlex class mailUtilities: @staticmethod def createEmailAccount(domain): try: path = "/usr/local/CyberCP/install/rainloop/cyberpanel.net.ini" if not os.path.exists("/usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/domains/"): os.makedirs("/usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/domains/") finalPath = "/usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/domains/" + domain + ".ini" if not os.path.exists(finalPath): shutil.copy(path, finalPath) command = 'chown -R nobody:nobody /usr/local/lscp/rainloop' cmd = shlex.split(command) res = subprocess.call(cmd) command = 'chown -R nobody:nobody /usr/local/lscp/cyberpanel/rainloop/data/_data_' cmd = shlex.split(command) res = subprocess.call(cmd) print "1,None" except BaseException,msg: logging.CyberCPLogFileWriter.writeToFile( str(msg) + " [createEmailAccount]") print "0," + str(msg) def main(): parser = argparse.ArgumentParser(description='CyberPanel Installer') parser.add_argument('function', help='Specific a function to call!') parser.add_argument('--domain', help='Domain name!') args = parser.parse_args() if args.function == "createEmailAccount": mailUtilities.createEmailAccount(args.domain) if __name__ == "__main__": main()