-class UpdateRefresh:
- """\
- Recompute auxiliary data used by the indexing process.
-
- These functions must not be run in parallel with other update commands.
- """
-
- @staticmethod
- def add_args(parser):
- group = parser.add_argument_group('Data arguments')
- group.add_argument('--postcodes', action='store_true',
- help='Update postcode centroid table')
- group.add_argument('--word-counts', action='store_true',
- help='Compute frequency of full-word search terms')
- group.add_argument('--address-levels', action='store_true',
- help='Reimport address level configuration')
- group.add_argument('--functions', action='store_true',
- help='Update the PL/pgSQL functions in the database')
- group.add_argument('--wiki-data', action='store_true',
- help='Update Wikipedia/data importance numbers.')
- group.add_argument('--importance', action='store_true',
- help='Recompute place importances (expensive!)')
- group.add_argument('--website', action='store_true',
- help='Refresh the directory that serves the scripts for the web API')
- group = parser.add_argument_group('Arguments for function refresh')
- group.add_argument('--no-diff-updates', action='store_false', dest='diffs',
- help='Do not enable code for propagating updates')
- group.add_argument('--enable-debug-statements', action='store_true',
- help='Enable debug warning statements in functions')
-
- @staticmethod
- def run(args):
- if args.postcodes:
- run_legacy_script('update.php', '--calculate-postcodes',
- nominatim_env=args, throw_on_fail=True)
- if args.word_counts:
- run_legacy_script('update.php', '--recompute-word-counts',
- nominatim_env=args, throw_on_fail=True)
- if args.address_levels:
- run_legacy_script('update.php', '--update-address-levels',
- nominatim_env=args, throw_on_fail=True)
- if args.functions:
- params = ['setup.php', '--create-functions', '--create-partition-functions']
- if args.diffs:
- params.append('--enable-diff-updates')
- if args.enable_debug_statements:
- params.append('--enable-debug-statements')
- run_legacy_script(*params, nominatim_env=args, throw_on_fail=True)
- if args.wiki_data:
- run_legacy_script('setup.php', '--import-wikipedia-articles',
- nominatim_env=args, throw_on_fail=True)
- # Attention: importance MUST come after wiki data import.
- if args.importance:
- run_legacy_script('update.php', '--recompute-importance',
- nominatim_env=args, throw_on_fail=True)
- if args.website:
- run_legacy_script('setup.php', '--setup-website',
- nominatim_env=args, throw_on_fail=True)
-
-
-class AdminCheckDatabase: