Cristi Fati pre-commit-ci[bot] glenn-jocher commited on
Commit
4870064
·
unverified ·
1 Parent(s): d059d1d

Ability to dowlnoad older assets (#7767)

Browse files

* Ability to dowlnoad older assets

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Cleanup

* Cleanup2

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Glenn Jocher <[email protected]>

Files changed (1) hide show
  1. utils/downloads.py +5 -3
utils/downloads.py CHANGED
@@ -43,8 +43,8 @@ def safe_download(file, url, url2=None, min_bytes=1E0, error_msg=''):
43
  LOGGER.info('')
44
 
45
 
46
- def attempt_download(file, repo='ultralytics/yolov5'): # from utils.downloads import *; attempt_download()
47
- # Attempt file download if does not exist
48
  from utils.general import LOGGER
49
 
50
  file = Path(str(file).strip().replace("'", ''))
@@ -62,8 +62,10 @@ def attempt_download(file, repo='ultralytics/yolov5'): # from utils.downloads i
62
 
63
  # GitHub assets
64
  file.parent.mkdir(parents=True, exist_ok=True) # make parent dir (if required)
 
 
65
  try:
66
- response = requests.get(f'https://api.github.com/repos/{repo}/releases/latest').json() # github api
67
  assets = [x['name'] for x in response['assets']] # release assets, i.e. ['yolov5s.pt', 'yolov5m.pt', ...]
68
  tag = response['tag_name'] # i.e. 'v1.0'
69
  except Exception: # fallback plan
 
43
  LOGGER.info('')
44
 
45
 
46
+ def attempt_download(file, repo='ultralytics/yolov5', release='latest'):
47
+ # Attempt file download from GitHub release assets if not found locally
48
  from utils.general import LOGGER
49
 
50
  file = Path(str(file).strip().replace("'", ''))
 
62
 
63
  # GitHub assets
64
  file.parent.mkdir(parents=True, exist_ok=True) # make parent dir (if required)
65
+ if release != 'latest' and not release.startswith('tags/'):
66
+ release = f'tags/{release}' # prepend i.e. tags/v6.1
67
  try:
68
+ response = requests.get(f'https://api.github.com/repos/{repo}/releases/{release}').json() # github api
69
  assets = [x['name'] for x in response['assets']] # release assets, i.e. ['yolov5s.pt', 'yolov5m.pt', ...]
70
  tag = response['tag_name'] # i.e. 'v1.0'
71
  except Exception: # fallback plan