]> git.openstreetmap.org Git - nominatim.git/commitdiff
liniting of new python code
authorSarah Hoffmann <lonvia@denofr.de>
Thu, 14 Jan 2021 09:19:21 +0000 (10:19 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Thu, 14 Jan 2021 09:19:21 +0000 (10:19 +0100)
nominatim/admin/exec_utils.py
nominatim/cli.py
nominatim/config.py

index bcacf610bb68da898100278c439693fa49b04d4d..f3f59dea9cbd26c73670da1f1ae1586540ee8f32 100644 (file)
@@ -1,31 +1,29 @@
 """
 Helper functions for executing external programs.
 """
-from pathlib import Path
 import subprocess
 
 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
-            then throw a `CalledProcessError` on a non-zero exit.
-        """
-        cmd = ['/usr/bin/env', 'php', '-Cq',
-               nominatim_env.phplib_dir / 'admin' / script]
-        cmd.extend([str(a) for a in args])
+        Returns the exit code of the script. If `throw_on_fail` is True
+        then throw a `CalledProcessError` on a non-zero exit.
+    """
+    cmd = ['/usr/bin/env', 'php', '-Cq',
+           nominatim_env.phplib_dir / 'admin' / script]
+    cmd.extend([str(a) for a in args])
 
-        env = nominatim_env.config.get_os_env()
-        env['NOMINATIM_DATADIR'] = str(nominatim_env.data_dir)
-        env['NOMINATIM_BINDIR'] = str(nominatim_env.data_dir / 'utils')
-        if not env['NOMINATIM_DATABASE_MODULE_PATH']:
-            env['NOMINATIM_DATABASE_MODULE_PATH'] = nominatim_env.module_dir
-        if not env['NOMINATIM_OSM2PGSQL_BINARY']:
-            env['NOMINATIM_OSM2PGSQL_BINARY'] = nominatim_env.osm2pgsql_path
+    env = nominatim_env.config.get_os_env()
+    env['NOMINATIM_DATADIR'] = str(nominatim_env.data_dir)
+    env['NOMINATIM_BINDIR'] = str(nominatim_env.data_dir / 'utils')
+    if not env['NOMINATIM_DATABASE_MODULE_PATH']:
+        env['NOMINATIM_DATABASE_MODULE_PATH'] = nominatim_env.module_dir
+    if not env['NOMINATIM_OSM2PGSQL_BINARY']:
+        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:
-            proc.check_returncode()
-
-        return proc.returncode
+    if throw_on_fail:
+        proc.check_returncode()
 
+    return proc.returncode
index 9d1e36d1f4fcf1897e48a79dbc7e8172b787df0f..62299e9f985eb58518187e8faed26ff1cd4f767c 100644 (file)
@@ -72,7 +72,19 @@ class CommandlineParser:
 
         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:
@@ -180,7 +192,7 @@ class SetupSpecialPhrases:
     def run(args):
         if args.output.name != '<stdout>':
             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:
@@ -213,7 +225,7 @@ class UpdateReplication:
         if args.init:
             params.append('--init-updates')
             if not args.update_functions:
-                params.apend('--no-update-functions')
+                params.append('--no-update-functions')
         elif args.check_for_updates:
             params.append('--check-for-updates')
         else:
@@ -260,7 +272,7 @@ class UpdateAddData:
         if args.tiger_data:
             return run_legacy_script('setup.php', '--import-tiger-data', nominatim_env=args)
 
-        params = [ 'update.php']
+        params = ['update.php']
         if args.file:
             params.extend(('--import-file', args.file))
         elif args.diff:
@@ -270,7 +282,7 @@ class UpdateAddData:
         elif args.way:
             params.extend(('--import-way', args.way))
         elif args.relation:
-            params.extend(('--import-relation' , args.relation))
+            params.extend(('--import-relation', args.relation))
         if args.use_main_api:
             params.append('--use-main-api')
         return run_legacy_script(*params, nominatim_env=args)
@@ -435,11 +447,11 @@ class QueryExport:
         if args.restrict_to_country:
             params.extend(('--restrict-to-country', args.restrict_to_country))
         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:
-            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:
-            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)
 
@@ -451,7 +463,8 @@ class QueryTodo:
     def add_args(parser):
         pass
 
-    def run(args):
+    @staticmethod
+    def run(args): # pylint: disable=W0613
         print("TODO: searching")
 
 
@@ -482,4 +495,4 @@ def nominatim(**kwargs):
     parser.add_subcommand('details', QueryTodo)
     parser.add_subcommand('status', QueryTodo)
 
-    parser.run(**kwargs)
+    return parser.run(**kwargs)
index 4fa887a1d10e84baefa5721ae28500a703dda7b3..0a595374eeb1414f61142a85b313a6ab86506f21 100644 (file)
@@ -1,7 +1,6 @@
 """
 Nominatim configuration accessor.
 """
-import sys
 import os
 
 from dotenv import dotenv_values