+# SPDX-License-Identifier: GPL-2.0-only
+#
+# This file is part of Nominatim. (https://nominatim.org)
+#
+# Copyright (C) 2022 by the Nominatim developer community.
+# For a full list of authors see the git log.
"""
Implementation of the 'freeze' subcommand.
"""
+import argparse
-from ..db.connection import connect
+from nominatim.db.connection import connect
+from nominatim.clicmd.args import NominatimArgs
# Do not repeat documentation of subcommand classes.
# pylint: disable=C0111
This command has the same effect as the `--no-updates` option for imports.
"""
- @staticmethod
- def add_args(parser):
+ def add_args(self, parser: argparse.ArgumentParser) -> None:
pass # No options
- @staticmethod
- def run(args):
+
+ def run(self, args: NominatimArgs) -> int:
from ..tools import freeze
- conn = connect(args.config.get_libpq_dsn())
- freeze.drop_update_tables(conn)
- freeze.drop_flatnode_file(args.config.FLATNODE_FILE)
- conn.close()
+ with connect(args.config.get_libpq_dsn()) as conn:
+ freeze.drop_update_tables(conn)
+ freeze.drop_flatnode_file(args.config.get_path('FLATNODE_FILE'))
return 0