From 21b1b75b0897ee85447fa75de5809f9c9d753439 Mon Sep 17 00:00:00 2001 From: Darkshredder Date: Mon, 29 Mar 2021 14:00:45 +0530 Subject: [PATCH 1/1] Rebase with master --- nominatim/cli.py | 40 ++++++++++++++++++++++++++------- nominatim/clicmd/api.py | 12 +++++----- nominatim/clicmd/replication.py | 12 +++++----- nominatim/clicmd/setup.py | 8 +++---- 4 files changed, 48 insertions(+), 24 deletions(-) diff --git a/nominatim/cli.py b/nominatim/cli.py index 98ef9d58..5c2c8dfa 100644 --- a/nominatim/cli.py +++ b/nominatim/cli.py @@ -112,6 +112,30 @@ class CommandlineParser: # pylint: disable=C0111 # Using non-top-level imports to make pyosmium optional for replication only. # pylint: disable=E0012,C0415 + + +class SetupSpecialPhrases: + """\ + Maintain special phrases. + """ + + @staticmethod + def add_args(parser): + group = parser.add_argument_group('Input arguments') + group.add_argument('--from-wiki', action='store_true', + help='Pull special phrases from the OSM wiki.') + group = parser.add_argument_group('Output arguments') + group.add_argument('-o', '--output', default='-', + help=("File to write the preprocessed phrases to." + "If omitted, it will be written to stdout.")) + + @staticmethod + def run(args): + if args.output != '-': + raise NotImplementedError('Only output to stdout is currently implemented.') + return run_legacy_script('specialphrases.php', '--wiki-import', nominatim_env=args) + + class UpdateAddData: """\ Add additional data from a file or an online source. @@ -179,16 +203,16 @@ class QueryExport: help='Type of places to output (default: street)') group.add_argument('--output-format', default='street;suburb;city;county;state;country', - help="""Semicolon-separated list of address types - (see --output-type). Multiple ranks can be - merged into one column by simply using a - comma-separated list.""") + help=("Semicolon-separated list of address types " + "(see --output-type). Multiple ranks can be " + "merged into one column by simply using a " + "comma-separated list.")) group.add_argument('--output-all-postcodes', action='store_true', - help="""List all postcodes for address instead of - just the most likely one""") + help=("List all postcodes for address instead of " + "just the most likely one")) group.add_argument('--language', - help="""Preferred language for output - (use local name, if omitted)""") + help=("Preferred language for output " + "(use local name, if omitted)")) group = parser.add_argument_group('Filter arguments') group.add_argument('--restrict-to-country', metavar='COUNTRY_CODE', help='Export only objects within country') diff --git a/nominatim/clicmd/api.py b/nominatim/clicmd/api.py index 7185d97c..c3e869b8 100644 --- a/nominatim/clicmd/api.py +++ b/nominatim/clicmd/api.py @@ -21,8 +21,8 @@ STRUCTURED_QUERY = ( EXTRADATA_PARAMS = ( ('addressdetails', 'Include a breakdown of the address into elements.'), - ('extratags', """Include additional information if available - (e.g. wikipedia link, opening hours)."""), + ('extratags', ("Include additional information if available " + "(e.g. wikipedia link, opening hours).")), ('namedetails', 'Include a list of alternative names.') ) @@ -49,8 +49,8 @@ def _add_api_output_arguments(parser): choices=['geojson', 'kml', 'svg', 'text'], help='Output geometry of results as a GeoJSON, KML, SVG or WKT.') group.add_argument('--polygon-threshold', type=float, metavar='TOLERANCE', - help="""Simplify output geometry. - Parameter is difference tolerance in degrees.""") + help=("Simplify output geometry." + "Parameter is difference tolerance in degrees.")) class APISearch: @@ -205,8 +205,8 @@ class APIDetails: objs.add_argument('--place_id', '-p', type=int, help='Database internal identifier of the OSM object to look up.') group.add_argument('--class', dest='object_class', - help="""Class type to disambiguated multiple entries - of the same object.""") + help=("Class type to disambiguated multiple entries " + "of the same object.")) group = parser.add_argument_group('Output arguments') for name, desc in DETAILS_SWITCHES: diff --git a/nominatim/clicmd/replication.py b/nominatim/clicmd/replication.py index fc18945e..f9c5561a 100644 --- a/nominatim/clicmd/replication.py +++ b/nominatim/clicmd/replication.py @@ -29,17 +29,17 @@ class UpdateReplication: help='Initialise the update process') group.add_argument('--no-update-functions', dest='update_functions', action='store_false', - help="""Do not update the trigger function to - support differential updates.""") + help=("Do not update the trigger function to " + "support differential updates.")) group = parser.add_argument_group('Arguments for updates') group.add_argument('--check-for-updates', action='store_true', help='Check if new updates are available and exit') group.add_argument('--once', action='store_true', - help="""Download and apply updates only once. When - not set, updates are continuously applied""") + help=("Download and apply updates only once. When " + "not set, updates are continuously applied")) group.add_argument('--no-index', action='store_false', dest='do_index', - help="""Do not index the new data. Only applicable - together with --once""") + help=("Do not index the new data. Only applicable " + "together with --once")) group.add_argument('--osm2pgsql-cache', metavar='SIZE', type=int, help='Size of cache to be used by osm2pgsql (in MB)') group = parser.add_argument_group('Download parameters') diff --git a/nominatim/clicmd/setup.py b/nominatim/clicmd/setup.py index 056643aa..92d06943 100644 --- a/nominatim/clicmd/setup.py +++ b/nominatim/clicmd/setup.py @@ -39,11 +39,11 @@ class SetupAll: group.add_argument('--reverse-only', action='store_true', help='Do not create tables and indexes for searching') group.add_argument('--no-partitions', action='store_true', - help="""Do not partition search indices - (speeds up import of single country extracts)""") + help=("Do not partition search indices " + "(speeds up import of single country extracts)")) group.add_argument('--no-updates', action='store_true', - help="""Do not keep tables that are only needed for - updating the database later""") + help="Do not keep tables that are only needed for " + "updating the database later") 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') -- 2.45.2