Skip to content
Snippets Groups Projects

Resolve "Add an option to import country assets"

Merged Danijel Schorlemmer requested to merge 4-add-an-option-to-import-country-assets into main
@@ -67,6 +67,7 @@ def command_line_interface():
`-a`: Append to existing database (do not remove all existing data in the output
database defined by `-e`.
The commands `baseline`, `baseline-as-standard`, `standard`, `both` also offer:
`-C`: Import country assets of the country given in `-i`.
`-B`: Import boundaries of the country given in `-i`.
The commands `standard` and `both` offer additionally:
`-b`: Import buildings from the building database into the `Building` table.
@@ -140,6 +141,15 @@ def command_line_interface():
help="Import buildings from the buildings database.",
)
parser_country_assets_shared = argparse.ArgumentParser(add_help=False)
parser_country_assets_shared.add_argument(
"-C",
"--import-country-assets",
required=False,
action="store_true",
help="Import country assets.",
)
parser_boundaries_shared = argparse.ArgumentParser(add_help=False)
parser_boundaries_shared.add_argument(
"-B",
@@ -156,13 +166,23 @@ def command_line_interface():
"baseline",
help="Baseline exposure will be extracted (consists only of tile entities) and stored "
+ "as baseline model in the output.",
parents=[parser_shared, parser_download_shared, parser_boundaries_shared],
parents=[
parser_shared,
parser_download_shared,
parser_boundaries_shared,
parser_country_assets_shared,
],
)
subparsers.add_parser(
"baseline-as-standard",
help="Baseline exposure will be extracted (consists only of tile entities) and stored "
+ "in the tables of the standard model.",
parents=[parser_shared, parser_download_shared, parser_boundaries_shared],
parents=[
parser_shared,
parser_download_shared,
parser_boundaries_shared,
parser_country_assets_shared,
],
)
subparsers.add_parser(
"standard",
@@ -174,6 +194,7 @@ def command_line_interface():
parser_download_shared,
parser_buildings_shared,
parser_boundaries_shared,
parser_country_assets_shared,
],
)
subparsers.add_parser(
@@ -185,6 +206,7 @@ def command_line_interface():
parser_download_shared,
parser_buildings_shared,
parser_boundaries_shared,
parser_country_assets_shared,
],
)
subparsers.add_parser(
@@ -232,41 +254,24 @@ def command_line_interface():
obm_source_db_config = dict(postgis_config["OBM"])
output_database_object.create_tables()
if args.command == "baseline":
if args.command in ("baseline", "baseline-as-standard"):
output_database_object.import_from_postgis(
exposure_source_db_config,
"baseline",
append=args.append,
country_iso_code=args.country_iso_code,
import_boundaries=args.import_boundaries,
)
elif args.command == "baseline-as-standard":
output_database_object.import_from_postgis(
exposure_source_db_config,
"baseline-as-standard",
append=args.append,
country_iso_code=args.country_iso_code,
import_boundaries=args.import_boundaries,
)
elif args.command == "standard":
output_database_object.import_from_postgis(
exposure_source_db_config,
"standard",
obm_source_db_config=obm_source_db_config,
args.command,
append=args.append,
country_iso_code=args.country_iso_code,
import_buildings=args.import_buildings,
import_boundaries=args.import_boundaries,
import_country_assets=args.import_country_assets,
)
elif args.command == "both":
elif args.command in ("standard", "both"):
output_database_object.import_from_postgis(
exposure_source_db_config,
"baseline-and-standard",
args.command,
obm_source_db_config=obm_source_db_config,
append=args.append,
country_iso_code=args.country_iso_code,
import_buildings=args.import_buildings,
import_boundaries=args.import_boundaries,
import_country_assets=args.import_country_assets,
)
elif args.command == "aggregated":
output_database_object.import_tile_exposure_from_postgis(
Loading