Skip to content

Commit fede077

Browse files
committed
Update pki.server.cli.migrate to use argparse
1 parent 4ca8bf8 commit fede077

File tree

1 file changed

+32
-35
lines changed

1 file changed

+32
-35
lines changed

base/server/python/pki/server/cli/migrate.py

+32-35
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,10 @@
1818
# All rights reserved.
1919
#
2020

21-
from __future__ import absolute_import
22-
from __future__ import print_function
23-
24-
import getopt
21+
import argparse
2522
import logging
2623
import sys
2724

28-
from lxml import etree
29-
3025
import pki.cli
3126
import pki.nssdb
3227
import pki.server.instance
@@ -40,7 +35,25 @@ class MigrateCLI(pki.cli.CLI):
4035
def __init__(self):
4136
super().__init__('migrate', 'Migrate system')
4237

43-
self.parser = etree.XMLParser(remove_blank_text=True)
38+
self.parser = argparse.ArgumentParser(
39+
prog=self.name,
40+
add_help=False)
41+
self.parser.add_argument(
42+
'-i',
43+
'--instance')
44+
self.parser.add_argument(
45+
'-v',
46+
'--verbose',
47+
action='store_true')
48+
self.parser.add_argument(
49+
'--debug',
50+
action='store_true')
51+
self.parser.add_argument(
52+
'--help',
53+
action='store_true')
54+
self.parser.add_argument(
55+
'instance_name',
56+
nargs='?')
4457

4558
def print_help(self):
4659
print('Usage: pki-server migrate [OPTIONS] [<instance ID>]')
@@ -52,39 +65,23 @@ def print_help(self):
5265
print()
5366

5467
def execute(self, argv):
55-
try:
56-
opts, args = getopt.gnu_getopt(argv, 'i:v', [
57-
'instance=',
58-
'verbose', 'debug', 'help'])
59-
60-
except getopt.GetoptError as e:
61-
logger.error(e)
62-
self.print_help()
63-
sys.exit(1)
64-
65-
instance_name = None
6668

67-
for o, a in opts:
68-
if o in ('-i', '--instance'):
69-
instance_name = a
69+
args = self.parser.parse_args(args=argv)
7070

71-
elif o == '--debug':
72-
logging.getLogger().setLevel(logging.DEBUG)
73-
74-
elif o in ('-v', '--verbose'):
75-
logging.getLogger().setLevel(logging.INFO)
71+
if args.help:
72+
self.print_help()
73+
return
7674

77-
elif o == '--help':
78-
self.print_help()
79-
sys.exit()
75+
if args.debug:
76+
logging.getLogger().setLevel(logging.DEBUG)
8077

81-
else:
82-
logger.error('Unknown option: %s', o)
83-
self.print_help()
84-
sys.exit(1)
78+
elif args.verbose:
79+
logging.getLogger().setLevel(logging.INFO)
8580

86-
if len(args) > 0:
87-
instance_name = args[0]
81+
if args.instance_name:
82+
instance_name = args.instance_name
83+
else:
84+
instance_name = args.instance
8885

8986
if instance_name:
9087

0 commit comments

Comments
 (0)