@@ -71,6 +71,21 @@ def read_conf(conf_path):
7171
7272 return user_metadata
7373
74+
75+ def print_result (result ):
76+ """ Display result """
77+ date_formatted = datetime .strptime (result ['expiration' ], '%Y-%m-%d %H:%M:%S' )
78+ is_expired = date_formatted < datetime .now ()
79+ if result ['status' ] == 'ACTIVE' :
80+ if is_expired and date_formatted .year == 1970 :
81+ result ['status' ] = 'NEVER SIGNED'
82+ elif is_expired :
83+ result ['status' ] = 'EXPIRED'
84+ else :
85+ result ['status' ] = 'SIGNED'
86+ print (dumps (result , indent = 4 , sort_keys = True ))
87+
88+
7489class CASSH (object ):
7590 """
7691 Main CASSH class.
@@ -131,16 +146,11 @@ class CASSH(object):
131146 if result == {}:
132147 print (dumps (result , indent = 4 , sort_keys = True ))
133148 return
134- date_formatted = datetime .strptime (result ['expiration' ], '%Y-%m-%d %H:%M:%S' )
135- is_expired = date_formatted < datetime .now ()
136- if result ['status' ] == 'ACTIVE' :
137- if is_expired and date_formatted .year == 1970 :
138- result ['status' ] = 'NEVER SIGNED'
139- elif is_expired :
140- result ['status' ] = 'EXPIRED'
141- else :
142- result ['status' ] = 'SIGNED'
143- print (dumps (result , indent = 4 , sort_keys = True ))
149+ if username == 'all' :
150+ for user in result :
151+ print_result (result [user ])
152+ return
153+ print_result (result )
144154 return
145155 else :
146156 print ('Action should be : revoke, active, delete or status' )
@@ -211,16 +221,7 @@ class CASSH(object):
211221 if result == {}:
212222 print (dumps (result , indent = 4 , sort_keys = True ))
213223 return
214- date_formatted = datetime .strptime (result ['expiration' ], '%Y-%m-%d %H:%M:%S' )
215- is_expired = date_formatted < datetime .now ()
216- if result ['status' ] == 'ACTIVE' :
217- if is_expired and date_formatted .year == 1970 :
218- result ['status' ] = 'NEVER SIGNED'
219- elif is_expired :
220- result ['status' ] = 'EXPIRED'
221- else :
222- result ['status' ] = 'SIGNED'
223- print (dumps (result , indent = 4 , sort_keys = True ))
224+ print_result (result )
224225
225226 def get_ca (self ):
226227 """
@@ -251,13 +252,13 @@ if __name__ == '__main__':
251252
252253 SUBPARSERS = PARSER .add_subparsers (help = 'commands' )
253254
254- PARSER .add_argument ('--version' , action = 'version' , version = '%(prog)s 1.0.1 ' )
255+ PARSER .add_argument ('--version' , action = 'version' , version = '%(prog)s 1.1.0 ' )
255256
256257 # ADMIN Arguments
257258 ADMIN_PARSER = SUBPARSERS .add_parser ('admin' ,\
258259 help = 'Administrator command : active - revoke - delete - status keys' )
259260 ADMIN_PARSER .add_argument ('username' , action = 'store' ,\
260- help = 'Username of client\' s key' )
261+ help = 'Username of client\' s key, if username is \' all \' status return all users ' )
261262 ADMIN_PARSER .add_argument ('action' , action = 'store' ,\
262263 help = 'Choice between : active - revoke - delete - status' )
263264
0 commit comments