mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
liniting of new python code
This commit is contained in:
@@ -1,31 +1,29 @@
|
|||||||
"""
|
"""
|
||||||
Helper functions for executing external programs.
|
Helper functions for executing external programs.
|
||||||
"""
|
"""
|
||||||
from pathlib import Path
|
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
def run_legacy_script(script, *args, nominatim_env=None, throw_on_fail=False):
|
def run_legacy_script(script, *args, nominatim_env=None, throw_on_fail=False):
|
||||||
""" Run a Nominatim PHP script with the given arguments.
|
""" Run a Nominatim PHP script with the given arguments.
|
||||||
|
|
||||||
Returns the exit code of the script. If `throw_on_fail` is True
|
Returns the exit code of the script. If `throw_on_fail` is True
|
||||||
then throw a `CalledProcessError` on a non-zero exit.
|
then throw a `CalledProcessError` on a non-zero exit.
|
||||||
"""
|
"""
|
||||||
cmd = ['/usr/bin/env', 'php', '-Cq',
|
cmd = ['/usr/bin/env', 'php', '-Cq',
|
||||||
nominatim_env.phplib_dir / 'admin' / script]
|
nominatim_env.phplib_dir / 'admin' / script]
|
||||||
cmd.extend([str(a) for a in args])
|
cmd.extend([str(a) for a in args])
|
||||||
|
|
||||||
env = nominatim_env.config.get_os_env()
|
env = nominatim_env.config.get_os_env()
|
||||||
env['NOMINATIM_DATADIR'] = str(nominatim_env.data_dir)
|
env['NOMINATIM_DATADIR'] = str(nominatim_env.data_dir)
|
||||||
env['NOMINATIM_BINDIR'] = str(nominatim_env.data_dir / 'utils')
|
env['NOMINATIM_BINDIR'] = str(nominatim_env.data_dir / 'utils')
|
||||||
if not env['NOMINATIM_DATABASE_MODULE_PATH']:
|
if not env['NOMINATIM_DATABASE_MODULE_PATH']:
|
||||||
env['NOMINATIM_DATABASE_MODULE_PATH'] = nominatim_env.module_dir
|
env['NOMINATIM_DATABASE_MODULE_PATH'] = nominatim_env.module_dir
|
||||||
if not env['NOMINATIM_OSM2PGSQL_BINARY']:
|
if not env['NOMINATIM_OSM2PGSQL_BINARY']:
|
||||||
env['NOMINATIM_OSM2PGSQL_BINARY'] = nominatim_env.osm2pgsql_path
|
env['NOMINATIM_OSM2PGSQL_BINARY'] = nominatim_env.osm2pgsql_path
|
||||||
|
|
||||||
proc = subprocess.run(cmd, cwd=str(nominatim_env.project_dir), env=env)
|
proc = subprocess.run(cmd, cwd=str(nominatim_env.project_dir), env=env)
|
||||||
|
|
||||||
if throw_on_fail:
|
if throw_on_fail:
|
||||||
proc.check_returncode()
|
proc.check_returncode()
|
||||||
|
|
||||||
return proc.returncode
|
|
||||||
|
|
||||||
|
return proc.returncode
|
||||||
|
|||||||
@@ -72,7 +72,19 @@ class CommandlineParser:
|
|||||||
|
|
||||||
args.config = Configuration(args.project_dir, args.data_dir / 'settings')
|
args.config = Configuration(args.project_dir, args.data_dir / 'settings')
|
||||||
|
|
||||||
args.command.run(args)
|
return args.command.run(args)
|
||||||
|
|
||||||
|
##### Subcommand classes
|
||||||
|
#
|
||||||
|
# Each class needs to implement two functions: add_args() adds the CLI parameters
|
||||||
|
# for the subfunction, run() executes the subcommand.
|
||||||
|
#
|
||||||
|
# The class documentation doubles as the help text for the command. The
|
||||||
|
# first line is also used in the summary when calling the program without
|
||||||
|
# a subcommand.
|
||||||
|
#
|
||||||
|
# No need to document the functions each time.
|
||||||
|
# pylint: disable=C0111
|
||||||
|
|
||||||
|
|
||||||
class SetupAll:
|
class SetupAll:
|
||||||
@@ -180,7 +192,7 @@ class SetupSpecialPhrases:
|
|||||||
def run(args):
|
def run(args):
|
||||||
if args.output.name != '<stdout>':
|
if args.output.name != '<stdout>':
|
||||||
raise NotImplementedError('Only output to stdout is currently implemented.')
|
raise NotImplementedError('Only output to stdout is currently implemented.')
|
||||||
return run_legacy_script('specialphrases.php', '--wiki-import' , nominatim_env=args)
|
return run_legacy_script('specialphrases.php', '--wiki-import', nominatim_env=args)
|
||||||
|
|
||||||
|
|
||||||
class UpdateReplication:
|
class UpdateReplication:
|
||||||
@@ -213,7 +225,7 @@ class UpdateReplication:
|
|||||||
if args.init:
|
if args.init:
|
||||||
params.append('--init-updates')
|
params.append('--init-updates')
|
||||||
if not args.update_functions:
|
if not args.update_functions:
|
||||||
params.apend('--no-update-functions')
|
params.append('--no-update-functions')
|
||||||
elif args.check_for_updates:
|
elif args.check_for_updates:
|
||||||
params.append('--check-for-updates')
|
params.append('--check-for-updates')
|
||||||
else:
|
else:
|
||||||
@@ -260,7 +272,7 @@ class UpdateAddData:
|
|||||||
if args.tiger_data:
|
if args.tiger_data:
|
||||||
return run_legacy_script('setup.php', '--import-tiger-data', nominatim_env=args)
|
return run_legacy_script('setup.php', '--import-tiger-data', nominatim_env=args)
|
||||||
|
|
||||||
params = [ 'update.php']
|
params = ['update.php']
|
||||||
if args.file:
|
if args.file:
|
||||||
params.extend(('--import-file', args.file))
|
params.extend(('--import-file', args.file))
|
||||||
elif args.diff:
|
elif args.diff:
|
||||||
@@ -270,7 +282,7 @@ class UpdateAddData:
|
|||||||
elif args.way:
|
elif args.way:
|
||||||
params.extend(('--import-way', args.way))
|
params.extend(('--import-way', args.way))
|
||||||
elif args.relation:
|
elif args.relation:
|
||||||
params.extend(('--import-relation' , args.relation))
|
params.extend(('--import-relation', args.relation))
|
||||||
if args.use_main_api:
|
if args.use_main_api:
|
||||||
params.append('--use-main-api')
|
params.append('--use-main-api')
|
||||||
return run_legacy_script(*params, nominatim_env=args)
|
return run_legacy_script(*params, nominatim_env=args)
|
||||||
@@ -435,11 +447,11 @@ class QueryExport:
|
|||||||
if args.restrict_to_country:
|
if args.restrict_to_country:
|
||||||
params.extend(('--restrict-to-country', args.restrict_to_country))
|
params.extend(('--restrict-to-country', args.restrict_to_country))
|
||||||
if args.restrict_to_osm_node:
|
if args.restrict_to_osm_node:
|
||||||
params.exted(('--restrict-to-osm-node', args.restrict_to_osm_node))
|
params.extend(('--restrict-to-osm-node', args.restrict_to_osm_node))
|
||||||
if args.restrict_to_osm_way:
|
if args.restrict_to_osm_way:
|
||||||
params.exted(('--restrict-to-osm-way', args.restrict_to_osm_way))
|
params.extend(('--restrict-to-osm-way', args.restrict_to_osm_way))
|
||||||
if args.restrict_to_osm_relation:
|
if args.restrict_to_osm_relation:
|
||||||
params.exted(('--restrict-to-osm-relation', args.restrict_to_osm_relation))
|
params.extend(('--restrict-to-osm-relation', args.restrict_to_osm_relation))
|
||||||
|
|
||||||
return run_legacy_script(*params, nominatim_env=args)
|
return run_legacy_script(*params, nominatim_env=args)
|
||||||
|
|
||||||
@@ -451,7 +463,8 @@ class QueryTodo:
|
|||||||
def add_args(parser):
|
def add_args(parser):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def run(args):
|
@staticmethod
|
||||||
|
def run(args): # pylint: disable=W0613
|
||||||
print("TODO: searching")
|
print("TODO: searching")
|
||||||
|
|
||||||
|
|
||||||
@@ -482,4 +495,4 @@ def nominatim(**kwargs):
|
|||||||
parser.add_subcommand('details', QueryTodo)
|
parser.add_subcommand('details', QueryTodo)
|
||||||
parser.add_subcommand('status', QueryTodo)
|
parser.add_subcommand('status', QueryTodo)
|
||||||
|
|
||||||
parser.run(**kwargs)
|
return parser.run(**kwargs)
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
"""
|
"""
|
||||||
Nominatim configuration accessor.
|
Nominatim configuration accessor.
|
||||||
"""
|
"""
|
||||||
import sys
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from dotenv import dotenv_values
|
from dotenv import dotenv_values
|
||||||
|
|||||||
Reference in New Issue
Block a user