@@ -27,13 +27,12 @@ class CASManagement(Service):
27
27
28
28
@classmethod
29
29
def create_session (cls , properties : dict , server : str ):
30
- """
31
- Creates a new session on the CAS server.
30
+ """Creates a new session on the CAS server.
32
31
33
32
Params
34
33
------
35
34
properties : dict
36
- Properties of the session.
35
+ Properties of the session.
37
36
Valid keys are `authenticationType` (required),
38
37
`locale`, `name`, `nodeCount`, `timeOut`.
39
38
server : str
@@ -45,25 +44,29 @@ def create_session(cls, properties: dict, server: str):
45
44
"""
46
45
server = server or DEFAULT_SERVER
47
46
48
- allowedBodyKeys = ["authenticationType" , "locale" , "name" ,
49
- "nodeCount" , "replace" , "timeOut" ]
47
+ allowedBodyKeys = [
48
+ "authenticationType" ,
49
+ "locale" ,
50
+ "name" ,
51
+ "nodeCount" ,
52
+ "replace" ,
53
+ "timeOut" ,
54
+ ]
55
+
56
+ if not all (key in allowedBodyKeys for key in properties .keys ()):
57
+ raise ValueError (
58
+ "The only acceptable properties are %s." % (allowedBodyKeys )
59
+ )
50
60
51
- if not all (key in allowedBodyKeys for key in properties .keys ()) :
52
- raise ValueError ("The only acceptable properties are %s." % (allowedBodyKeys ))
53
-
54
61
if "authenticationType" not in properties .keys ():
55
62
raise ValueError ("The property 'authenticationType' is required." )
56
-
57
- sess = cls .post (
58
- "/servers/%s/sessions" % (server ),
59
- json = properties
60
- )
63
+
64
+ sess = cls .post ("/servers/%s/sessions" % (server ), json = properties )
61
65
return sess
62
66
63
67
@classmethod
64
68
def delete_session (cls , sess_id : str , server : str , qparams : dict = None ):
65
- """
66
- Terminates a session on the CAS server.
69
+ """Terminates a session on the CAS server.
67
70
68
71
Params
69
72
------
@@ -72,7 +75,7 @@ def delete_session(cls, sess_id: str, server: str, qparams: dict = None):
72
75
server : str
73
76
Name of the CAS server. Defaults to `cas-shared-default`.
74
77
qparams : dict, optional
75
- Query parameters.
78
+ Query parameters.
76
79
Valid keys are `force`, `superUserSessionId`.
77
80
78
81
Returns
@@ -84,19 +87,18 @@ def delete_session(cls, sess_id: str, server: str, qparams: dict = None):
84
87
if qparams is not None :
85
88
allowedQueryKeys = ["force" , "superUserSessionId" ]
86
89
87
- if not all (key in allowedQueryKeys for key in qparams .keys ()) :
88
- raise ValueError ("The only acceptable queries are %s." % (allowedQueryKeys ))
90
+ if not all (key in allowedQueryKeys for key in qparams .keys ()):
91
+ raise ValueError (
92
+ "The only acceptable queries are %s." % (allowedQueryKeys )
93
+ )
89
94
else :
90
95
qparams = {}
91
-
92
- sess = cls .delete (
93
- "/servers/%s/sessions/%s" % (server ,sess_id ),
94
- params = qparams
95
- )
96
+
97
+ sess = cls .delete ("/servers/%s/sessions/%s" % (server , sess_id ), params = qparams )
96
98
return sess
97
99
98
100
@classmethod
99
- def list_caslibs (cls , server :Union [str ,dict ], filter_ :str = None ):
101
+ def list_caslibs (cls , server : Union [str , dict ], filter_ : str = None ):
100
102
"""List caslibs available on a server.
101
103
102
104
Parameters
@@ -118,7 +120,7 @@ def list_caslibs(cls, server:Union[str,dict], filter_:str=None):
118
120
)
119
121
120
122
@classmethod
121
- def get_caslib (cls , name :str , server :str = None ):
123
+ def get_caslib (cls , name : str , server : str = None ):
122
124
"""Get a caslib by name.
123
125
124
126
Parameters
@@ -141,7 +143,9 @@ def get_caslib(cls, name:str, server:str=None):
141
143
return None
142
144
143
145
@classmethod
144
- def list_tables (cls , caslib :Union [str ,dict ], server :str = None , filter_ :str = None ):
146
+ def list_tables (
147
+ cls , caslib : Union [str , dict ], server : str = None , filter_ : str = None
148
+ ):
145
149
"""List tables available in a caslib.
146
150
147
151
Parameters
@@ -166,7 +170,7 @@ def list_tables(cls, caslib:Union[str,dict], server:str=None, filter_:str=None):
166
170
)
167
171
168
172
@classmethod
169
- def get_table (cls , name :str , caslib :Union [str ,dict ]= None , server :str = None ):
173
+ def get_table (cls , name : str , caslib : Union [str , dict ] = None , server : str = None ):
170
174
"""Get a table by name.
171
175
172
176
Parameters
@@ -195,7 +199,13 @@ def get_table(cls, name:str, caslib:Union[str,dict]=None, server:str=None):
195
199
196
200
@classmethod
197
201
def upload_file (
198
- cls , file :Union [str ,TextIO ], name :str , caslib :str = None , server :str = None , header :bool = None , format_ :str = None
202
+ cls ,
203
+ file : Union [str , TextIO ],
204
+ name : str ,
205
+ caslib : str = None ,
206
+ server : str = None ,
207
+ header : bool = None ,
208
+ format_ : str = None ,
199
209
):
200
210
"""Upload a file to a CAS table.
201
211
@@ -260,8 +270,17 @@ def upload_file(
260
270
return tbl
261
271
262
272
@classmethod
263
- def update_state_table (cls , value : str , name : str , caslib :str = None , server :str = None , * , qparams :dict = None , body :dict = dict ()):
264
- """Modifies the state of a table to loaded or unloaded.
273
+ def update_state_table (
274
+ cls ,
275
+ value : str ,
276
+ name : str ,
277
+ caslib : str = None ,
278
+ server : str = None ,
279
+ * ,
280
+ qparams : dict = None ,
281
+ body : dict = dict ()
282
+ ):
283
+ """Modifies the state of a table to loaded or unloaded.
265
284
Returns loaded or unloaded to indicate the state after the operation.
266
285
267
286
Parameters
@@ -275,50 +294,66 @@ def update_state_table(cls, value: str, name: str, caslib:str=None, server:str=N
275
294
server : str, optional
276
295
Server where the `caslib` is registered.
277
296
qparams: dict, optional
278
- Additional query parameters.
297
+ Additional query parameters.
279
298
Valid keys are `sessionId`, `scope`, `sourceTableName`, `createRelationships`
280
299
body : dict, optional
281
300
Extra instructions providing greater control over the output when a state change to loaded is requested.
282
- Valid keys are `copies`, `label`, `outputCaslibName`, `outputTableName`, `parameters`,
301
+ Valid keys are `copies`, `label`, `outputCaslibName`, `outputTableName`, `parameters`,
283
302
`replace`, `replaceMode`, `scope`.
284
-
303
+
285
304
Returns
286
305
-------
287
306
RestObj
288
307
289
308
"""
290
309
caslib = caslib or DEFAULT_CASLIB
291
310
292
- if value in ['loaded' , 'unloaded' ]:
293
- query = {
294
- "value" :value
295
- }
311
+ if value in ["loaded" , "unloaded" ]:
312
+ query = {"value" : value }
296
313
else :
297
- raise ValueError ("The state can only have values of `loaded` or `unloaded`." )
298
-
299
- if qparams is not None :
300
- allowedQueryKeys = ["sessionId" , "scope" , "sourceTableName" , "createRelationships" ]
314
+ raise ValueError (
315
+ "The state can only have values of `loaded` or `unloaded`."
316
+ )
301
317
302
- if not all (key in allowedQueryKeys for key in qparams .keys ()) :
303
- raise ValueError ("The only query parameters allowed are %s." % (allowedQueryKeys ))
318
+ if qparams is not None :
319
+ allowedQueryKeys = [
320
+ "sessionId" ,
321
+ "scope" ,
322
+ "sourceTableName" ,
323
+ "createRelationships" ,
324
+ ]
325
+
326
+ if not all (key in allowedQueryKeys for key in qparams .keys ()):
327
+ raise ValueError (
328
+ "The only query parameters allowed are %s." % (allowedQueryKeys )
329
+ )
304
330
else :
305
331
query .update (qparams )
306
332
307
- allowedBodyKeys = ["copies" , "label" , "outputCaslibName" , "outputTableName" , "parameters" ,
308
- "replace" , "replaceMode" ,"scope" ]
309
-
310
- if not all (key in allowedBodyKeys for key in body .keys ()) :
311
- raise ValueError ("The body accepts only the following parameters %s." % (allowedBodyKeys ))
333
+ allowedBodyKeys = [
334
+ "copies" ,
335
+ "label" ,
336
+ "outputCaslibName" ,
337
+ "outputTableName" ,
338
+ "parameters" ,
339
+ "replace" ,
340
+ "replaceMode" ,
341
+ "scope" ,
342
+ ]
343
+
344
+ if not all (key in allowedBodyKeys for key in body .keys ()):
345
+ raise ValueError (
346
+ "The body accepts only the following parameters %s." % (allowedBodyKeys )
347
+ )
312
348
313
-
314
349
tbl = cls .put (
315
- "/servers/%s/caslibs/%s/tables/%s/state" % (server , caslib ,name ),
350
+ "/servers/%s/caslibs/%s/tables/%s/state" % (server , caslib , name ),
316
351
params = query ,
317
- json = body
352
+ json = body ,
318
353
)
319
-
354
+
320
355
return tbl
321
-
356
+
322
357
@classmethod
323
358
def promote_table (cls , name : str , sessId : str , caslib : str , server : str = None ):
324
359
"""Changes the scope of a loaded CAS table from session to global scope.
@@ -332,7 +367,7 @@ def promote_table(cls, name: str, sessId: str, caslib: str, server: str = None):
332
367
sessId: str
333
368
The session ID
334
369
caslib : str
335
- Name of the caslib.
370
+ Name of the caslib.
336
371
server : str
337
372
Server where the `caslib` is registered. Defaults to CASUSER
338
373
@@ -343,23 +378,25 @@ def promote_table(cls, name: str, sessId: str, caslib: str, server: str = None):
343
378
"""
344
379
server = server or DEFAULT_SERVER
345
380
caslib = caslib or DEFAULT_CASLIB
346
-
347
- query = {
348
- "value" : "global"
349
- "sessionId" : sessId
350
- }
351
-
381
+
382
+ query = {"value" : "global" , "sessionId" : sessId }
383
+
352
384
tbl = cls .put (
353
385
"/servers/%s/caslibs/%s/tables/%s/scope" % (server , caslib , name ),
354
- params = query
386
+ params = query ,
355
387
)
356
388
357
389
return tbl
358
390
359
391
@classmethod
360
392
def save_table (
361
- cls , name : str , caslib : str , properties : dict = None , sessId : str = None , server : str = None
362
- ):
393
+ cls ,
394
+ name : str ,
395
+ caslib : str ,
396
+ properties : dict = None ,
397
+ sessId : str = None ,
398
+ server : str = None ,
399
+ ):
363
400
"""Saves a CAS table to a source table
364
401
365
402
Parameters
@@ -371,7 +408,7 @@ def save_table(
371
408
caslib : str
372
409
Name of the caslib.
373
410
propertes : dict, optional
374
- Properties of the table.
411
+ Properties of the table.
375
412
Valid keys are `caslibName`, `format`, `replace`,
376
413
`compress`, `tableName`, `sourceTableName`, `parameters`.
377
414
server : str
@@ -384,19 +421,28 @@ def save_table(
384
421
server = server or DEFAULT_SERVER
385
422
386
423
if properties :
387
- allowedBodyKeys = ["caslibName" , "format" , "replace" ,
388
- "compress" , "tableName" , "sourceTableName" , "parameters" ]
389
-
390
- if not all (key in allowedBodyKeys for key in properties .keys ()) :
391
- raise ValueError ("The only acceptable properties are %s." % (allowedBodyKeys ))
424
+ allowedBodyKeys = [
425
+ "caslibName" ,
426
+ "format" ,
427
+ "replace" ,
428
+ "compress" ,
429
+ "tableName" ,
430
+ "sourceTableName" ,
431
+ "parameters" ,
432
+ ]
433
+
434
+ if not all (key in allowedBodyKeys for key in properties .keys ()):
435
+ raise ValueError (
436
+ "The only acceptable properties are %s." % (allowedBodyKeys )
437
+ )
392
438
else :
393
439
properties = {}
394
-
440
+
395
441
query = {"sessionId" : sessId } if sessId else {}
396
-
442
+
397
443
sess = cls .post (
398
- "/servers/%s/caslibs/%s/tables/%s" % (server ,caslib ,name ),
399
- params = query
400
- json = properties
401
- )
444
+ "/servers/%s/caslibs/%s/tables/%s" % (server , caslib , name ),
445
+ params = query ,
446
+ json = properties ,
447
+ )
402
448
return sess
0 commit comments