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]>
- 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'):
|
47 |
-
# Attempt file download if
|
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/
|
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
|