예제 #1
0
def dInitialise(configFile):
  b = Borg()
  b.runmode = 'web'
  b.settings = dict()
  b.logger = logging.getLogger('cairisd')

  homeDir = os.getenv("HOME")
  if homeDir is not None:
    cairisRoot = os.path.join(homeDir, "CAIRIS/cairis")
  else:
    raise RuntimeError('The HOME environment variable is not defined.')

  cfgFileName = ''
  try:
    cfgFileName = os.environ['CAIRIS_CFG']
  except KeyError:
    cfgFileName = cairisRoot + '/cairis/config/cairis.cnf'

  if configFile is not '':
    if os.path.exists(configFile):
      cfgFileName = configFile
    else:
      raise IOError('''Unable to locate configuration file at the following location:
  '''+configFile)

  try:
    cfgFile = open(cfgFileName)
    for cfgLine in cfgFile.readlines():
      cfgTuple = cfgLine.split('=')
      cfgKey = strip(cfgTuple[0])
      cfgVal = strip(cfgTuple[1])

      if cfgKey == 'tmp_dir':
        b.tmpDir = cfgVal
      elif cfgKey == 'upload_dir':
        b.uploadDir = cfgVal
      elif cfgKey == 'root':
      	b.cairisRoot = cfgVal
      elif cfgKey == 'web_port':
        try:
          b.webPort = int(cfgVal)
        except TypeError, ex:
          b.logger.error(str(ex.message))
          b.webPort = 0
      elif cfgKey == 'log_level':
        log_level = cfgVal.lower()
        if log_level == 'debug':
            b.logLevel = logging.DEBUG
        elif log_level == 'none':
            b.logLevel = logging.FATAL
        elif log_level == 'info':
            b.logLevel = logging.INFO
        elif log_level == 'error':
            b.logLevel = logging.ERROR
        else:
            b.logLevel = logging.WARNING
      elif cfgKey == 'web_static_dir':
        b.staticDir = cfgVal
예제 #2
0
def setStaticDir(static_dir):
    logger.info('Setting static web content directory...')
    b = Borg()
    try:
        os.listdir(static_dir)
    except EnvironmentError as ex:
        logger.warning('The directory for static web content is not readable: %s' % ex.strerror)
        logger.warning('Static content may not be available')

    b.staticDir = os.path.abspath(static_dir)
예제 #3
0
def setStaticDir(static_dir):
    logger.info('Setting static web content directory...')
    b = Borg()
    try:
        os.listdir(static_dir)
    except EnvironmentError as ex:
        logger.warning(
            'The directory for static web content is not readable: %s' %
            ex.strerror)
        logger.warning('Static content may not be available')

    b.staticDir = os.path.abspath(static_dir)