diff --git a/scripts/http_host/http_host.py b/scripts/http_host/http_host.py index 2d33ffe..d91a51d 100755 --- a/scripts/http_host/http_host.py +++ b/scripts/http_host/http_host.py @@ -9,6 +9,7 @@ import click import requests from http_host_lib.assets import ( download_and_extract_asset_tar_gz, + download_assets, download_sprites, ) from http_host_lib.btrfs import ( @@ -38,40 +39,26 @@ def cli(): @cli.command() @click.argument('area', required=False) -@click.option('--version', default='latest', help='Version string, like "20231227_043106_pt"') +@click.option( + '--version', default='latest', help='Optional version string, like "20231227_043106_pt"' +) def download_btrfs(area: str, version: str): """ - Downloads and extracts tiles.btrfs file from the btrfs bucket - Version can be "latest" or specified + Downloads and uncompresses tiles.btrfs files from the btrfs bucket + Version can be "latest" (default) or specified, like "20231227_043106_pt" + Use --version=1 to list all available versions """ return download_area_version(area, version) -@cli.command() -@click.option( - '--assets-dir', - help='Specify assets directory', - type=click.Path(dir_okay=True, file_okay=False, path_type=Path), -) -def download_assets(assets_dir: Path): +@cli.command(name='download-assets') +def download_assets_(): """ Downloads and extracts assets """ - print('running download_assets') - - if not assets_dir: - assets_dir = config.assets_dir - - if not assets_dir.parent.exists(): - sys.exit("asset dir's parent doesn't exist") - - download_and_extract_asset_tar_gz(assets_dir, 'fonts') - download_and_extract_asset_tar_gz(assets_dir, 'styles') - download_and_extract_asset_tar_gz(assets_dir, 'natural_earth') - - download_sprites(assets_dir) + download_assets() @cli.command() diff --git a/scripts/http_host/http_host_lib/assets.py b/scripts/http_host/http_host_lib/assets.py index 92437b3..f609e34 100644 --- a/scripts/http_host/http_host_lib/assets.py +++ b/scripts/http_host/http_host_lib/assets.py @@ -1,6 +1,5 @@ import shutil import subprocess -from pathlib import Path import requests @@ -29,6 +28,7 @@ def download_and_extract_asset_tar_gz(asset_kind): url = f'https://assets.openfreemap.com/{asset_kind}/ofm.tar.gz' local_file = asset_dir / 'ofm.tar.gz' if not download_if_size_differs(url, local_file): + print(f' skipping asset: {asset_kind}') return ofm_dir = asset_dir / 'ofm' @@ -42,12 +42,16 @@ def download_and_extract_asset_tar_gz(asset_kind): check=True, ) + print(f' downloaded asset: {asset_kind}') + def download_sprites(): """ Sprites are special assets, as we have to keep the old versions indefinitely """ + print('Downloading sprites') + sprites_dir = config.assets_dir / 'sprites' sprites_dir.mkdir(exist_ok=True, parents=True) @@ -60,6 +64,7 @@ def download_sprites(): sprite_name = sprite.split('/')[1].replace('.tar.gz', '') if (sprites_dir / sprite_name).is_dir(): + print(f' skipping sprite version: {sprite_name}') continue url = f'https://assets.openfreemap.com/sprites/{sprite_name}.tar.gz' @@ -71,3 +76,4 @@ def download_sprites(): check=True, ) local_file.unlink() + print(f' downloaded sprite version: {sprite_name}')