downloading asset work

This commit is contained in:
Zsolt Ero
2024-08-29 16:12:34 +02:00
parent 3079a59434
commit 7196e15837
2 changed files with 17 additions and 24 deletions

View File

@@ -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()

View File

@@ -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}')