Source code for metapub.config

import os
import coloredlogs
import logging
import tempfile

log = logging.getLogger('metapub.config')
coloredlogs.install(logger=logging.getLogger('metapub'))

PKGNAME = 'metapub'

# email address of this package's maintainer, included with certain NCBI calls.
# you can change this to another email address if you would prefer to be contacted.
DEFAULT_EMAIL = 'naomi@nthmost.com'

# where to place XML (temporarily) when downloaded.
TMPDIR = '/tmp'

# default cache directory for SQLite cache engines
DEFAULT_CACHE_DIR = os.path.join(os.path.expanduser('~'), '.cache')
if not os.access(DEFAULT_CACHE_DIR, os.W_OK):
    # default cache dir is not writeable
    # therefore ask the os for a temp directory
    DEFAULT_CACHE_DIR = tempfile.gettempdir()

API_KEY = os.getenv('NCBI_API_KEY', None)
if API_KEY:
    log.debug('NCBI_API_KEY found.')
else:
    log.warning('NCBI_API_KEY was not set.')

[docs] def get_process_log(filepath, loglevel=logging.INFO, name=PKGNAME+'.process'): "Sets up a file-based logger for process logging and returns its log object." log = logging.getLogger(name) log.setLevel(loglevel) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh = logging.FileHandler(filepath) fh.setFormatter(formatter) fh.setLevel(loglevel) log.addHandler(fh) return log
[docs] def get_data_log(filepath, name=PKGNAME+'.data'): "Sets up a file-based logger for data logging and returns its log object." datalog = logging.getLogger(name) datalog.setLevel(logging.DEBUG) datalog.propagate = False formatter = logging.Formatter('') fh = logging.FileHandler(filepath) fh.setFormatter(formatter) datalog.addHandler(fh) return datalog