6
6
from typing import Generator , Optional
7
7
from enum import Enum
8
8
from argparse import ArgumentParser
9
+ import logging
9
10
10
11
12
+ LOG = logging .getLogger (__name__ )
11
13
PADDING_CHARS = ('' , "\t " , "\n " , ' ' )
12
14
13
15
@@ -32,7 +34,7 @@ def leading_json_as_base64() -> Generator:
32
34
33
35
34
36
def trailing_json_as_base64 () -> Generator :
35
- for json_type in JSONTypes :
37
+ for json_type in [ JSONTypes . NUMBER ] :
36
38
if json_type == JSONTypes .STRING :
37
39
for c in range (0x01 , 0xf4 ):
38
40
for d in range (0x01 , 0xf4 ):
@@ -66,13 +68,15 @@ def trailing_json_as_base64() -> Generator:
66
68
67
69
68
70
def output_trailing_json (obj : str ) -> Generator :
69
- for slide in range (0 , 2 ):
71
+ for slide in range (0 , 3 ):
70
72
for e in PADDING_CHARS :
71
73
for f in PADDING_CHARS :
72
74
for g in PADDING_CHARS :
73
75
for h in PADDING_CHARS :
74
76
padding = e + f + g + h
75
- yield b64 (('A' * slide ) + obj + padding + '}' )
77
+ plain = ('A' * slide ) + obj + padding + '}'
78
+ LOG .debug (plain )
79
+ yield b64 (plain )
76
80
77
81
78
82
def b64 (text : str ) -> str :
@@ -84,6 +88,11 @@ def main() -> None:
84
88
add_args (parser )
85
89
args = parser .parse_args ()
86
90
91
+ logging .basicConfig ()
92
+
93
+ if args .debug :
94
+ LOG .setLevel (logging .DEBUG )
95
+
87
96
if args .leading :
88
97
for token in leading_json_as_base64 ():
89
98
print (token )
@@ -98,6 +107,7 @@ def main() -> None:
98
107
def add_args (parser : ArgumentParser ) -> None :
99
108
parser .add_argument ('--leading' , action = 'store_true' )
100
109
parser .add_argument ('--trailing' , action = 'store_true' )
110
+ parser .add_argument ('--debug' , '-d' , action = 'store_true' )
101
111
102
112
103
113
if __name__ == '__main__' :
0 commit comments