import hashlib import json import os import time import passlib.hash from keystone.common import config from keystone.common import environment from keystone.common import logging from keystone import exception CONF = config.CONF config.register_int('crypt_strength', default=40000) LOG = logging.getLogger(__name__) def read_cached_file(filename, cache_info, reload_func=None): """Read from a file if it has been modified. :param cache_info: dictionary to hold opaque cache. :param reload_func: optional function to be called with data when file is reloaded due to a modification. :returns: data from file. """ mtime = os.path.getmtime(filename)
import hashlib import json import os import subprocess import time import passlib.hash from keystone.common import config from keystone.common import logging from keystone import exception CONF = config.CONF config.register_int('crypt_strength', default=40000) LOG = logging.getLogger(__name__) MAX_PASSWORD_LENGTH = 4096 def read_cached_file(filename, cache_info, reload_func=None): """Read from a file if it has been modified. :param cache_info: dictionary to hold opaque cache. :param reload_func: optional function to be called with data when file is reloaded due to a modification. :returns: data from file.