Browse code

optparse is deprecated since version 2.7. Replaced it with argparse.

Change-Id: Icbe833f19e7b9f1ff90a352738f6954c40234a47
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/1818
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Divya Thaluru <dthaluru@vmware.com>

xiaolin-vmware authored on 2017/01/25 04:59:19
Showing 3 changed files
... ...
@@ -4,7 +4,7 @@
4 4
 #
5 5
 #    Author: Mahmoud Bassiouny <mbassiouny@vmware.com>
6 6
 
7
-from optparse import OptionParser
7
+from argparse import ArgumentParser
8 8
 import os.path
9 9
 import curses
10 10
 import sys
... ...
@@ -331,8 +331,8 @@ class IsoInstaller(object):
331 331
 
332 332
 if __name__ == '__main__':
333 333
     usage = "Usage: %prog [options]"
334
-    parser = OptionParser(usage)
335
-    parser.add_option("-j",  "--json-file", dest="options_file",  default="input.json")
334
+    parser = ArgumentParser(usage)
335
+    parser.add_argument("-j",  "--json-file", dest="options_file",  default="input.json")
336 336
 
337
-    (options,  args) = parser.parse_args()
337
+    options = parser.parse_args()
338 338
     curses.wrapper(IsoInstaller, options.options_file)
... ...
@@ -4,7 +4,7 @@
4 4
 #
5 5
 #    Author: Mahmoud Bassiouny <mbassiouny@vmware.com>
6 6
 
7
-from optparse import OptionParser
7
+from argparse import ArgumentParser
8 8
 from installer import Installer
9 9
 import crypt
10 10
 import random
... ...
@@ -169,24 +169,23 @@ def make_src_iso(working_directory, src_iso_path, rpm_list):
169 169
 
170 170
 if __name__ == '__main__':
171 171
     usage = "Usage: %prog [options] <config file> <tools path>"
172
-    parser = OptionParser(usage)
173
-
174
-    parser.add_option("-i", "--iso-path",  dest="iso_path")
175
-    parser.add_option("-j", "--src-iso-path",  dest="src_iso_path")
176
-    parser.add_option("-v", "--vmdk-path", dest="vmdk_path")
177
-    parser.add_option("-w",  "--working-directory",  dest="working_directory", default="/mnt/photon-root")
178
-    parser.add_option("-l",  "--log-path",  dest="log_path", default="../stage/LOGS")
179
-    parser.add_option("-r",  "--rpm-path",  dest="rpm_path", default="../stage/RPMS")
180
-    parser.add_option("-x",  "--srpm-path",  dest="srpm_path", default="../stage/SRPMS")
181
-    parser.add_option("-o", "--output-data-path", dest="output_data_path", default="../stage/common/data/")
182
-    parser.add_option("-f", "--force", action="store_true", dest="force", default=False)
183
-    parser.add_option("-p", "--package-list-file", dest="package_list_file", default="../common/data/build_install_options_all.json")
184
-    parser.add_option("-m", "--stage-path", dest="stage_path", default="../stage")
185
-    parser.add_option("-s", "--json-data-path", dest="json_data_path", default="../stage/common/data/")
186
-    parser.add_option("-d", "--pkg-to-rpm-map-file", dest="pkg_to_rpm_map_file", default="../stage/pkg_info.json")
187
-    parser.add_option("-c", "--pkg-to-be-copied-conf-file", dest="pkg_to_be_copied_conf_file")
188
-
189
-    (options,  args) = parser.parse_args()
172
+    parser = ArgumentParser(usage)
173
+    parser.add_argument("-i", "--iso-path",  dest="iso_path")
174
+    parser.add_argument("-j", "--src-iso-path",  dest="src_iso_path")
175
+    parser.add_argument("-v", "--vmdk-path", dest="vmdk_path")
176
+    parser.add_argument("-w",  "--working-directory",  dest="working_directory", default="/mnt/photon-root")
177
+    parser.add_argument("-l",  "--log-path",  dest="log_path", default="../stage/LOGS")
178
+    parser.add_argument("-r",  "--rpm-path",  dest="rpm_path", default="../stage/RPMS")
179
+    parser.add_argument("-x",  "--srpm-path",  dest="srpm_path", default="../stage/SRPMS")
180
+    parser.add_argument("-o", "--output-data-path", dest="output_data_path", default="../stage/common/data/")
181
+    parser.add_argument("-f", "--force", action="store_true", dest="force", default=False)
182
+    parser.add_argument("-p", "--package-list-file", dest="package_list_file", default="../common/data/build_install_options_all.json")
183
+    parser.add_argument("-m", "--stage-path", dest="stage_path", default="../stage")
184
+    parser.add_argument("-s", "--json-data-path", dest="json_data_path", default="../stage/common/data/")
185
+    parser.add_argument("-d", "--pkg-to-rpm-map-file", dest="pkg_to_rpm_map_file", default="../stage/pkg_info.json")
186
+    parser.add_argument("-c", "--pkg-to-be-copied-conf-file", dest="pkg_to_be_copied_conf_file")
187
+    parser.add_argument('configfile', nargs='?')
188
+    options = parser.parse_args()
190 189
     # Cleanup the working directory
191 190
     if not options.force:
192 191
         proceed = query_yes_no("This will remove everything under {0}. Are you sure?".format(options.working_directory))
... ...
@@ -200,7 +199,7 @@ if __name__ == '__main__':
200 200
     else:
201 201
         if options.iso_path:
202 202
             # Check the arguments
203
-            if (len(args)) != 0:
203
+            if options.configfile:
204 204
                 parser.error("Incorrect arguments")
205 205
             config = {}
206 206
             config['iso_system'] = True
... ...
@@ -209,11 +208,11 @@ if __name__ == '__main__':
209 209
 
210 210
         elif options.vmdk_path:
211 211
             # Check the arguments
212
-            if (len(args)) != 1:
212
+            if not options.configfile:
213 213
                 parser.error("Incorrect arguments")
214 214
 
215 215
             # Read the conf file
216
-            config = (JsonWrapper(args[0])).read()
216
+            config = (JsonWrapper(options.configfile)).read()
217 217
             config['disk'], success = create_vmdk_and_partition(config, options.vmdk_path)
218 218
             if not success:
219 219
                 print "Unexpected failure, please check the logs"
... ...
@@ -224,11 +223,11 @@ if __name__ == '__main__':
224 224
 
225 225
         else:
226 226
             # Check the arguments
227
-            if (len(args)) != 1:
227
+            if not options.configfile:
228 228
                 parser.error("Incorrect arguments")
229 229
 
230 230
             # Read the conf file
231
-            config = (JsonWrapper(args[0])).read()
231
+            config = (JsonWrapper(options.configfile)).read()
232 232
 
233 233
             config['iso_system'] = False
234 234
             config['vmdk_install'] = False
... ...
@@ -1,6 +1,6 @@
1 1
 #!/usr/bin/env python
2 2
 
3
-from optparse import OptionParser
3
+from argparse import ArgumentParser
4 4
 import os.path
5 5
 from CommandUtils import CommandUtils
6 6
 from Logger import Logger
... ...
@@ -16,29 +16,30 @@ from PackageInfo import PackageInfo
16 16
 
17 17
 def main():
18 18
     usage = "Usage: %prog [options] <package name>"
19
-    parser = OptionParser(usage)
20
-    parser.add_option("-s",  "--spec-path",  dest="specPath",  default="../../SPECS")
21
-    parser.add_option("-x",  "--source-path",  dest="sourcePath",  default="../../stage/SOURCES")
22
-    parser.add_option("-r",  "--rpm-path",  dest="rpmPath",  default="../../stage/RPMS")
23
-    parser.add_option("-i",  "--install-package", dest="installPackage",  default=False,  action ="store_true")
24
-    parser.add_option("-p",  "--publish-RPMS-path", dest="publishRPMSPath",  default="../../stage/PUBLISHRPMS")
25
-    parser.add_option("-l",  "--log-path", dest="logPath",  default="../../stage/LOGS")
26
-    parser.add_option("-z",  "--top-dir-path", dest="topDirPath",  default="/usr/src/photon")
27
-    parser.add_option("-b",  "--build-root-path", dest="buildRootPath",  default="/mnt")
28
-    parser.add_option("-t",  "--threads", dest="buildThreads",  default=1, type="int", help="Number of working threads")
29
-    parser.add_option("-m",  "--tool-chain-stage", dest="toolChainStage",  default="None")
30
-    parser.add_option("-c",  "--pullsources-config", dest="pullsourcesConfig",  default="pullsources.conf")
31
-    parser.add_option("-d",  "--dist", dest="dist",  default="")
32
-    parser.add_option("-k",  "--input-RPMS-path", dest="inputRPMSPath",   default=None)
33
-    parser.add_option("-n",  "--build-number", dest="buildNumber",  default="0000000")
34
-    parser.add_option("-v",  "--release-version", dest="releaseVersion",  default="NNNnNNN")
35
-    parser.add_option("-u",  "--enable-rpmcheck", dest="rpmCheck",  default=False, action ="store_true")
36
-    parser.add_option("-a",  "--source-rpm-path",  dest="sourceRpmPath",  default="../../stage/SRPMS")
37
-    parser.add_option("-w",  "--pkginfo-file",  dest="pkgInfoFile",  default="../../stage/pkg_info.json")
38
-    parser.add_option("-g",  "--pkg-build-option-file",  dest="pkgBuildOptionFile",  default="../../common/data/pkg_build_options.json")
39
-    parser.add_option("-q",  "--rpmcheck-stop-on-error", dest="rpmCheckStopOnError",  default=False, action ="store_true")
40
-
41
-    (options,  args) = parser.parse_args()
19
+    parser = ArgumentParser(usage)
20
+    parser.add_argument("-s",  "--spec-path",  dest="specPath",  default="../../SPECS")
21
+    parser.add_argument("-x",  "--source-path",  dest="sourcePath",  default="../../stage/SOURCES")
22
+    parser.add_argument("-r",  "--rpm-path",  dest="rpmPath",  default="../../stage/RPMS")
23
+    parser.add_argument("-i",  "--install-package", dest="installPackage",  default=False,  action ="store_true")
24
+    parser.add_argument("-p",  "--publish-RPMS-path", dest="publishRPMSPath",  default="../../stage/PUBLISHRPMS")
25
+    parser.add_argument("-l",  "--log-path", dest="logPath",  default="../../stage/LOGS")
26
+    parser.add_argument("-z",  "--top-dir-path", dest="topDirPath",  default="/usr/src/photon")
27
+    parser.add_argument("-b",  "--build-root-path", dest="buildRootPath",  default="/mnt")
28
+    parser.add_argument("-t",  "--threads", dest="buildThreads",  default=1, type=int, help="Number of working threads")
29
+    parser.add_argument("-m",  "--tool-chain-stage", dest="toolChainStage",  default="None")
30
+    parser.add_argument("-c",  "--pullsources-config", dest="pullsourcesConfig",  default="pullsources.conf")
31
+    parser.add_argument("-d",  "--dist", dest="dist",  default="")
32
+    parser.add_argument("-k",  "--input-RPMS-path", dest="inputRPMSPath",   default=None)
33
+    parser.add_argument("-n",  "--build-number", dest="buildNumber",  default="0000000")
34
+    parser.add_argument("-v",  "--release-version", dest="releaseVersion",  default="NNNnNNN")
35
+    parser.add_argument("-u",  "--enable-rpmcheck", dest="rpmCheck",  default=False, action ="store_true")
36
+    parser.add_argument("-a",  "--source-rpm-path",  dest="sourceRpmPath",  default="../../stage/SRPMS")
37
+    parser.add_argument("-w",  "--pkginfo-file",  dest="pkgInfoFile",  default="../../stage/pkg_info.json")
38
+    parser.add_argument("-g",  "--pkg-build-option-file",  dest="pkgBuildOptionFile",  default="../../common/data/pkg_build_options.json")
39
+    parser.add_argument("-q",  "--rpmcheck-stop-on-error", dest="rpmCheckStopOnError",  default=False, action ="store_true")
40
+
41
+    parser.add_argument("PackageName", nargs='?')
42
+    options = parser.parse_args()
42 43
     cmdUtils=CommandUtils()
43 44
     if not os.path.isdir(options.logPath):
44 45
         cmdUtils.runCommandInShell("mkdir -p "+options.logPath)
... ...
@@ -72,11 +73,11 @@ def main():
72 72
         errorFlag = True
73 73
 
74 74
     if options.installPackage :
75
-        if len(args) != 1:
75
+        if not options.PackageName:
76 76
             logger.error("Please provide package name")
77 77
             errorFlag = True
78 78
         else:
79
-            package=args[0]
79
+            package=options.PackageName
80 80
 
81 81
     if errorFlag:
82 82
         logger.error("Found some errors. Please fix input options and re-run it.")