Skip to content
This repository was archived by the owner on Mar 30, 2026. It is now read-only.

Commit 827847d

Browse files
authored
Merge pull request #49 from kevinsteves/summit
Use class and class.method consistently for status and exception
2 parents 6060e4c + 2432751 commit 827847d

1 file changed

Lines changed: 47 additions & 60 deletions

File tree

bin/summit.py

Lines changed: 47 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
from collections import defaultdict
2323
import datetime
2424
import getopt
25-
import inspect
2625
import json
2726
import logging as logging_
2827
import os
@@ -98,24 +97,28 @@ def main():
9897

9998
def credentials(options):
10099
def write_credentials(c, options):
101-
action = inspect.stack()[0][3]
102-
k = 'Credentials.write'
100+
k = 'Credentials.write_credentials'
103101

104102
R = options['R']
105103
try:
106-
c.write_credentials(**R['R2_obj'][k])
104+
x = c.write_credentials(**R['R2_obj'][k])
107105
except Exception as e:
108-
print_exception(action, e)
106+
print_exception(k, e)
109107
sys.exit(1)
110108

111-
action = inspect.stack()[0][3]
109+
if x is not None:
110+
print('%s:' % k)
111+
print(x)
112+
else:
113+
print(k)
114+
112115
k = 'Credentials'
113116

114117
R = options['R']
115118
try:
116119
x = Credentials(**R['R0_obj'][k])
117120
except Exception as e:
118-
print_exception(action, e)
121+
print_exception(k, e)
119122
sys.exit(1)
120123

121124
if options['write']:
@@ -165,15 +168,14 @@ def methods(options, class_):
165168

166169

167170
def httpclient(options, c):
168-
action = inspect.stack()[0][3]
169171
k = 'HTTPClient'
170172

171173
R = options['R']
172174
try:
173175
x = HTTPClient(credentials=c,
174176
**R['R0_obj'][k])
175177
except Exception as e:
176-
print_exception(action, e)
178+
print_exception(k, e)
177179
sys.exit(1)
178180

179181
methods(options, x)
@@ -183,7 +185,6 @@ def httpclient(options, c):
183185

184186
def logging(options, session):
185187
def query(api, options):
186-
action = inspect.stack()[0][3]
187188
k = 'LoggingService.query'
188189

189190
R = options['R']
@@ -200,18 +201,17 @@ def query(api, options):
200201
try:
201202
r = api.query(data=x, **R['R2_obj'][k])
202203
except Exception as e:
203-
print_exception(action, e)
204+
print_exception(k, e)
204205
sys.exit(1)
205206

206-
print_status(action, r, options)
207+
print_status(k, r, options)
207208
json_ = print_response(r, options, k)
208209
exit_for_http_status(r)
209210

210211
if json_ is not None and options['id'] is None and 'queryId' in json_:
211212
options['id'] = json_['queryId']
212213

213214
def poll(api, options):
214-
action = inspect.stack()[0][3]
215215
k = 'LoggingService.poll'
216216

217217
R = options['R']
@@ -221,15 +221,14 @@ def poll(api, options):
221221
params=R['R1_obj'][k],
222222
**R['R2_obj'][k])
223223
except Exception as e:
224-
print_exception(action, e)
224+
print_exception(k, e)
225225
sys.exit(1)
226226

227-
print_status(action, r, options)
227+
print_status(k, r, options)
228228
print_response(r, options, k)
229229
exit_for_http_status(r)
230230

231231
def xpoll(api, options):
232-
action = inspect.stack()[0][3]
233232
k = 'LoggingService.xpoll'
234233

235234
R = options['R']
@@ -242,41 +241,38 @@ def xpoll(api, options):
242241
print_response_body(options, k, x)
243242

244243
except Exception as e:
245-
print_exception(action, e)
244+
print_exception(k, e)
246245
sys.exit(1)
247246

248247
def delete(api, options):
249-
action = inspect.stack()[0][3]
250248
k = 'LoggingService.delete'
251249

252250
R = options['R']
253251
try:
254252
r = api.delete(query_id=options['id'],
255253
**R['R2_obj'][k])
256254
except Exception as e:
257-
print_exception(action, e)
255+
print_exception(k, e)
258256
sys.exit(1)
259257

260-
print_status(action, r, options)
258+
print_status(k, r, options)
261259
print_response(r, options, k)
262260
exit_for_http_status(r)
263261

264262
def write(api, options):
265-
action = inspect.stack()[0][3]
266263
k = 'LoggingService.write'
267264

268265
R = options['R']
269-
print(action, 'not implemented')
266+
print(k, 'not implemented')
270267

271-
action = inspect.stack()[0][3]
272268
k = 'LoggingService'
273269

274270
R = options['R']
275271
try:
276272
api = LoggingService(session=session,
277273
**R['R0_obj'][k])
278274
except Exception as e:
279-
print_exception(action, e)
275+
print_exception(k, e)
280276
sys.exit(1)
281277

282278
if options['debug'] > 0:
@@ -304,21 +300,20 @@ def write(api, options):
304300

305301

306302
def event(options, session):
307-
def generic(api, options, func, action, k):
303+
def generic(api, options, func, k):
308304
R = options['R']
309305
try:
310306
r = func(channel_id=options['id'],
311307
**R['R2_obj'][k])
312308
except Exception as e:
313-
print_exception(action, e)
309+
print_exception(k, e)
314310
sys.exit(1)
315311

316-
print_status(action, r, options)
312+
print_status(k, r, options)
317313
print_response(r, options, k)
318314
exit_for_http_status(r)
319315

320316
def set_filters(api, options):
321-
action = inspect.stack()[0][3]
322317
k = 'EventService.set_filters'
323318

324319
R = options['R']
@@ -327,20 +322,18 @@ def set_filters(api, options):
327322
data=R['R1_obj'][k],
328323
**R['R2_obj'][k])
329324
except Exception as e:
330-
print_exception(action, e)
325+
print_exception(k, e)
331326
sys.exit(1)
332327

333-
print_status(action, r, options)
328+
print_status(k, r, options)
334329
print_response(r, options, k)
335330
exit_for_http_status(r)
336331

337332
def get_filters(api, options):
338-
action = inspect.stack()[0][3]
339333
k = 'EventService.get_filters'
340-
generic(api, options, api.get_filters, action, k)
334+
generic(api, options, api.get_filters, k)
341335

342336
def xpoll(api, options):
343-
action = inspect.stack()[0][3]
344337
k = 'EventService.xpoll'
345338

346339
R = options['R']
@@ -350,16 +343,15 @@ def xpoll(api, options):
350343
ack=options['ack'],
351344
follow=options['follow'],
352345
**R['R2_obj'][k]):
353-
print('%s:' % action, end='', file=sys.stderr)
346+
print('%s:' % k, end='', file=sys.stderr)
354347
event_print_status(options, [x])
355348
print(file=sys.stderr)
356349
print_response_body(options, k, x)
357350
except Exception as e:
358-
print_exception(action, e)
351+
print_exception(k, e)
359352
sys.exit(1)
360353

361354
def poll(api, options):
362-
action = inspect.stack()[0][3]
363355
k = 'EventService.poll'
364356

365357
R = options['R']
@@ -368,32 +360,29 @@ def poll(api, options):
368360
data=R['R1_obj'][k],
369361
**R['R2_obj'][k])
370362
except Exception as e:
371-
print_exception(action, e)
363+
print_exception(k, e)
372364
sys.exit(1)
373365

374-
print_status(action, r, options)
366+
print_status(k, r, options)
375367
print_response(r, options, k)
376368
exit_for_http_status(r)
377369

378370
def ack(api, options):
379-
action = inspect.stack()[0][3]
380371
k = 'EventService.ack'
381-
generic(api, options, api.ack, action, k)
372+
generic(api, options, api.ack, k)
382373

383374
def nack(api, options):
384-
action = inspect.stack()[0][3]
385375
k = 'EventService.nack'
386-
generic(api, options, api.nack, action, k)
376+
generic(api, options, api.nack, k)
387377

388-
action = inspect.stack()[0][3]
389378
k = 'EventService'
390379

391380
R = options['R']
392381
try:
393382
api = EventService(session=session,
394383
**R['R0_obj'][k])
395384
except Exception as e:
396-
print_exception(action, e)
385+
print_exception(k, e)
397386
sys.exit(1)
398387

399388
if options['debug'] > 0:
@@ -424,20 +413,19 @@ def nack(api, options):
424413

425414

426415
def directory_sync(options, session):
427-
def generic(api, options, func, action, k):
416+
def generic(api, options, func, k):
428417
R = options['R']
429418
try:
430419
r = func(**R['R2_obj'][k])
431420
except Exception as e:
432-
print_exception(action, e)
421+
print_exception(k, e)
433422
sys.exit(1)
434423

435-
print_status(action, r, options)
424+
print_status(k, r, options)
436425
print_response(r, options, k)
437426
exit_for_http_status(r)
438427

439428
def query(api, options):
440-
action = inspect.stack()[0][3]
441429
k = 'DirectorySyncService.query'
442430

443431
R = options['R']
@@ -446,15 +434,14 @@ def query(api, options):
446434
data=R['R1_obj'][k],
447435
**R['R2_obj'][k])
448436
except Exception as e:
449-
print_exception(action, e)
437+
print_exception(k, e)
450438
sys.exit(1)
451439

452-
print_status(action, r, options)
440+
print_status(k, r, options)
453441
print_response(r, options, k)
454442
exit_for_http_status(r)
455443

456444
def count(api, options):
457-
action = inspect.stack()[0][3]
458445
k = 'DirectorySyncService.count'
459446

460447
R = options['R']
@@ -463,32 +450,29 @@ def count(api, options):
463450
params=R['R1_obj'][k],
464451
**R['R2_obj'][k])
465452
except Exception as e:
466-
print_exception(action, e)
453+
print_exception(k, e)
467454
sys.exit(1)
468455

469-
print_status(action, r, options)
456+
print_status(k, r, options)
470457
print_response(r, options, k)
471458
exit_for_http_status(r)
472459

473460
def domains(api, options):
474-
action = inspect.stack()[0][3]
475461
k = 'DirectorySyncService.domains'
476-
generic(api, options, api.domains, action, k)
462+
generic(api, options, api.domains, k)
477463

478464
def attributes(api, options):
479-
action = inspect.stack()[0][3]
480465
k = 'DirectorySyncService.attributes'
481-
generic(api, options, api.attributes, action, k)
466+
generic(api, options, api.attributes, k)
482467

483-
action = inspect.stack()[0][3]
484468
k = 'DirectorySyncService'
485469

486470
R = options['R']
487471
try:
488472
api = DirectorySyncService(session=session,
489473
**R['R0_obj'][k])
490474
except Exception as e:
491-
print_exception(action, e)
475+
print_exception(k, e)
492476
sys.exit(1)
493477

494478
if options['debug'] > 0:
@@ -924,7 +908,10 @@ def _options_print(opt, last_c, last_m, arg):
924908
last_m = 'query'
925909
elif opt == '--write':
926910
options['write'] = True
927-
last_m = 'write'
911+
if last_c == 'Credentials':
912+
last_m = 'write_credentials'
913+
else:
914+
last_m = 'write'
928915
elif opt == '--start':
929916
options['start'] = arg
930917
options['start_seconds'] = process_time(arg)

0 commit comments

Comments
 (0)