import argparse
import random
-import nominatim_api as napi
-from nominatim_core.db.connection import connect
+from ..errors import UsageError
+from ..db.connection import connect, table_exists
from .args import NominatimArgs
# Do not repeat documentation of subcommand classes.
def _warm(self, args: NominatimArgs) -> int:
+ try:
+ import nominatim_api as napi
+ except ModuleNotFoundError as exp:
+ raise UsageError("Warming requires nominatim API. "
+ "Install with 'pip install nominatim-api'.") from exp
LOG.warning('Warming database caches')
api = napi.NominatimAPI(args.project_dir)
tokenizer = tokenizer_factory.get_tokenizer_for_db(args.config)
with connect(args.config.get_libpq_dsn()) as conn:
- if conn.table_exists('search_name'):
+ if table_exists(conn, 'search_name'):
words = tokenizer.most_frequent_words(conn, 1000)
else:
words = []