def get_sync_status(self): """ check if cache and config db are synced if sync is True, the synctime is returned else, the difference (cache-time - database_time) is given :return: dict with keys 'sync' and 'synctime' """ result = {'sync': False} linotp_conf = LinOtpConfig() linotp_time = linotp_conf.get('linotp.Config') # get db entry for config entry = Session.query(config_model).filter( config_model.Key == 'linotp.Config').one() db_time = entry.Value # if the times are not in syc, LinOTP keeps its status # cached but does not update its timestamp of sync if db_time == linotp_time: result['sync'] = True result['synctime'] = db_time now = datetime.datetime.now() result['now'] = unicode(now) else: format_string = '%Y-%m-%d %H:%M:%S.%f' linotp_t = datetime.datetime.strptime(str(linotp_time), format_string) db_t = datetime.datetime.strptime(str(db_time), format_string) result['cache_to_db_diff'] = unicode(linotp_t - db_t) result['db_time'] = db_time return result
def get_sync_status(self): """ check if cache and config db are synced if sync is True, the synctime is returned else, the difference (cache-time - database_time) is given :return: dict with keys 'sync' and 'synctime' """ result = {"sync": False} linotp_conf = LinOtpConfig() linotp_time = linotp_conf.get("linotp.Config") # get db entry for config entry = config_model.query.filter_by(Key="linotp.Config").one() db_time = entry.Value # if the times are not in syc, LinOTP keeps its status # cached but does not update its timestamp of sync if db_time == linotp_time: result["sync"] = True result["synctime"] = db_time now = datetime.datetime.now() result["now"] = str(now) else: format_string = "%Y-%m-%d %H:%M:%S.%f" linotp_t = datetime.datetime.strptime(str(linotp_time), format_string) db_t = datetime.datetime.strptime(str(db_time), format_string) result["cache_to_db_diff"] = str(linotp_t - db_t) result["db_time"] = db_time return result
def check_encryption(self): """ check if a value, which got written into config, got encrypted :return: """ test_key = 'linotp.testkey' linotp_conf = LinOtpConfig() if test_key not in linotp_conf: storeConfig(test_key, '', typ='password', desc=None) old_value = getFromConfig(test_key, defVal=None) now = datetime.datetime.now() new_value_plain = unicode(now) storeConfig(test_key, new_value_plain, typ='password', desc=None) new_value_enc = getFromConfig(test_key, defVal=None) # if new_value_enc != old_value: something new was written into db # if new_value_enc != new_value_plain: the new value got encrypted if new_value_enc and new_value_plain != new_value_enc != old_value: return True return False
def get_sync_status(self): """ check if cache and config db are synced if sync is True, the synctime is returned :return: dict with keys 'sync' and 'synctime' """ result = {'sync': False} linotp_conf = LinOtpConfig() linotp_time = linotp_conf.get('linotp.Config') # get db entry for config entry = Session.query(config_model).filter( config_model.Key == 'linotp.Config').one() db_time = entry.Value # if the times are not in syc, LinOTP keeps its status # cached but does not update its timestamp of sync if db_time == linotp_time: result['sync'] = True result['synctime'] = db_time return result