Contributed-under: TianoCore Contribution Agreement 1.0
[mirror_edk2.git] / BaseTools / Source / Python / Rsa2048Sha256Sign / Rsa2048Sha256Sign.py
index b4c9aa4ce4a5d001f2f53c741a9533c2a3a30007..b83c9d4d42c43bc163c05417a5d67f51c8f7891d 100644 (file)
@@ -25,6 +25,15 @@ import subprocess
 import uuid\r
 import struct\r
 import collections\r
+from Common.BuildVersion import gBUILD_VERSION\r
+\r
+#\r
+# Globals for help information\r
+#\r
+__prog__      = 'Rsa2048Sha256Sign'\r
+__version__   = '%s Version %s' % (__prog__, '0.9 ' + gBUILD_VERSION)\r
+__copyright__ = 'Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.'\r
+__usage__     = '%s -e|-d [options] <input_file>' % (__prog__)\r
 \r
 #\r
 # GUID for SHA 256 Hash Algorithm from UEFI Specification\r
@@ -49,20 +58,10 @@ EFI_CERT_BLOCK_RSA_2048_SHA256_STRUCT = struct.Struct('16s256s256s')
 TEST_SIGNING_PRIVATE_KEY_FILENAME = 'TestSigningPrivateKey.pem'\r
 \r
 if __name__ == '__main__':\r
-  #\r
-  # Save name of the program\r
-  #\r
-  ProgramName = sys.argv[0]\r
-  \r
-  #\r
-  # Print copyright \r
-  #\r
-  print '%s - Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.' % (ProgramName)\r
-  \r
   #\r
   # Create command line argument parser object\r
   #  \r
-  parser = argparse.ArgumentParser(prog=ProgramName, usage='%(prog)s -e|-d [options] <input_file>', add_help=False)\r
+  parser = argparse.ArgumentParser(prog=__prog__, version=__version__, usage=__usage__, description=__copyright__, conflict_handler='resolve')\r
   group = parser.add_mutually_exclusive_group(required=True)\r
   group.add_argument("-e", action="store_true", dest='Encode', help='encode file')\r
   group.add_argument("-d", action="store_true", dest='Decode', help='decode file')\r
@@ -71,8 +70,6 @@ if __name__ == '__main__':
   parser.add_argument("-v", "--verbose", dest='Verbose', action="store_true", help="increase output messages")\r
   parser.add_argument("-q", "--quiet", dest='Quiet', action="store_true", help="reduce output messages")\r
   parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0,10), default=0, help="set debug level")\r
-  parser.add_argument("--version", dest='Version', action="store_true", help="display the program version and exit")\r
-  parser.add_argument("-h", "--help", dest='Help', action="help", help="display this help text")\r
   parser.add_argument(metavar="input_file", dest='InputFile', type=argparse.FileType('rb'), help="specify the input filename")\r
 \r
   #\r