def __init__(self, name, root_folder=CONFIG.MINDSDB_STORAGE_PATH, log_level=CONFIG.DEFAULT_LOG_LEVEL): """ This controller defines the API to a MindsDB 'mind', a mind is an object that can learn and predict from data :param name: the namespace you want to identify this mind instance with :param root_folder: the folder where you want to store this mind or load from :param log_level: the desired log level """ # initialize variables self.name = name self.root_folder = root_folder self.uuid = str(uuid.uuid1()) # initialize log self.log = MindsdbLogger(log_level=log_level, uuid=self.uuid) if CONFIG.CHECK_FOR_UPDATES: check_for_updates() # set the mindsdb storage folder storage_ok = True # default state # if it does not exist try to create it if not os.path.exists(CONFIG.MINDSDB_STORAGE_PATH): try: self.log.info( '{folder} does not exist, creating it now'.format( folder=CONFIG.MINDSDB_STORAGE_PATH)) path = Path(CONFIG.MINDSDB_STORAGE_PATH) path.mkdir(exist_ok=True, parents=True) except: self.log.info(traceback.format_exc()) storage_ok = False self.log.error( 'MindsDB storage foldler: {folder} does not exist and could not be created' .format(folder=CONFIG.MINDSDB_STORAGE_PATH)) # If storage path is not writable, raise an exception as this can no longer be if not os.access(CONFIG.MINDSDB_STORAGE_PATH, os.W_OK) or storage_ok == False: error_message = '''Cannot write into storage path, please either set the config variable mindsdb.config.set('MINDSDB_STORAGE_PATH',<path>) or give write access to {folder}''' raise ValueError( error_message.format(folder=CONFIG.MINDSDB_STORAGE_PATH))
def __init__(self, name, root_folder=CONFIG.MINDSDB_STORAGE_PATH, log_level=CONFIG.DEFAULT_LOG_LEVEL): """ This controller defines the API to a MindsDB 'mind', a mind is an object that can learn and predict from data :param name: the namespace you want to identify this mind instance with :param root_folder: the folder where you want to store this mind or load from :param log_level: the desired log level """ # initialize variables self.name = name self.root_folder = root_folder self.uuid = str(uuid.uuid1()) # initialize log self.log = MindsdbLogger(log_level=log_level, uuid=self.uuid) if CONFIG.CHECK_FOR_UPDATES: try: check_for_updates() except: self.log.warning('Could not check for updates !') if not CONFIG.SAGEMAKER: # If storage path is not writable, raise an exception as this can no longer be if not os.access(CONFIG.MINDSDB_STORAGE_PATH, os.W_OK): error_message = '''Cannot write into storage path, please either set the config variable mindsdb.config.set('MINDSDB_STORAGE_PATH',<path>) or give write access to {folder}''' self.log.warning( error_message.format(folder=CONFIG.MINDSDB_STORAGE_PATH)) raise ValueError( error_message.format(folder=CONFIG.MINDSDB_STORAGE_PATH)) # If storage path is not writable, raise an exception as this can no longer be if not os.access(CONFIG.MINDSDB_STORAGE_PATH, os.R_OK): error_message = '''Cannot read from storage path, please either set the config variable mindsdb.config.set('MINDSDB_STORAGE_PATH',<path>) or give write access to {folder}''' self.log.warning( error_message.format(folder=CONFIG.MINDSDB_STORAGE_PATH)) raise ValueError( error_message.format(folder=CONFIG.MINDSDB_STORAGE_PATH))