def clean(self, header): clean_header = [] col_count = {} replace_chars = """ ,./;'[]!@#$%^&*()+{-=+~`}\\|:"<>?""" for col in header: orig_col = col for char in replace_chars: col = col.replace(char, '_') col = re.sub('_+', '_', col) if col[-1] == '_': col = col[:-1] col_count[col] = 1 if col not in col_count else col_count[col] + 1 if col_count[col] > 1: col = col + '_' + str(col_count[col]) if orig_col != col: log.debug('[Column renamed] {orig_col} to {col}'.format( orig_col=orig_col, col=col)) self._col_map[orig_col] = col clean_header.append(col) if clean_header != header: string = """\n {cols} \n""".format( cols=",\n ".join(clean_header)) log.debug( 'The Columns have changed, here are the renamed columns: \n {string}' .format(string=string)) return clean_header
def check_for_updates(): """ Check for updates of mindsdb it will ask the mindsdb server if there are new versions, if there are it will log a message :return: None """ # tmp files uuid_file = os.path.join(CONFIG.MINDSDB_STORAGE_PATH, '..', 'uuid.mdb_base') mdb_file = os.path.join(CONFIG.MINDSDB_STORAGE_PATH, 'start.mdb_base') if Path(uuid_file).is_file(): uuid_str = open(uuid_file).read() else: uuid_str = str(uuid.uuid4()) try: with open(uuid_file, 'w') as fp: fp.write(uuid_str) except: log.warning(f'Cannot store token, Please add write permissions to file: {uuid_file}') uuid_str = f'{uuid_str}.NO_WRITE' if Path(mdb_file).is_file(): token = open(mdb_file, 'r').read() else: if CONFIG.IS_CI_TEST: uuid_str = 'travis' token = '{system}|{version}|{uid}'.format(system=platform.system(), version=__version__, uid=uuid_str) try: open(mdb_file,'w').write(token) except: log.warning(f'Cannot store token, Please add write permissions to file: {mdb_file}') token = f'{token}.NO_WRITE' try: ret = requests.get('https://public.api.mindsdb.com/updates/check/{token}'.format(token=token), headers={'referer': 'http://check.mindsdb.com/?token={token}'.format(token=token)}) ret = ret.json() except Exception as e: try: log.warning(f'Got reponse: {ret} from update check server !') except: log.warning(f'Got no response from update check server !') log.warning(f'Could not check for updates, got excetpion {e} !') return try: if 'version' in ret and ret['version']!= __version__: log.warning("There is a new version of MindsDB {version}, please do:\n pip3 uninstall mindsdb\n pip3 install mindsdb --user".format(version=ret['version'])) else: log.debug('MindsDB is up to date!') except: log.warning('could not check for MindsDB updates')
def check_for_updates(): """ Check for updates of mindsdb it will ask the mindsdb server if there are new versions, if there are it will log a message :return: None """ # tmp files uuid_file = CONFIG.MINDSDB_STORAGE_PATH + '/../uuid.mdb_base' mdb_file = CONFIG.MINDSDB_STORAGE_PATH + '/start.mdb_base' uuid_file_path = Path(uuid_file) if uuid_file_path.is_file(): uuid_str = open(uuid_file).read() else: uuid_str = str(uuid.uuid4()) try: open(uuid_file, 'w').write(uuid_str) except: log.warning('Cannot store token, Please add write permissions to file:' + uuid_file) uuid_str = uuid_str + '.NO_WRITE' file_path = Path(mdb_file) if file_path.is_file(): token = open(mdb_file).read() else: token = '{system}|{version}|{uid}'.format(system=platform.system(), version=__version__, uid=uuid_str) try: open(mdb_file,'w').write(token) except: log.warning('Cannot store token, Please add write permissions to file:'+mdb_file) token = token+'.NO_WRITE' extra = urllib.parse.quote_plus(token) try: r = requests.get('http://mindsdb.com/updates/check/{extra}'.format(extra=extra), headers={'referer': 'http://check.mindsdb.com/?token={token}'.format(token=token)}) except: log.warning('Could not check for updates') return try: # TODO: Extract version, compare with version in version.py ret = r.json() if 'version' in ret and ret['version']!= __version__: pass #log.warning("There is a new version of MindsDB {version}, please do:\n pip3 uninstall mindsdb\n pip3 install mindsdb --user".format(version=ret['version'])) else: log.debug('MindsDB is up to date!') except: log.warning('could not check for MindsDB updates')