diff options
author | Rob Austein <sra@hactrn.net> | 2014-01-10 22:39:40 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2014-01-10 22:39:40 +0000 |
commit | 419c3b84c02bd6ab89a36be953136736fc92bdc2 (patch) | |
tree | fa8a2b8ec00f7577292f0651166a027ef0de0858 /scripts | |
parent | 13d6be442c0d07397d9b7383a0c53fe9e7d2dd93 (diff) |
Even more getopt -> argparse.
svn path=/trunk/; revision=5627
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/extract-key.py | 70 |
1 files changed, 21 insertions, 49 deletions
diff --git a/scripts/extract-key.py b/scripts/extract-key.py index 402d65d8..b85c3d55 100644 --- a/scripts/extract-key.py +++ b/scripts/extract-key.py @@ -1,17 +1,19 @@ # $Id$ -# -# Copyright (C) 2008 American Registry for Internet Numbers ("ARIN") + +# Copyright (C) 2014 Dragon Research Labs ("DRL") +# Portions copyright (C) 2008 American Registry for Internet Numbers ("ARIN") # # Permission to use, copy, modify, and distribute this software for any # purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. +# copyright notices and this permission notice appear in all copies. # -# THE SOFTWARE IS PROVIDED "AS IS" AND ARIN DISCLAIMS ALL WARRANTIES WITH -# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -# AND FITNESS. IN NO EVENT SHALL ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, -# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +# THE SOFTWARE IS PROVIDED "AS IS" AND DRL AND AND ARIN DISCLAIM ALL +# WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DRL OR +# ARIN BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +# DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA +# OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. """ @@ -24,20 +26,11 @@ MySQL. This script is just a convenience, it doesn't enable anything that couldn't be done via the mysql command line tool. While we're at this we also extract the corresponding certificate. - -Usage: python extract-key.py [ { -s | --self } self_handle ] - [ { -b | --bsc } bsc_handle ] - [ { -u | --user } mysql_user_id ] - [ { -d | --db } mysql_database ] - [ { -p | --password } mysql_password ] - [ { -h | --help } ] - -Default for both user and db is "rpki". """ import os import time -import getopt +import argparse import sys import MySQLdb import rpki.x509 @@ -45,36 +38,15 @@ import rpki.x509 os.environ["TZ"] = "UTC" time.tzset() -def usage(code): - print __doc__ - sys.exit(code) - -self_handle = None -bsc_handle = None - -user = "rpki" -passwd = "fnord" -db = "rpki" - -opts, argv = getopt.getopt(sys.argv[1:], "s:b:u:p:d:h?", - ["self=", "bsc=", "user=", "password=", "db=", "help"]) -for o, a in opts: - if o in ("-h", "--help", "-?"): - usage(0) - elif o in ("-s", "--self"): - self_handle = a - elif o in ("-b", "--bsc"): - bsc_handle = a - elif o in ("-u", "--user"): - user = a - elif o in ("-p", "--password"): - passwd = a - elif o in ("-d", "--db"): - db = a -if argv: - usage(1) +parser = argparse.ArgumentParser(description = __doc__) +parser.add_argument("-s", "--self", required = True, help = "self handle") +parser.add_argument("-b", "--bsc", required = True, help = "BSC handle") +parser.add_argument("-u", "--user", required = True, help = "MySQL user name") +parser.add_argument("-d", "--db", required = True, help = "MySQL database name") +parser.add_argument("-p", "--password", required = True, help = "MySQL password") +args = parser.parse_args() -cur = MySQLdb.connect(user = user, db = db, passwd = passwd).cursor() +cur = MySQLdb.connect(user = args.user, db = args.db, passwd = args.password).cursor() cur.execute( """ @@ -82,7 +54,7 @@ cur.execute( FROM bsc, self WHERE self.self_handle = %s AND self.self_id = bsc.self_id AND bsc_handle = %s """, - (self_handle, bsc_handle)) + (args.self, args.bsc)) key, cer = cur.fetchone() |