def file_list(load): ''' Return a list of all files on the file server in a specified environment ''' if 'env' in load: salt.utils.warn_until( 'Oxygen', 'Parameter \'env\' has been detected in the argument list. This ' 'parameter is no longer used and has been replaced by \'saltenv\' ' 'as of Salt 2016.11.0. This warning will be removed in Salt Oxygen.' ) load.pop('env') ret = [] if 'saltenv' not in load: return ret saltenv = load['saltenv'] metadata = _init() if not metadata or saltenv not in metadata: return ret for buckets in six.itervalues(_find_files(metadata[saltenv])): files = [f for f in buckets if not fs.is_file_ignored(__opts__, f)] ret += _trim_env_off_path(files, saltenv) return ret
def find_file(path, env='base', **kwargs): ''' Look through the buckets cache file for a match. If the field is found, it is retrieved from S3 only if its cached version is missing, or if the MD5 does not match. ''' fnd = {'bucket': None, 'path': None} metadata = _init() if not metadata or env not in metadata: return fnd env_files = _find_files(metadata[env]) if not _is_env_per_bucket(): path = os.path.join(env, path) # look for the files and check if they're ignored globally for bucket_name, files in env_files.iteritems(): if path in files and not fs.is_file_ignored(__opts__, path): fnd['bucket'] = bucket_name fnd['path'] = path if not fnd['path'] or not fnd['bucket']: return fnd cached_file_path = _get_cached_file_name(fnd['bucket'], env, path) # jit load the file from S3 if it's not in the cache or it's old _get_file_from_s3(metadata, env, fnd['bucket'], path, cached_file_path) return fnd
def file_list(load): ''' Return a list of all files on the file server in a specified environment ''' if 'env' in load: salt.utils.versions.warn_until( 'Oxygen', 'Parameter \'env\' has been detected in the argument list. This ' 'parameter is no longer used and has been replaced by \'saltenv\' ' 'as of Salt 2016.11.0. This warning will be removed in Salt Oxygen.' ) load.pop('env') ret = [] if 'saltenv' not in load: return ret saltenv = load['saltenv'] metadata = _init() if not metadata or saltenv not in metadata: return ret for buckets in six.itervalues(_find_files(metadata[saltenv])): files = [f for f in buckets if not fs.is_file_ignored(__opts__, f)] ret += _trim_env_off_path(files, saltenv) return ret
def file_list(load): ''' Return a list of all files on the file server in a specified environment ''' if 'env' in load: salt.utils.warn_until( 'Boron', 'Passing a salt environment should be done using \'saltenv\' ' 'not \'env\'. This functionality will be removed in Salt Boron.' ) load['saltenv'] = load.pop('env') ret = [] if 'saltenv' not in load: return ret saltenv = load['saltenv'] metadata = _init() if not metadata or saltenv not in metadata: return ret for buckets in six.itervalues(_find_files(metadata[saltenv])): files = [f for f in buckets if not fs.is_file_ignored(__opts__, f)] ret += _trim_env_off_path(files, saltenv) return ret
def file_list(load): ''' Return a list of all files on the file server in a specified environment ''' if 'env' in load: salt.utils.warn_until( 'Boron', 'Passing a salt environment should be done using \'saltenv\' ' 'not \'env\'. This functionality will be removed in Salt Boron.') load['saltenv'] = load.pop('env') ret = [] if 'saltenv' not in load: return ret saltenv = load['saltenv'] metadata = _init() if not metadata or saltenv not in metadata: return ret for buckets in six.itervalues(_find_files(metadata[saltenv])): files = [f for f in buckets if not fs.is_file_ignored(__opts__, f)] ret += _trim_env_off_path(files, saltenv) return ret
def find_file(path, saltenv='base', **kwargs): ''' Look through the buckets cache file for a match. If the field is found, it is retrieved from S3 only if its cached version is missing, or if the MD5 does not match. ''' if 'env' in kwargs: # "env" is not supported; Use "saltenv". kwargs.pop('env') fnd = {'bucket': None, 'path': None} metadata = _init() if not metadata or saltenv not in metadata: return fnd env_files = _find_files(metadata[saltenv]) if not _is_env_per_bucket(): path = os.path.join(saltenv, path) # look for the files and check if they're ignored globally for bucket in env_files: for bucket_name, files in six.iteritems(bucket): if path in files and not fs.is_file_ignored(__opts__, path): fnd['bucket'] = bucket_name fnd['path'] = path break else: continue # only executes if we didn't break break if not fnd['path'] or not fnd['bucket']: return fnd cached_file_path = _get_cached_file_name(fnd['bucket'], saltenv, path) try: # jit load the file from S3 if it's not in the cache or it's old _get_file_from_s3(metadata, saltenv, fnd['bucket'], path, cached_file_path) except: if not os.path.isfile(cached_file_path): raise return fnd
def find_file(path, saltenv='base', env=None, **kwargs): ''' Look through the buckets cache file for a match. If the field is found, it is retrieved from S3 only if its cached version is missing, or if the MD5 does not match. ''' if env is not None: salt.utils.warn_until( 'Boron', 'Passing a salt environment should be done using \'saltenv\' ' 'not \'env\'. This functionality will be removed in Salt Boron.' ) # Backwards compatibility saltenv = env fnd = {'bucket': None, 'path': None} metadata = _init() if not metadata or saltenv not in metadata: return fnd env_files = _find_files(metadata[saltenv]) if not _is_env_per_bucket(): path = os.path.join(saltenv, path) # look for the files and check if they're ignored globally for bucket_name, files in six.iteritems(env_files): if path in files and not fs.is_file_ignored(__opts__, path): fnd['bucket'] = bucket_name fnd['path'] = path if not fnd['path'] or not fnd['bucket']: return fnd cached_file_path = _get_cached_file_name(fnd['bucket'], saltenv, path) # jit load the file from S3 if it's not in the cache or it's old _get_file_from_s3(metadata, saltenv, fnd['bucket'], path, cached_file_path) return fnd
def find_file(path, saltenv='base', **kwargs): ''' Look through the buckets cache file for a match. If the field is found, it is retrieved from S3 only if its cached version is missing, or if the MD5 does not match. ''' if 'env' in kwargs: # "env" is not supported; Use "saltenv". kwargs.pop('env') fnd = {'bucket': None, 'path': None} metadata = _init() if not metadata or saltenv not in metadata: return fnd env_files = _find_files(metadata[saltenv]) if not _is_env_per_bucket(): path = os.path.join(saltenv, path) # look for the files and check if they're ignored globally for bucket in env_files: for bucket_name, files in six.iteritems(bucket): if path in files and not fs.is_file_ignored(__opts__, path): fnd['bucket'] = bucket_name fnd['path'] = path break else: continue # only executes if we didn't break break if not fnd['path'] or not fnd['bucket']: return fnd cached_file_path = _get_cached_file_name(fnd['bucket'], saltenv, path) # jit load the file from S3 if it's not in the cache or it's old _get_file_from_s3(metadata, saltenv, fnd['bucket'], path, cached_file_path) return fnd
def find_file(path, saltenv='base', **kwargs): ''' Look through the buckets cache file for a match. If the field is found, it is retrieved from S3 only if its cached version is missing, or if the MD5 does not match. ''' if 'env' in kwargs: salt.utils.warn_until( 'Oxygen', 'Parameter \'env\' has been detected in the argument list. This ' 'parameter is no longer used and has been replaced by \'saltenv\' ' 'as of Salt 2016.11.0. This warning will be removed in Salt Oxygen.' ) kwargs.pop('env') fnd = {'bucket': None, 'path': None} metadata = _init() if not metadata or saltenv not in metadata: return fnd env_files = _find_files(metadata[saltenv]) if not _is_env_per_bucket(): path = os.path.join(saltenv, path) # look for the files and check if they're ignored globally for bucket_name, files in six.iteritems(env_files): if path in files and not fs.is_file_ignored(__opts__, path): fnd['bucket'] = bucket_name fnd['path'] = path if not fnd['path'] or not fnd['bucket']: return fnd cached_file_path = _get_cached_file_name(fnd['bucket'], saltenv, path) # jit load the file from S3 if it's not in the cache or it's old _get_file_from_s3(metadata, saltenv, fnd['bucket'], path, cached_file_path) return fnd
def find_file(path, saltenv="base", **kwargs): """ Look through the buckets cache file for a match. If the field is found, it is retrieved from S3 only if its cached version is missing, or if the MD5 does not match. """ if "env" in kwargs: # "env" is not supported; Use "saltenv". kwargs.pop("env") fnd = {"bucket": None, "path": None} metadata = _init() if not metadata or saltenv not in metadata: return fnd env_files = _find_files(metadata[saltenv]) if not _is_env_per_bucket(): path = os.path.join(saltenv, path) # look for the files and check if they're ignored globally for bucket in env_files: for bucket_name, files in bucket.items(): if path in files and not fs.is_file_ignored(__opts__, path): fnd["bucket"] = bucket_name fnd["path"] = path break else: continue # only executes if we didn't break break if not fnd["path"] or not fnd["bucket"]: return fnd cached_file_path = _get_cached_file_name(fnd["bucket"], saltenv, path) # jit load the file from S3 if it's not in the cache or it's old _get_file_from_s3(metadata, saltenv, fnd["bucket"], path, cached_file_path) return fnd
def file_list(load): ''' Return a list of all files on the file server in a specified environment ''' ret = [] if 'env' not in load: return ret env = load['env'] metadata = _init() if not metadata or env not in metadata: return ret for buckets in _find_files(metadata[env]).values(): files = filter(lambda f: not fs.is_file_ignored(__opts__, f), buckets) ret += _trim_env_off_path(files, env) return ret
def file_list(load): ''' Return a list of all files on the file server in a specified environment ''' if 'env' in load: # "env" is not supported; Use "saltenv". load.pop('env') ret = [] if 'saltenv' not in load: return ret saltenv = load['saltenv'] metadata = _init() if not metadata or saltenv not in metadata: return ret for bucket in _find_files(metadata[saltenv]): for buckets in six.itervalues(bucket): files = [f for f in buckets if not fs.is_file_ignored(__opts__, f)] ret += _trim_env_off_path(files, saltenv) return ret
def file_list(load): """ Return a list of all files on the file server in a specified environment """ if "env" in load: # "env" is not supported; Use "saltenv". load.pop("env") ret = [] if "saltenv" not in load: return ret saltenv = load["saltenv"] metadata = _init() if not metadata or saltenv not in metadata: return ret for bucket in _find_files(metadata[saltenv]): for buckets in bucket.values(): files = [f for f in buckets if not fs.is_file_ignored(__opts__, f)] ret += _trim_env_off_path(files, saltenv) return ret