]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/cli.py
add simple tests for CLI parsing
[nominatim.git] / nominatim / cli.py
index 34b19d7da41205142a90483b2a3bb86d5046f7be..75790b13917024089e8d74102c10a574df6ba25a 100644 (file)
@@ -68,10 +68,11 @@ class CommandlineParser:
         """ Parse the command line arguments of the program and execute the
             appropriate subcommand.
         """
-        args = self.parser.parse_args()
+        args = self.parser.parse_args(args=kwargs.get('cli_args'))
 
         if args.subcommand is None:
-            return self.parser.print_help()
+            self.parser.print_help()
+            return 1
 
         for arg in ('module_dir', 'osm2pgsql_path', 'phplib_dir', 'data_dir', 'phpcgi_path'):
             setattr(args, arg, Path(kwargs[arg]))
@@ -196,13 +197,12 @@ class SetupSpecialPhrases:
                            help='Pull special phrases from the OSM wiki.')
         group = parser.add_argument_group('Output arguments')
         group.add_argument('-o', '--output', default='-',
-                           type=argparse.FileType('w', encoding='UTF-8'),
                            help="""File to write the preprocessed phrases to.
                                    If omitted, it will be written to stdout.""")
 
     @staticmethod
     def run(args):
-        if args.output.name != '<stdout>':
+        if args.output != '-':
             raise NotImplementedError('Only output to stdout is currently implemented.')
         return run_legacy_script('specialphrases.php', '--wiki-import', nominatim_env=args)
 
@@ -494,7 +494,7 @@ STRUCTURED_QUERY = (
     ('county', 'county'),
     ('state', 'state'),
     ('country', 'country'),
-    ('postcalcode', 'postcode')
+    ('postalcode', 'postcode')
 )
 
 EXTRADATA_PARAMS = (