]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/cli.py
Vagrant and CI tests for Ubuntu 22.04
[nominatim.git] / nominatim / cli.py
index 2ddf5882376dab7b4174112016695dfb5d647a8d..f911023b9507fd99fb6115d0c6f015dd9a959088 100644 (file)
@@ -38,8 +38,7 @@ class CommandlineParser:
                                                dest='subcommand')
 
         # Global arguments that only work if no sub-command given
                                                dest='subcommand')
 
         # Global arguments that only work if no sub-command given
-        self.parser.add_argument('--version', action='version',
-                                 version=CommandlineParser.nominatim_version_text(),
+        self.parser.add_argument('--version', action='store_true',
                                  help='Print Nominatim version and exit')
 
         # Arguments added to every sub-command
                                  help='Print Nominatim version and exit')
 
         # Arguments added to every sub-command
@@ -61,7 +60,10 @@ class CommandlineParser:
     def nominatim_version_text():
         """ Program name and version number as string
         """
     def nominatim_version_text():
         """ Program name and version number as string
         """
-        return "Nominatim version %s.%s.%s.%s\n" % version.NOMINATIM_VERSION
+        text = f'Nominatim version {version.version_str()}'
+        if version.GIT_COMMIT_HASH is not None:
+            text += f' ({version.GIT_COMMIT_HASH})'
+        return text
 
     def add_subcommand(self, name, cmd):
         """ Add a subcommand to the parser. The subcommand must be a class
 
     def add_subcommand(self, name, cmd):
         """ Add a subcommand to the parser. The subcommand must be a class
@@ -86,6 +88,10 @@ class CommandlineParser:
         except SystemExit:
             return 1
 
         except SystemExit:
             return 1
 
+        if args.version:
+            print(CommandlineParser.nominatim_version_text())
+            return 0
+
         if args.subcommand is None:
             self.parser.print_help()
             return 1
         if args.subcommand is None:
             self.parser.print_help()
             return 1