def ReadLogConfig():
    try:

        appDirectory = GF.GetRootDirectory()
        file_Address_Private_Config = GF.GetAddressTo(main=appDirectory,
                                                      folderName="Config",
                                                      fileName="Private",
                                                      extension="cnf")
        file_Address_Public_Config = GF.GetAddressTo(main=appDirectory,
                                                     folderName="Config",
                                                     fileName="Public",
                                                     extension="cnf")

        if GF.IsFileExist(file_Address_Private_Config):
            ReadLoggerConfig(file_Address_Private_Config)

        elif GF.IsFileExist(file_Address_Public_Config):
            ReadLoggerConfig(file_Address_Public_Config)

        else:
            raise Exception("Couldn't find config file")

    except Exception as e:
        logging.exception(e)
        raise
def ReadConfigToDict(sectionName, convertParseTo='string', hasComment=False):
    try:

        appDirectory = GF.GetRootDirectory()
        file_Address_Private_Config = GF.GetAddressTo(main=appDirectory,
                                                      folderName="Config",
                                                      fileName="Private",
                                                      extension="cnf")
        file_Address_Public_Config = GF.GetAddressTo(main=appDirectory,
                                                     folderName="Config",
                                                     fileName="Public",
                                                     extension="cnf")

        if GF.IsFileExist(file_Address_Private_Config):
            cnf = ReadDatabaseRaw(address=file_Address_Private_Config,
                                  sectionName=sectionName,
                                  hasComment=hasComment)

        elif GF.IsFileExist(file_Address_Public_Config):
            cnf = ReadDatabaseRaw(address=file_Address_Public_Config,
                                  sectionName=sectionName,
                                  hasComment=hasComment)

        else:
            raise Exception("Couldn't find config file")

        dict = {}
        if convertParseTo == 'string':
            for key, val in cnf.items():
                dict[key] = str(val)

        elif convertParseTo == 'float':
            for key, val in cnf.items():
                dict[key] = float(val)

        return dict

    except Exception as e:
        logging.exception(e)
        raise
import ConfigReaderModule as CP
import DBMethods as DB
from ConfigReaderModule import logging
import GeneralFunctions as GF

if __name__ == "__main__":
    CP.ReadLogConfig()
    DB_Info = CP.ReadConfigToDict(sectionName="DatabaseInfo")
    FF_Info = CP.ReadConfigToDict(sectionName="FilesFoldersInfo")
    logging.info("Import Started!")
    appDirectory = GF.GetRootDirectory()
    ##############################################################################
    DB.createDB(INFO=DB_Info)
    # DB.dumpDB(INFO=DB_Info, FileAddress=GF.GetAddressTo(appDirectory, FF_Info['FOLDER_NAME_DATABASE'], FileName=GF.getDateandTimeUTC(), Extension="sql.gz"))
    # DB.loadDB(INFO=DB_Info, FileAddress=GF.FindLatestFile(GF.GetFilesNameAddressInFolder(GF.GetAddressTo(appDirectory, FF_Info['FOLDER_NAME_DATABASE']), Extension="sql.gz")))
    # DB.showAllTablesInDBSummary(DB_Info)
    # DB.reinitializeDB(DB_Info)
    ##############################################################################
    Address1p8 = GF.GetAddressTo(main=appDirectory,
                                 folderName=FF_Info['FOLDER_NAME_BC_DATABASE'],
                                 fileName=FF_Info['FILE_NAME_BC_DATABASE_1p8'],
                                 extension="DAT")
    Address2p3 = GF.GetAddressTo(main=appDirectory,
                                 folderName=FF_Info['FOLDER_NAME_BC_DATABASE'],
                                 fileName=FF_Info['FILE_NAME_BC_DATABASE_2p3'],
                                 extension="DAT")
    Address2p8 = GF.GetAddressTo(main=appDirectory,
                                 folderName=FF_Info['FOLDER_NAME_BC_DATABASE'],
                                 fileName=FF_Info['FILE_NAME_BC_DATABASE_2p8'],
                                 extension="DAT")