Skip to content

Commit c5dccf9

Browse files
author
Nicolas Beguier
committed
CASSH: Add changelog and cassh v1.1.0
1 parent 8ee8476 commit c5dccf9

File tree

2 files changed

+59
-22
lines changed

2 files changed

+59
-22
lines changed

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
CHANGELOG
2+
=========
3+
4+
1.1.0
5+
-----
6+
7+
2017/10/05
8+
9+
### New Features
10+
11+
Admin can status every user with : cassh admin all status
12+
13+
### Changes
14+
15+
Add 'print_result' function for cassh client
16+
17+
18+
1.0.1
19+
-----
20+
21+
2017/10/04
22+
23+
### Bug Fixes
24+
25+
Fix config file conflict with version
26+
27+
28+
29+
1.0.0
30+
-----
31+
32+
2017/10/04
33+
34+
### Changes
35+
36+
First stable version

cassh

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
7489
class 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

Comments
 (0)