mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
add offline import mode
In offline mode no attempts are made to download data from the internet. At the moment that only concerns the computation of the database date. It contacts the main API to get the date.
This commit is contained in:
@@ -53,6 +53,8 @@ class SetupAll:
|
|||||||
group.add_argument('--no-updates', action='store_true',
|
group.add_argument('--no-updates', action='store_true',
|
||||||
help="Do not keep tables that are only needed for "
|
help="Do not keep tables that are only needed for "
|
||||||
"updating the database later")
|
"updating the database later")
|
||||||
|
group.add_argument('--offline', action='store_true',
|
||||||
|
help="Do not attempt to load any additional data from the internet")
|
||||||
group = parser.add_argument_group('Expert options')
|
group = parser.add_argument_group('Expert options')
|
||||||
group.add_argument('--ignore-errors', action='store_true',
|
group.add_argument('--ignore-errors', action='store_true',
|
||||||
help='Continue import even when errors in SQL are present')
|
help='Continue import even when errors in SQL are present')
|
||||||
@@ -139,7 +141,7 @@ class SetupAll:
|
|||||||
with connect(args.config.get_libpq_dsn()) as conn:
|
with connect(args.config.get_libpq_dsn()) as conn:
|
||||||
refresh.setup_website(webdir, args.config, conn)
|
refresh.setup_website(webdir, args.config, conn)
|
||||||
|
|
||||||
SetupAll._set_database_date(args.config.get_libpq_dsn())
|
SetupAll._finalize_database(args.config.get_libpq_dsn(), args.offline)
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
@@ -202,15 +204,16 @@ class SetupAll:
|
|||||||
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _set_database_date(dsn):
|
def _finalize_database(dsn, offline):
|
||||||
""" Determine the database date and set the status accordingly.
|
""" Determine the database date and set the status accordingly.
|
||||||
"""
|
"""
|
||||||
with connect(dsn) as conn:
|
with connect(dsn) as conn:
|
||||||
try:
|
if not offline:
|
||||||
dbdate = status.compute_database_date(conn)
|
try:
|
||||||
status.set_status(conn, dbdate)
|
dbdate = status.compute_database_date(conn)
|
||||||
LOG.info('Database is at %s.', dbdate)
|
status.set_status(conn, dbdate)
|
||||||
except Exception as exc: # pylint: disable=broad-except
|
LOG.info('Database is at %s.', dbdate)
|
||||||
LOG.error('Cannot determine date of database: %s', exc)
|
except Exception as exc: # pylint: disable=broad-except
|
||||||
|
LOG.error('Cannot determine date of database: %s', exc)
|
||||||
|
|
||||||
properties.set_property(conn, 'database_version', version_str())
|
properties.set_property(conn, 'database_version', version_str())
|
||||||
|
|||||||
Reference in New Issue
Block a user