@@ -166,16 +166,7 @@ def parse_options(cfg, parser, cmdargs):
parser.add_argument("-V", "--version", dest="rteval___version",
action='store_true', default=False,
help='print rteval version and exit')
- # if the -S/--source-download option doesn't include the version, set version to default
- ind = None
- if sys.argv.count("-S") > 0: ind = sys.argv.index("-S")
- elif sys.argv.count("--source-download") > 0: ind = sys.argv.index("--source-download")
- if ind != None:
- if ind+1 == len(sys.argv):
- sys.argv.insert(ind+1, ModuleParameters()["source"]["default"].strip(".tar.xz"))
- cmdargs.append(sys.argv[ind+1])
-
- parser.add_argument("-S", "--source-download", dest="rteval___srcdownload",
+ parser.add_argument("-S", "--source-download", nargs='*', dest="rteval___srcdownload",
type=str, default=None, metavar="KERNEL_VERSION",
help='download a source kernel from kernel.org and exit (if no version is provided, downloads default kernel)')
@@ -192,7 +183,7 @@ def parse_options(cfg, parser, cmdargs):
ind = cmdargs.index('--summarize')
cmd_args = cmdargs[ind+1:]
cmdargs = cmdargs[:ind+1]
- # if -H/--raw-histogram is specified, add the files to be summarized to cmd_args, and add -Z to cmd_opts
+ # if -H/--raw-histogram is specified, add the files to be summarized to cmd_args, and add -H to cmd_opts
elif (sys.argv.count('-H')+sys.argv.count('--raw-histogram')) > 0:
try:
ind = cmdargs.index('-H')
@@ -200,8 +191,16 @@ def parse_options(cfg, parser, cmdargs):
ind = cmdargs.index('--raw-histogram')
cmd_args = cmdargs[ind+1:]
cmdargs = cmdargs[:ind+1]
+
cmd_opts = parser.parse_args(args=cmdargs)
+ # if no kernel version was provided for --source-download, set version to default
+ if (sys.argv.count('-S')+sys.argv.count('--source-download')) > 0:
+ if cmd_opts.rteval___srcdownload == []:
+ cmd_opts.rteval___srcdownload = ModuleParameters()["source"]["default"].replace(".tar.xz", "")
+ else:
+ cmd_opts.rteval___srcdownload = cmd_opts.rteval___srcdownload[0]
+
if cmd_opts.rteval___version:
print(f"rteval version {RTEVAL_VERSION}")
sys.exit(0)
@@ -299,7 +298,7 @@ if __name__ == '__main__':
cmd_args = parse_options(config, parser, sys.argv[1:])
# download kernel tarball
- if rtevcfg.srcdownload or (sys.argv.count('-S')+sys.argv.count('--source-download')) > 0:
+ if rtevcfg.srcdownload:
logger.log(Log.DEBUG, f"Kernel Version to download = {rtevcfg.srcdownload}")
# handle a kernel version like linux-5.19-rc5
@@ -292,7 +292,7 @@ the information provided by the module"""
def SetupModuleOptions(self, parser, config):
- """Sets up a separate optptarse OptionGroup per module with its supported parameters"""
+ """Sets up a separate argparse ArgumentGroup per module with its supported parameters"""
grparser = parser.add_argument_group("Group Options for %s modules" % self.__modtype)
grparser.add_argument('--%s-cpulist' % self.__modtype,
@@ -451,7 +451,7 @@ class RtEvalModules:
return self.__modules.GetModulesList()
def SetupModuleOptions(self, parser):
- "Sets up optparse based option groups for the loaded modules"
+ "Sets up argparse based option groups for the loaded modules"
return self.__modules.SetupModuleOptions(parser, self._cfg)
def GetNamedModuleObject(self, modname):
@@ -291,7 +291,7 @@ class rtevalConfig:
last_sect = None
for sk, v in sorted(vars(cmd_opts).items()):
- # optparse key template: {sectionname}___{key}
+ # argparse key template: {sectionname}___{key}
k = sk.split('___')
if k[0] != last_sect:
# If the section name changed, retrieve the section variables
@@ -29,7 +29,7 @@
import sys
import getpass
-from optparse import OptionParser
+from argparse import ArgumentParser
from database import Database
def do_delete(dbc, table, rterid):
@@ -45,20 +45,20 @@ def do_delete(dbc, table, rterid):
if __name__ == '__main__':
- parser = OptionParser(version="%prog v0.1")
+ parser = ArgumentParser(version="%prog v0.1")
- parser.add_option("-H", "--host", action="store", dest="dbhost", default="localhost",
+ parser.add_argument("-H", "--host", action="store", dest="dbhost", default="localhost",
help="Database server to connect to (default: %default)",
metavar="HOST")
- parser.add_option("-p", "--port", action="store", dest="dbport", default="5432",
+ parser.add_argument("-p", "--port", action="store", dest="dbport", default="5432",
help="Database server port to use (default: %default)", metavar="PORT")
- parser.add_option("-U", "--user", action="store", dest="dbuser", default="rtevaladmin",
+ parser.add_argument("-U", "--user", action="store", dest="dbuser", default="rtevaladmin",
help="Database user to connect as (default: %default)", metavar="USERNAME")
- parser.add_option("-d", "--database", action="store", dest="dbname", default="rteval",
+ parser.add_argument("-d", "--database", action="store", dest="dbname", default="rteval",
help="Database to use (default: %default)", metavar="DATABASE")
- parser.add_option("-r", "--rterid", action="store", dest="rterid", default=None,
+ parser.add_argument("-r", "--rterid", action="store", dest="rterid", default=None,
help="rteval run id to remove from the database", metavar="INTEGER")
- (opts, args) = parser.parse_args()
+ opts = parser.parse_args()
if opts.rterid is None:
print "%s: Missing --rterid value" % sys.argv[0]
@@ -30,7 +30,6 @@ import sys
import signal
from xmlrpc.server import SimpleXMLRPCServer
from xmlrpc.server import SimpleXMLRPCRequestHandler
-from optparse import OptionParser
import argparse
import xmlrpc_API1
rteval-cmd: Fixed a bug in rteval-cmd which was causing the -S option to throw an error when a kernel version was specified. Also edited comments, and removed excess code. __init__.py, rtevalConfig.py: Edited comments and strings for accuracy. remove_rtevalrun: Replaced optparse for argparse. Edited comments to specify argparse instead of optparse. rtevak_testserver.py: deleted excess code Signed-off-by: Anubhav Shelat <ashelat@redhat.com> --- rteval-cmd | 23 +++++++++++------------ rteval/modules/__init__.py | 4 ++-- rteval/rtevalConfig.py | 2 +- server/remove_rtevalrun | 16 ++++++++-------- server/rteval_testserver.py | 1 - 5 files changed, 22 insertions(+), 24 deletions(-)