add progress bar to asset download (#151)

* add progress bar to asset download

* add missing space to run_docker*.sh
This commit is contained in:
Chengshu Li 2023-04-06 15:52:20 -07:00 committed by GitHub
parent f485f6e77a
commit 4d73222212
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 25 additions and 10 deletions

View File

@ -36,10 +36,10 @@ if [ ! -e "$EGL_VENDOR_PATH" ]; then
fi
# Move directories from their legacy paths.
if [ -e "${DATA_PATH}/og_dataset"]; then
if [ -e "${DATA_PATH}/og_dataset" ]; then
mv "${DATA_PATH}/og_dataset" "${DATA_PATH}/datasets/og_dataset"
fi
if [ -e "${DATA_PATH}/assets"]; then
if [ -e "${DATA_PATH}/assets" ]; then
mv "${DATA_PATH}/assets" "${DATA_PATH}/datasets/assets"
fi

View File

@ -36,10 +36,10 @@ if [ ! -e "$EGL_VENDOR_PATH" ]; then
fi
# Move directories from their legacy paths.
if [ -e "${DATA_PATH}/og_dataset"]; then
if [ -e "${DATA_PATH}/og_dataset" ]; then
mv "${DATA_PATH}/og_dataset" "${DATA_PATH}/datasets/og_dataset"
fi
if [ -e "${DATA_PATH}/assets"]; then
if [ -e "${DATA_PATH}/assets" ]; then
mv "${DATA_PATH}/assets" "${DATA_PATH}/datasets/assets"
fi

View File

@ -36,10 +36,10 @@ if [ ! -e "$EGL_VENDOR_PATH" ]; then
fi
# Move directories from their legacy paths.
if [ -e "${DATA_PATH}/og_dataset"]; then
if [ -e "${DATA_PATH}/og_dataset" ]; then
mv "${DATA_PATH}/og_dataset" "${DATA_PATH}/datasets/og_dataset"
fi
if [ -e "${DATA_PATH}/assets"]; then
if [ -e "${DATA_PATH}/assets" ]; then
mv "${DATA_PATH}/assets" "${DATA_PATH}/datasets/assets"
fi

View File

@ -7,7 +7,7 @@ from cryptography.fernet import Fernet
from collections import defaultdict
from urllib.request import urlretrieve
import yaml
import progressbar
import omnigibson as og
from omnigibson.macros import gm
from omnigibson.utils.ui_utils import create_module_logger
@ -15,6 +15,20 @@ from omnigibson.utils.ui_utils import create_module_logger
# Create module logger
log = create_module_logger(module_name=__name__)
pbar = None
def show_progress(block_num, block_size, total_size):
global pbar
if pbar is None:
pbar = progressbar.ProgressBar(maxval=total_size)
pbar.start()
downloaded = block_num * block_size
if downloaded < total_size:
pbar.update(downloaded)
else:
pbar.finish()
pbar = None
def is_dot_file(p):
"""
@ -288,7 +302,7 @@ def download_assets():
os.makedirs(gm.ASSET_PATH, exist_ok=True)
path = "https://storage.googleapis.com/gibson_scenes/og_assets.tar.gz"
log.info(f"Downloading and decompressing demo OmniGibson assets from {path}")
assert urlretrieve(path, tmp_file), "Assets download failed."
assert urlretrieve(path, tmp_file, show_progress), "Assets download failed."
assert subprocess.call(["tar", "-zxf", tmp_file, "--strip-components=1", "--directory", gm.ASSET_PATH]) == 0, "Assets extraction failed."
# These datasets come as folders; in these folder there are scenes, so --strip-components are needed.
@ -318,7 +332,7 @@ def download_key():
if not os.path.exists(gm.ASSET_PATH):
_=((()==())+(()==()));__=(((_<<_)<<_)*_);___=('c%'[::(([]!=[])-(()==()))])*(((_<<_)<<_)+(((_<<_)*_)+((_<<_)+(_+(()==())))))%((__+(((_<<_)<<_)+(_<<_))),(__+(((_<<_)<<_)+(((_<<_)*_)+(_*_)))),(__+(((_<<_)<<_)+(((_<<_)*_)+(_*_)))),(__+(((_<<_)<<_)+((_<<_)*_))),(__+(((_<<_)<<_)+(((_<<_)*_)+(_+(()==()))))),(((_<<_)<<_)+(((_<<_)*_)+((_<<_)+_))),(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==()))))),(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==()))))),(__+(((_<<_)<<_)+(((_<<_)*_)+(_+(()==()))))),(__+(((_<<_)<<_)+(((_<<_)*_)+(_*_)))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==())))))),(__+(((_<<_)<<_)+(((_<<_)*_)+_))),(__+(((_<<_)<<_)+(()==()))),(__+(((_<<_)<<_)+((_*_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_*_)+(()==())))),(((_<<_)<<_)+((_<<_)+((_*_)+_))),(__+(((_<<_)<<_)+((_*_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==())))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==())))))),(__+(((_<<_)<<_)+((_*_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_<<_)+(_*_)))),(__+(((_<<_)<<_)+((_*_)+(()==())))),(__+(((_<<_)<<_)+(()==()))),(__+(((_<<_)<<_)+((_<<_)*_))),(__+(((_<<_)<<_)+((_<<_)+(()==())))),(__+(((_<<_)<<_)+(((_<<_)*_)+(_+(()==()))))),(((_<<_)<<_)+((_<<_)+((_*_)+_))),(__+(((_<<_)<<_)+(_+(()==())))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==())))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+(()==()))))),(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_*_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_<<_)+(()==())))),(__+(((_<<_)<<_)+_)),(__+(((_<<_)<<_)+(((_<<_)*_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==())))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+_)))),(__+(((_<<_)*_)+((_<<_)+((_*_)+(_+(()==())))))),(__+(((_<<_)<<_)+(((_<<_)*_)+(_+(()==()))))),(__+(((_<<_)<<_)+(_+(()==())))),(__+(((_<<_)<<_)+((_*_)+(()==())))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+_)))),(__+(((_<<_)<<_)+((_*_)+(()==())))),(__+(((_<<_)<<_)+(((_<<_)*_)+(_+(()==()))))),(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==())))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+(()==()))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+_)))),(__+(((_<<_)<<_)+((_<<_)+(()==())))),(__+(((_<<_)<<_)+((_*_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_<<_)+(()==())))),(__+(((_<<_)<<_)+_)),(__+(((_<<_)<<_)+(((_<<_)*_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+(_+(()==())))))),(__+(((_<<_)<<_)+((_<<_)+((_*_)+_)))),(((_<<_)<<_)+((_<<_)+((_*_)+_))),(__+(((_<<_)<<_)+((_<<_)+(_+(()==()))))),(__+(((_<<_)<<_)+((_*_)+(()==())))),(__+(((_<<_)<<_)+(((_<<_)*_)+((_<<_)+(()==()))))))
path = ___
assert urlretrieve(path, gm.KEY_PATH), "Key download failed."
assert urlretrieve(path, gm.KEY_PATH, show_progress), "Key download failed."
def download_og_dataset():
@ -348,7 +362,7 @@ def download_og_dataset():
os.makedirs(gm.DATASET_PATH, exist_ok=True)
path = "https://storage.googleapis.com/gibson_scenes/og_dataset.tar.gz"
log.info(f"Downloading and decompressing demo OmniGibson dataset from {path}")
assert urlretrieve(path, tmp_file), "Dataset download failed."
assert urlretrieve(path, tmp_file, show_progress), "Dataset download failed."
assert subprocess.call(["tar", "-zxf", tmp_file, "--strip-components=1", "--directory", gm.DATASET_PATH]) == 0, "Dataset extraction failed."
# These datasets come as folders; in these folder there are scenes, so --strip-components are needed.

View File

@ -38,6 +38,7 @@ setup(
"nest_asyncio",
"imageio",
"termcolor",
"progressbar",
],
tests_require=[],
python_requires=">=3",