Exemple #1
0
	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.')
Exemple #2
0
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
Exemple #3
0
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