Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
repo_data = {}
if repo.endswith('.yml'):
with open(repo) as fpi:
repo_data = yaml.safe_load(fpi)
if 'repo' in repo_data:
if 'nginx-extras' in repo:
repo_data['module_of'] = 'nginx'
name = os.path.splitext(os.path.basename(repo))[0]
if 'module_of' in repo_data:
name = '{}-module-{}'.format(repo_data['module_of'], name)
repo = repo_data['repo']
repo_data['name'] = name
# find the right hosting for this repo
project_holder = HolderFactory.get_instance_for_repo(repo)
# we are completely "offline" for 1 hour, not even making conditional requests
# heuristic=ExpiresAfter(hours=1) <- make configurable
with CacheControl(project_holder, cache=FileCache(cache_dir)) as s:
release = s.get_latest(pre_ok=pre_ok, major=major)
s.close()
# bail out, found nothing that looks like a release
if not release:
return None
version = release['version']
tag = release['tag_name']
# return the release if we've reached far enough:
if output_format == 'version':