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:
Sarah Hoffmann 2022-05-11 15:03:02 +02:00
parent a7a5f0161f
commit dc6c4bf22e

View File

@ -53,6 +53,8 @@ class SetupAll:
group.add_argument('--no-updates', action='store_true',
help="Do not keep tables that are only needed for "
"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.add_argument('--ignore-errors', action='store_true',
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:
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
@ -202,10 +204,11 @@ class SetupAll:
@staticmethod
def _set_database_date(dsn):
def _finalize_database(dsn, offline):
""" Determine the database date and set the status accordingly.
"""
with connect(dsn) as conn:
if not offline:
try:
dbdate = status.compute_database_date(conn)
status.set_status(conn, dbdate)