prot load-data function to python

This commit is contained in:
Sarah Hoffmann
2021-02-25 21:32:40 +01:00
parent 3c186f8030
commit 57db5819ef
4 changed files with 101 additions and 129 deletions

View File

@@ -9,6 +9,7 @@ import logging
from pathlib import Path
from ..db.connection import connect
from ..db import status
from ..errors import UsageError
# Do not repeat documentation of subcommand classes.
@@ -32,6 +33,8 @@ class AdminTransition:
help='Build a blank nominatim db')
group.add_argument('--import-data', action='store_true',
help='Import a osm file')
group.add_argument('--load-data', action='store_true',
help='Copy data to live tables from import table')
group.add_argument('--index', action='store_true',
help='Index the data')
group = parser.add_argument_group('Options')
@@ -74,6 +77,20 @@ class AdminTransition:
args.osm2pgsql_options(0, 1),
drop=args.drop)
if args.load_data:
LOG.warning('Load data')
with connect(args.config.get_libpq_dsn()) as conn:
database_import.truncate_data_tables(conn, args.config.MAX_WORD_FREQUENCY)
database_import.load_data(args.config.get_libpq_dsn(),
args.data_dir,
args.threads or 1)
with connect(args.config.get_libpq_dsn()) as conn:
try:
status.set_status(conn, status.compute_database_date(conn))
except Exception as exc: # pylint: disable=bare-except
LOG.error('Cannot determine date of database: %s', exc)
if args.index:
LOG.warning('Indexing')
from ..indexer.indexer import Indexer