logging.basicConfig(format='%(asctime)s | %(levelname)s | %(filename)s | %(message)s', level=logging.INFO, filename=config.logFile)
else:
	logging.basicConfig(format='%(asctime)s | %(levelname)s | %(filename)s | %(message)s', level=logging.DEBUG, filename=config.logFile)


if __name__ == "__main__":
	_table_name = 'usage_reporting'

	# Create object for internal database methods (mySQL)
	mysql = MySqlTask(config.mysql_username, config.mysql_password, config.mysql_host, config.mysql_database)

	retry = 3
	while retry:
		try:
			logging.info("Getting valid columns from MySQL.")
			valid_sources = mysql.return_columns(_table_name)
			valid_sources = [ col for col in valid_sources if col not in ('intID', 'username', 'start', 'end', 'stream_type', 'stream_hash', 'seconds') ]
			logging.debug("Columns found: {0}".format(valid_sources))
			retry = 0
		except Exception, err:
			#print err #2013: Lost connection to MySQL server during query
			logging.error(err)
			retry -= 1
			logging.warning("Retries left: {0}".format(retry))
			time.sleep(2) # Sleep 2 seconds before retrying
	
	user_list = ConfigParser.ConfigParser()
	user_list.optionxform = str
	
	path = os.path.dirname(os.path.realpath(__file__))
	user_list.read(path+"/user_list.ini")