def synchronizeDynamicCfg(self): """ Synchronize the dynamic config (dbb) with the file settings (tas.ini) """ self.trace('Synchronize dynamic config') # cleanup the database config ret, rows = DbManager.instance().querySQL( query="""DELETE FROM `%s`""" % self.table_name) if not ret: raise Exception('unable to cleanup in db config') ret, rows = DbManager.instance().querySQL( query="""INSERT INTO `%s` (opt, value) VALUES ('%s', '%s')""" % (self.table_name, "paths-main", Settings.getDirExec())) if not ret: raise Exception("unable to insert main-path in db config") ret, rows = DbManager.instance().querySQL( query="""INSERT INTO `%s` (opt, value) VALUES ('%s', '%s')""" % (self.table_name, "server-version", Settings.getVersion())) if not ret: raise Exception("unable to insert version in db config") # parse the ini file and store key and value in the db for section in Settings.instance().sections(): for (name, value) in Settings.instance().items(section): ret, rows = DbManager.instance().querySQL( query= """INSERT INTO `%s` (opt, value) VALUES ('%s', '%s')""" % (self.table_name, "%s-%s" % (section.lower(), name.lower()), value)) if not ret: raise Exception( "unable to insert in db config: %s: %s %s" % (section, name, value)) self.trace('Dynamic config synchronized') self.loadDynamicCfg()
Configure binary """ import datetime import os import sys from Libs import Settings PORTABLE_VERSION = False if "portable" in sys.argv: PORTABLE_VERSION = True # Initialize settings module Settings.initialize() settings = Settings.instance() # Reset settings with default values if PORTABLE_VERSION: Settings.set(section='Common', key='portable', value="True") else: Settings.set(section='Common', key='portable', value="False") Settings.set(section='Trace', key='level', value='INFO') Settings.set(section='Server', key='ip', value='127.0.0.1') Settings.set(section='Server', key='port', value='8080') Settings.set(section='Server', key='rest-api-port', value='8080') Settings.set(section='Server', key='rest-api-path', value='/rest/') Settings.set(section='Server', key='rest-api-ssl', value='True') Settings.set(section='Server', key='ssl-support', value='True')
# ------------------------------------------------------------------- """ Build binary for windows avec py2exe """ from distutils.core import setup import py2exe import datetime import os import platform from Libs import Settings # Initialize settings module Settings.initialize() settings = Settings.instance() # prepare the build date today = datetime.datetime.today() buildYear = today.strftime("%Y") class Target(object): """ Target is the baseclass for all executables that are created. It defines properties that are shared by all of them. """ def __init__(self, **kw): """ Constructor """
def getInformations(self, user=None, b64=False): """ Returns settings on the server for the client @return: server settings @rtype: list """ self.trace('construct servers information') ret = [] # platform try: ret.append({'version': Settings.getVersion()}) ret.append({'python': platform.python_version()}) ret.append({'start-at': "%s" % self.startedAt}) ret.append({'database': "%s" % self.mysqlVersion}) ret.append({'server-web': " %s" % self.apacheVersion}) ret.append({'php': " %s" % self.phpVersion}) if self.networkInterfaces is not None: ret.append({'network': self.networkInterfaces}) if self.networkRoutes is not None: ret.append({'routes': self.networkRoutes}) ret.append({'server-date': self.getServerDateTime()}) ret.append({ 'default-library': "%s" % RepoLibraries.instance().getDefault() }) # dynamic value ret.append( {'libraries': "%s" % RepoLibraries.instance().getInstalled()}) ret.append({ 'default-adapter': "%s" % RepoAdapters.instance().getDefault() }) # dynamic value ret.append( {'adapters': "%s" % RepoAdapters.instance().getInstalled()}) if user is not None: ret.append( {'test-environment': self.getTestEnvironment(user=user)}) if isinstance(user, UserContext): ret.append({'projects': user.getProjects()}) ret.append({'default-project': user.getDefault()}) else: ret.append({ 'projects': ProjectsManager.instance().getProjects(user=user) }) ret.append({ 'default-project': ProjectsManager.instance().getDefaultProjectForUser( user=user) }) for section in Settings.instance().sections(): for (name, value) in Settings.instance().items(section): ret.append( {"%s-%s" % (section.lower(), name.lower()): value}) except Exception as e: self.error('unable to construct servers settings: %s' % str(e)) return ret