Skip to content

Commit

Permalink
Add URL download to check_file() (ultralytics#3330)
Browse files Browse the repository at this point in the history
* Add URL file download to check_file()

* cleanup

* pathlib bug fix

(cherry picked from commit 2435bfe)
  • Loading branch information
glenn-jocher authored and Lechtr committed Jun 14, 2021
1 parent 0ec1b8a commit 72444bf
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions utils/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,12 +176,19 @@ def check_imshow():


def check_file(file):
# Search for file if not found
if Path(file).is_file() or file == '':
# Search/download file (if necessary) and return path
file = str(file) # convert to str()
if Path(file).is_file() or file == '': # exists
return file
else:
elif file.startswith(('http://', 'https://')): # download
url, file = file, Path(file).name
print(f'Downloading {url} to {file}...')
torch.hub.download_url_to_file(url, file)
assert Path(file).exists() and Path(file).stat().st_size > 0, f'File download failed: {url}' # check
return file
else: # search
files = glob.glob('./**/' + file, recursive=True) # find file
assert len(files), f'File Not Found: {file}' # assert file was found
assert len(files), f'File not found: {file}' # assert file was found
assert len(files) == 1, f"Multiple files match '{file}', specify exact path: {files}" # assert unique
return files[0] # return file

Expand Down

0 comments on commit 72444bf

Please sign in to comment.