Skip to content

Commit 4ff4842

Browse files
committed
extract common code for keystore arguments
1 parent 7e33764 commit 4ff4842

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+374
-669
lines changed

src/keri/app/cli/commands/aid.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,18 @@
99
from hio.base import doing
1010

1111
from keri import help
12-
from keri.app.cli.common import existing
12+
from keri.app.cli.common import existing
13+
14+
from keri.app.cli.common.parsing import Parsery
1315
from keri.kering import ConfigurationError
1416

1517
logger = help.ogler.getLogger()
1618

17-
parser = argparse.ArgumentParser(description='Print the AID for a given alias')
18-
parser.set_defaults(handler=lambda args: handler(args),
19-
transferable=True)
20-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
21-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
22-
required=False, default="")
19+
parser = argparse.ArgumentParser(description='Print the AID for a given alias', parents=[Parsery.keystore()])
20+
parser.set_defaults(handler=lambda args: handler(args))
21+
2322
parser.add_argument('--alias', '-a', help='human readable alias for the new identifier prefix', default=None,
2423
required=True)
25-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
26-
dest="bran", default=None) # passcode => bran
2724

2825

2926
def handler(args):

src/keri/app/cli/commands/challenge/respond.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,16 @@
88
from hio.base import doing
99

1010
from keri.app import habbing, forwarding, connecting
11-
from keri.app.cli.common import existing
11+
from keri.app.cli.common import existing
12+
from keri.app.cli.common.parsing import Parsery
1213
from keri.app.habbing import GroupHab
1314
from keri.peer import exchanging
1415

1516
parser = argparse.ArgumentParser(description='Respond to a list of challenge words by signing and sending an EXN '
16-
'response')
17+
'response',
18+
parents=[Parsery.keystore()])
1719
parser.set_defaults(handler=lambda args: respond(args))
18-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
19-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
20-
required=False, default="")
2120
parser.add_argument('--alias', '-a', help='human readable alias for the identifier to use for responding', default=None)
22-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
23-
dest="bran", default=None) # passcode => bran
2421
parser.add_argument('--words', '-d', help='JSON formatted array of words to sign, \'@\' allowed to load from a file',
2522
action="store", required=True)
2623
parser.add_argument('--recipient', '-r', help='Contact alias of the AID to send the signed words to',

src/keri/app/cli/commands/challenge/verify.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,17 @@
1414
from keri.app import indirecting, challenging, connecting, signaling
1515
from keri.app.cli.commands.challenge.generate import generateWords
1616
from keri.app.cli.common import existing
17+
from keri.app.cli.common.parsing import Parsery
1718
from keri.help import helping
1819
from keri.peer import exchanging
1920

2021
logger = help.ogler.getLogger()
2122

2223
parser = argparse.ArgumentParser(description='Check mailbox for EXN challenge response messages and verify their '
23-
'signatures and data against provided words and signer')
24+
'signatures and data against provided words and signer',
25+
parents=[Parsery.keystore()])
2426
parser.set_defaults(handler=lambda args: verify(args))
25-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
2627
parser.add_argument('--alias', '-a', help='Unused, kept for backwards compatibility', default=None)
27-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
28-
required=False, default="")
29-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
30-
dest="bran", default=None) # passcode => bran
31-
3228
parser.add_argument('--words', '-d', help='JSON formatted array of words to verfiy, \'@\' allowed to load from a file',
3329
action="store", required=False)
3430
parser.add_argument('--generate', '-g', help="Generate words, print to stdout and wait for verification",

src/keri/app/cli/commands/clean.py

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
from keri import help
1111
from keri.app.cli.common import existing
12+
from keri.app.cli.common.parsing import Parsery
1213

1314
logger = help.ogler.getLogger()
1415

@@ -24,22 +25,11 @@ def handler(args):
2425
return [clean]
2526

2627

27-
parser = argparse.ArgumentParser(description='Cleans and migrates a database and keystore')
28-
parser.set_defaults(handler=handler,
29-
transferable=True)
30-
31-
# Parameters for basic structure of database
32-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
33-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
34-
required=False, default="")
28+
parser = argparse.ArgumentParser(description='Cleans and migrates a database and keystore',
29+
parents=[Parsery.keystore()])
30+
parser.set_defaults(handler=handler)
3531
parser.add_argument('--temp', '-t', help='create a temporary keystore, used for testing', default=False)
3632

37-
# Parameters for Manager creation
38-
# passcode => bran
39-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
40-
dest="bran", default=None)
41-
42-
4333
class CleanDoer(doing.Doer):
4434

4535
def __init__(self, args):

src/keri/app/cli/commands/contacts/list.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,14 @@
1313
from keri import help, kering
1414
from keri.app import connecting
1515
from keri.app.cli.common import existing
16+
from keri.app.cli.common.parsing import Parsery
1617
from keri.kering import ConfigurationError
1718

1819
logger = help.ogler.getLogger()
1920

20-
parser = argparse.ArgumentParser(description='List existing contacts')
21-
parser.set_defaults(handler=lambda args: handler(args),
22-
transferable=True)
23-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
24-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
25-
required=False, default="")
26-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
27-
dest="bran", default=None) # passcode => bran
28-
21+
parser = argparse.ArgumentParser(description='List existing contacts',
22+
parents=[Parsery.keystore()])
23+
parser.set_defaults(handler=lambda args: handler(args))
2924

3025
def handler(args):
3126
kwa = dict(args=args)

src/keri/app/cli/commands/contacts/replace.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,15 @@
1212
from keri import help
1313
from keri.app import connecting
1414
from keri.app.cli.common import existing
15+
from keri.app.cli.common.parsing import Parsery
1516
from keri.kering import ConfigurationError
1617

1718
logger = help.ogler.getLogger()
1819

1920
# Could be expanded to provide arbitrary data if desired
20-
parser = argparse.ArgumentParser(description='Replace contact information for identifier prefix with alias information')
21-
parser.set_defaults(handler=lambda args: handler(args),
22-
transferable=True)
23-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
24-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
25-
required=False, default="")
26-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
27-
dest="bran", default=None) # passcode => bran
21+
parser = argparse.ArgumentParser(description='Replace contact information for identifier prefix with alias information',
22+
parents=[Parsery.keystore()])
23+
parser.set_defaults(handler=lambda args: handler(args))
2824
parser.add_argument('--prefix', '-o', help='identifier prefix to replace contact information for', required=True)
2925
parser.add_argument('--alias', '-a', help='human readable alias for the contact', required=True)
3026

src/keri/app/cli/commands/decrypt.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,13 @@
99

1010
from keri import kering
1111
from keri.app.cli.common import existing
12+
from keri.app.cli.common.parsing import Parsery
1213
from keri.core import indexing, coring, MtrDex
1314

14-
parser = argparse.ArgumentParser(description='Decrypt arbitrary data for AIDs with Ed25519 public keys only')
15+
parser = argparse.ArgumentParser(description='Decrypt arbitrary data for AIDs with Ed25519 public keys only',
16+
parents=[Parsery.keystore()])
1517
parser.set_defaults(handler=lambda args: handler(args))
16-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
17-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
18-
required=False, default="")
1918
parser.add_argument('--alias', '-a', help='human readable alias for the new identifier prefix', required=True)
20-
parser.add_argument('--passcode', '-p', help='22 character encryption passcode for keystore (is not saved)',
21-
dest="bran", default=None) # passcode => bran
2219
parser.add_argument('--data', '-d', help='Encrypted data or file (starts with "@")', required=True)
2320

2421

src/keri/app/cli/commands/delegate/confirm.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from keri import help
1313
from keri.app import habbing, indirecting, agenting, grouping, forwarding, delegating, notifying
1414
from keri.app.cli.common import existing
15+
from keri.app.cli.common.parsing import Parsery
1516
from keri.app.habbing import GroupHab
1617
from keri import core
1718
from keri.core import coring, serdering
@@ -22,14 +23,10 @@
2223
logger = help.ogler.getLogger()
2324

2425
parser = argparse.ArgumentParser(description='Confirm success delegate event (icp or rot) and gather and '
25-
'propagate witness receipts.')
26+
'propagate witness receipts.',
27+
parents=[Parsery.keystore()])
2628
parser.set_defaults(handler=lambda args: confirm(args))
27-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
28-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
29-
required=False, default="")
3029
parser.add_argument('--alias', '-a', help='human readable alias for the new identifier prefix', required=True)
31-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
32-
dest="bran", default=None) # passcode => bran
3330
parser.add_argument("--interact", "-i", help="anchor the delegation approval in an interaction event. "
3431
"Default is to use a rotation event.", action="store_true")
3532
parser.add_argument("--auto", "-Y", help="auto approve any delegation request non-interactively", action="store_true")

src/keri/app/cli/commands/delegate/request.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,18 @@
1212
from keri import help
1313
from keri.app import habbing, indirecting, agenting, grouping, forwarding, delegating
1414
from keri.app.cli.common import existing
15+
from keri.app.cli.common.parsing import Parsery
1516
from keri.app.habbing import GroupHab
1617
from keri.core import coring, serdering
1718
from keri.db import dbing
1819

1920
logger = help.ogler.getLogger()
2021

2122
parser = argparse.ArgumentParser(description='Resend a delegation request message to a delegator that has not '
22-
'approved a previous delegation.')
23+
'approved a previous delegation.',
24+
parents=[Parsery.keystore()])
2325
parser.set_defaults(handler=lambda args: request(args))
24-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
25-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
26-
required=False, default="")
2726
parser.add_argument('--alias', '-a', help='human readable alias for the new identifier prefix', required=True)
28-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
29-
dest="bran", default=None) # passcode => bran
3027

3128
def request(args):
3229
"""

src/keri/app/cli/commands/did/generate.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,10 @@
1717
logger = help.ogler.getLogger()
1818

1919
parser = argparse.ArgumentParser(description='Generate and print an AID\'s DID.')
20-
parser.set_defaults(handler=lambda args: handler(args),
21-
transferable=True)
20+
parser.set_defaults(handler=lambda args: handler(args))
2221

23-
# Parameters for basic structure of database
24-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
25-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
26-
required=False, default="")
2722
parser.add_argument('--alias', '-a', help='human readable alias for which to generate a DID', default=None)
2823
parser.add_argument("--role", "-r", help="role of oobis to generate", required=False, default="witness")
29-
30-
# Parameters for Manager access
31-
# passcode => bran
32-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
33-
dest="bran", default=None)
3424
parser.add_argument('--url', '-u', help="generate a DID URL instead of a DID", action="store_true")
3525

3626

src/keri/app/cli/commands/ends/add.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,17 @@
1212
from keri.app import habbing, grouping, indirecting, forwarding
1313
from keri.app.agenting import WitnessPublisher
1414
from keri.app.cli.common import existing
15+
from keri.app.cli.common.parsing import Parsery
1516
from keri.app.notifying import Notifier
1617
from keri.core import parsing
1718
from keri.peer import exchanging
1819

1920
logger = help.ogler.getLogger()
2021

21-
parser = argparse.ArgumentParser(description='Add new endpoint role authorization.')
22-
parser.set_defaults(handler=lambda args: add_end(args),
23-
transferable=True)
24-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
25-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
26-
required=False, default="")
22+
parser = argparse.ArgumentParser(description='Add new endpoint role authorization.',
23+
parents=[Parsery.keystore()])
24+
parser.set_defaults(handler=lambda args: add_end(args))
2725
parser.add_argument('--alias', '-a', help='human readable alias for the new identifier prefix', required=True)
28-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
29-
dest="bran", default=None) # passcode => bran
3026
parser.add_argument("--role", "-r", help="KERI enpoint authorization role.",
3127
required=True)
3228
parser.add_argument("--eid", "-e", help="qualified base64 of AID to authorize with new role for the AID identified "

src/keri/app/cli/commands/ends/export.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,14 @@
1010

1111
from keri import help, kering
1212
from keri.app.cli.common import existing
13+
from keri.app.cli.common.parsing import Parsery
1314
from keri.core import eventing
1415

1516
logger = help.ogler.getLogger()
1617

17-
parser = argparse.ArgumentParser(description='Export end points')
18-
parser.set_defaults(handler=lambda args: export_ends(args),
19-
transferable=True)
20-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
21-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
22-
required=False, default="")
23-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
24-
dest="bran", default=None) # passcode => bran
25-
18+
parser = argparse.ArgumentParser(description='Export end points',
19+
parents=[Parsery.keystore()])
20+
parser.set_defaults(handler=lambda args: export_ends(args))
2621
parser.add_argument("--aid", "-a", help="qualified base64 of AID to export rpy messages for all endpoints.",
2722
required=True)
2823

src/keri/app/cli/commands/ends/list.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,14 @@
1111

1212
from keri import help, kering
1313
from keri.app.cli.common import existing
14+
from keri.app.cli.common.parsing import Parsery
1415

1516
logger = help.ogler.getLogger()
1617

17-
parser = argparse.ArgumentParser(description='Add new endpoint role authorization.')
18-
parser.set_defaults(handler=lambda args: add_end(args),
19-
transferable=True)
20-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
21-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
22-
required=False, default="")
18+
parser = argparse.ArgumentParser(description='Add new endpoint role authorization.',
19+
parents=[Parsery.keystore()])
20+
parser.set_defaults(handler=lambda args: add_end(args))
2321
parser.add_argument('--alias', '-a', help='human readable alias for the new identifier prefix', required=True)
24-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
25-
dest="bran", default=None) # passcode => bran
2622
parser.add_argument("--aid", help="qualified base64 of AID to export rpy messages for all endpoints.",
2723
required=True)
2824

src/keri/app/cli/commands/escrow/clear.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,13 @@
99
from hio.base import doing
1010
from keri import help
1111
from keri.app.cli.common import existing
12+
from keri.app.cli.common.parsing import Parsery
1213

1314
logger = help.ogler.getLogger()
1415

15-
parser = argparse.ArgumentParser(description='Clear escrows')
16-
parser.set_defaults(handler=lambda args: handler(args),
17-
transferable=True)
18-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
19-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
20-
required=False, default="")
21-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
22-
dest="bran", default=None) # passcode => bran
16+
parser = argparse.ArgumentParser(description='Clear escrows',
17+
parents=[Parsery.keystore()])
18+
parser.set_defaults(handler=lambda args: handler(args))
2319
parser.add_argument('--force', action="store_true", required=False,
2420
help='True means perform clear without prompting the user')
2521

src/keri/app/cli/commands/escrow/list.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from hio.base import doing
1111

1212
from keri import help
13+
from keri.app.cli.common.parsing import Parsery
1314
from keri.core import eventing
1415
from keri.app.cli.common import existing
1516
from keri.db import dbing
@@ -18,14 +19,9 @@
1819

1920
logger = help.ogler.getLogger()
2021

21-
parser = argparse.ArgumentParser(description='Views events in escrow state.')
22-
parser.set_defaults(handler=lambda args: handler(args),
23-
transferable=True)
24-
parser.add_argument('--name', '-n', help='keystore name and file location of KERI keystore', required=True)
25-
parser.add_argument('--base', '-b', help='additional optional prefix to file location of KERI keystore',
26-
required=False, default="")
27-
parser.add_argument('--passcode', '-p', help='21 character encryption passcode for keystore (is not saved)',
28-
dest="bran", default=None) # passcode => bran
22+
parser = argparse.ArgumentParser(description='Views events in escrow state.',
23+
parents=[Parsery.keystore()])
24+
parser.set_defaults(handler=lambda args: handler(args))
2925

3026
parser.add_argument("--escrow", "-e", help="show values for one specific escrow", default=None)
3127

0 commit comments

Comments
 (0)