def prepareDaemon(self): """ Prepare daemon """ if not Settings.cfgFileIsPresent(): sys.stdout.write(" (config file doesn't exist)") sys.exit(2) try: # Initialize Settings.initialize() Logger.initialize() CliFunctions.initialize(parent=self) except Exception as e: self.error("Unable to initialize settings: %s" % str(e)) else: # config file exist so prepare the deamon self.prepare( pidfile="%s/%s/%s.pid" % (Settings.getDirExec(), Settings.get( 'Paths', 'run'), Settings.get('Server', 'acronym')), name=Settings.get('Server', 'name'), stdout="%s/%s/output.log" % (Settings.getDirExec(), Settings.get('Paths', 'logs')), stderr="%s/%s/output.log" % (Settings.getDirExec(), Settings.get('Paths', 'logs')), stdin="/dev/null", runningfile="%s/%s/%s.running" % (Settings.getDirExec(), Settings.get( 'Paths', 'run'), Settings.get('Server', 'acronym')), )
def hupHandler(self, signum, frame): """ Hup handler """ self.info('Reloading configuration...') Settings.finalize() Settings.initialize() Logger.reconfigureLevel() self.info('Configuration reloaded!')
arg = sys.argv[0] pathname = os.path.dirname(arg) path_install = os.path.abspath(pathname) settingsFile = '%s/settings.ini' % path_install if not os.path.exists(settingsFile): print('config file settings.ini doesn\'t exist.') sys.exit(-1) # adding missing folders if not os.path.exists("%s/Logs/" % path_install): os.mkdir("%s/Logs" % path_install) if not os.path.exists("%s/Tmp/" % path_install): os.mkdir("%s/Tmp" % path_install) Settings.initialize() plugins = {} pkg = __import__("Plugins") for listing in dir(pkg): obj = getattr(pkg, listing) if inspect.ismodule(obj): for listing2 in dir(obj): if listing2.endswith("Agent"): obj2 = getattr(obj, listing2) if inspect.ismodule(obj2): plugins[obj2.__TYPE__] = obj2 # prepare the command line with all options parser = OptionParser() parser.set_usage(
elif o in ["--pkg"]: pkgVersion = a elif o in ["--pathlib"]: pathLib = a elif o in ["--overwrite"]: overwrite = True if pkgVersion is not None and wsdlFile is not None: if pathLib is not None: sys.path.insert(0, pathLib) else: sys.path.insert(0, '../') from Libs import Settings Settings.initialize(path="../") # download the wsdl wsdlFile = prepare_wsdl(wsdlFile, pkgVersion) # read the wsdl adapters, complexList = read_wsdl(wsdlFile=wsdlFile) # constructs library construct_adapter(adaptersName=adapters, complexList=complexList, wsdlFile=wsdlFile, overwrite=overwrite) Settings.finalize() sys.exit(0)
def initialize(self, ip, port, type, name, descr, defaultTool, supportProxy=False, proxyIp=None, proxyPort=None, sslSupport=True, isAgent=0, fromCmd=False): """ Initialize the tool @param ip: @type ip: @param type: @type type: @param name: @type name: @param descr: @type descr: """ self.running = False self.defaultTool = defaultTool self.tool = None if not Settings.cfgFileIsPresent(): sys.stdout.write(" (config file doesn't exist)") sys.exit(RETURN_CONFIG) try: Settings.initialize() Logger.initialize( logPathFile="%s/%s/%s.log" % (Settings.getDirExec(), Settings.get('Paths', 'logs'), name)) if (isAgent, str(type)) in plugins: self.info("Initialize %s tool type=%s..." % (type, isAgent)) if not len(ip): raise Exception("No controller ip specified!") if not len(name): raise Exception("No tool name specified!") self.tool = plugins[(isAgent, str(type))].initialize( controllerIp=str(ip), toolName=str(name), toolDesc=str(descr), defaultTool=defaultTool, controllerPort=int(port), supportProxy=supportProxy, proxyIp=str(proxyIp), proxyPort=proxyPort, sslSupport=sslSupport) self.tool.setFromCmd() self.tool.onRegistrationSuccessful = self.onRegistrationSuccessful self.tool.onRegistrationFailed = self.onRegistrationFailed self.tool.onRegistrationRefused = self.onRegistrationRefused self.tool.onToolWarningCalled = self.onToolLogWarningCalled self.tool.onToolLogErrorCalled = self.onToolLogErrorCalled self.tool.onToolDisconnection = self.onToolDisconnection self.tool.onConnectionRefused = self.onConnectionRefused self.tool.onConnectionTimeout = self.onConnectionTimeout self.tool.onProxyConnectionTimeout = self.onProxyConnectionTimeout self.tool.onProxyConnectionRefused = self.onProxyConnectionRefused self.tool.onProxyConnectionError = self.onProxyConnectionError self.tool.checkPrerequisites() self.tool.startCA() else: self.error('tool type unknown: %s' % type) self.finalize(RETURN_TYPE_UNKNOWN) except Exception as e: self.error("unable to start tool: " + str(e)) try: Settings.finalize() except: pass Logger.finalize() else: # run in loop self.running = True self.run()
def initialize(): """ Initialize settings """ Settings.initialize(cfgname='test.ini')