def __init__(self, mode=TEMP_MODE): # Get Settings settings = get_EMF_settings(mode) self._recordLog = settings['recordLog'] self._deleteLog = self._recordLog and settings['deleteLog'] self._recordLevel = settings['recordLevel'] # Initialize Log if self._recordLog: self._logLocation = settings['logLoc'] fileMode = 'wb' if not(settings['logAppend']) else 'ab' log.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s', datefmt='%m/%d/%Y %I:%M:%S %p', filename=self._logLocation, filemode=fileMode, level=self._recordLevel) else: self._logLocation = None log.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s', datefmt='%I:%M:%S %p', level=self._recordLevel) # Declare Progress log.info('Log initialized.') if self._logLocation is not None: log.info('Log stored at %s.', self._logLocation) if self._deleteLog: log.info('Log will be deleted at completion.')
def create_or_connect_to_DB(mode=TEMP_MODE, manualOverride=False): ''' Given a DB path and table creation instructions, creates a DB and its tables PARAMETERS: mode | <string> | mode to get settings from util_EMF tableCreationInstructions | <dictionary> key={table name} and value={SQL creation instruction} | table creation instructions force | <bool> | should we delete/overwrite existing tables? RETURNS: DB Handle ''' # Get Settings settings = get_EMF_settings(mode) force = settings['overwriteDB'] dbLocation = settings['dbLoc'] deleteDB = settings['deleteDB'] # Get Table Instruction if manualOverride: tableCreationInstructions = createDB_lib.create_instr_SQLite_Override else: tableCreationInstructions = createDB_lib.create_instr_SQLite # Create DB if necessary if db_exists(dbLocation): log.info('DB {0} found.'.format(dbLocation)) else: log.info('DB {0} not found. Will be created.'.format(dbLocation)) # Hook To DB hndl_DB = EMF_Database_Handle(dbLocation, deleteDB=deleteDB) # Create Tables try: log.info('Performing {0} table creation'.format('manual' if manualOverride else 'full')) for (tableName, instruction) in tableCreationInstructions.iteritems(): __create_table(hndl_DB.conn, hndl_DB.cursor, tableName, instruction, force=force) except: log.error('Database Creation Failed.') raise return hndl_DB
def __createDatabases(): for mode in AllDatabases: if not get_EMF_settings(mode=mode)['deleteDB']: create_or_connect_to_DB(mode=mode)
def __init__(self, hndl_DB, EMF_mode=TEMP_MODE): settings = get_EMF_settings(EMF_mode) self._hndl_CSV = EMF_CSV_Handle( settings['QuandlCSVLoc'], columnIndexes=QuandlCSVColumns, editableColumns=QuandlEditableColumns) self._hndl_DB = hndl_DB