55from pathlib import Path
66
77from jwt_rsa .issue import parse_interval
8- from . import convert , issue , key_tester , keygen , pubkey , verify , jwks
8+
9+ from . import convert , issue , jwks , key_tester , keygen , pubkey , verify
910from .token import ALGORITHMS
1011
1112
@@ -14,24 +15,32 @@ class Formatter(argparse.ArgumentDefaultsHelpFormatter, argparse.RawDescriptionH
1415
1516
1617parser = ArgumentParser (formatter_class = Formatter )
18+ parser .add_argument ("-a" , "--algorithm" , choices = ALGORITHMS , help = "Algorithm for JWT keys" , default = "RS512" )
1719parser .add_argument (
18- "-a" , "--algorithm" , choices = ALGORITHMS ,
19- help = "Algorithm for JWT keys" , default = "RS512"
20- )
21- parser .add_argument (
22- "--log-level" , choices = ["debug" , "info" , "warning" , "error" , "critical" ],
23- type = lambda x : getattr (logging , x .upper (), logging .INFO ), default = logging .INFO ,
20+ "--log-level" ,
21+ choices = ["debug" , "info" , "warning" , "error" , "critical" ],
22+ type = lambda x : getattr (logging , x .upper (), logging .INFO ),
23+ default = logging .INFO ,
2424)
2525
2626subparsers = parser .add_subparsers (dest = "command" , required = True )
2727
2828keygen_parser = subparsers .add_parser ("keygen" , help = "Generate a new RSA key pair" , formatter_class = Formatter )
2929keygen_parser .set_defaults (func = keygen .main )
3030keygen_parser .add_argument (
31- "-b" , "--bits" , dest = "bits" , type = int , default = 2048 , choices = [2 ** i for i in range (10 , 14 )],
31+ "-b" ,
32+ "--bits" ,
33+ dest = "bits" ,
34+ type = int ,
35+ default = 2048 ,
36+ choices = [2 ** i for i in range (10 , 14 )],
3237)
3338keygen_parser .add_argument (
34- "--kid" , dest = "kid" , type = str , default = "" , help = "Key ID, will be generated if missing" ,
39+ "--kid" ,
40+ dest = "kid" ,
41+ type = str ,
42+ default = "" ,
43+ help = "Key ID, will be generated if missing" ,
3544)
3645keygen_parser .add_argument ("-u" , "--use" , dest = "use" , type = str , default = "sig" , choices = ["sig" , "enc" ])
3746keygen_parser .add_argument ("-o" , "--format" , choices = ["pem" , "jwk" , "base64" ], default = "jwk" )
@@ -68,23 +77,28 @@ class Formatter(argparse.ArgumentDefaultsHelpFormatter, argparse.RawDescriptionH
6877 " * 'y' means years\n "
6978)
7079issue_parser = subparsers .add_parser (
71- "issue" ,
72- help = "Issue a new JWT token\n " ,
73- description = ISSUE_PARSER_DESCRIPTION ,
74- formatter_class = Formatter
80+ "issue" , help = "Issue a new JWT token\n " , description = ISSUE_PARSER_DESCRIPTION , formatter_class = Formatter
7581)
7682issue_parser .add_argument (
77- "-K" , "--private-key" , required = True ,
78- help = "Private JWT key" , type = Path ,
83+ "-K" ,
84+ "--private-key" ,
85+ required = True ,
86+ help = "Private JWT key" ,
87+ type = Path ,
7988)
8089issue_parser .add_argument ("--expired" , help = "Token expiration" , type = parse_interval , default = "+1M" )
8190issue_parser .add_argument ("--nbf" , help = "Token nbf claim" , type = parse_interval , default = "-1m" )
8291issue_parser .add_argument (
83- "-I" , "--no-interactive" , action = "store_false" , dest = "interactive" ,
92+ "-I" ,
93+ "--no-interactive" ,
94+ action = "store_false" ,
95+ dest = "interactive" ,
8496 help = "No interactive mode, do not open editor for claims, just read JSON from stdin" ,
8597)
8698issue_parser .add_argument (
87- "-e" , "--editor" , help = "Editor to use in interactive mode" ,
99+ "-e" ,
100+ "--editor" ,
101+ help = "Editor to use in interactive mode" ,
88102 default = os .getenv ("EDITOR" , "vim" ),
89103)
90104issue_parser .set_defaults (func = issue .main )
@@ -95,7 +109,10 @@ class Formatter(argparse.ArgumentDefaultsHelpFormatter, argparse.RawDescriptionH
95109verify_parser .add_argument ("-k" , "--public-key" , required = False , help = "Public key" , type = Path )
96110verify_parser .add_argument ("-V" , "--no-verify" , action = "store_false" , help = "No verify signature" , dest = "verify" )
97111verify_parser .add_argument (
98- "-I" , "--no-interactive" , action = "store_false" , dest = "interactive" ,
112+ "-I" ,
113+ "--no-interactive" ,
114+ action = "store_false" ,
115+ dest = "interactive" ,
99116 help = "Interactive mode or raw read token from stdin" ,
100117)
101118verify_parser .set_defaults (func = verify .main )
0 commit comments