@@ -140,6 +140,24 @@ def get_daily_training(date: datetime.date):
140140 return sessions
141141
142142
143+ def get_cores ():
144+ coreids = json .loads (config .get ('ppms' , 'coreids' ))
145+ logger .debug (f'get cores for core ids: { "," .join (str (c ) for c in coreids )} ' )
146+ url = f"{ config .get ('ppms' , 'ppms_url' )} API2/"
147+ payload = f"outformat=json&apikey={ config .get ('ppms' , 'api2_key' )} &action=Report2169"
148+ headers = {
149+ 'Content-Type' : 'application/x-www-form-urlencoded'
150+ }
151+ response = requests .request ("POST" , url , headers = headers , data = payload )
152+ if response .ok :
153+ if response .status_code != 204 :
154+ cores = response .json (strict = False )
155+ if type (cores ) == list and len (cores ) > 0 :
156+ return [c for c in cores if c .get ('Core ID' ) in coreids ]
157+ logger .warning (f'response status_code={ response .status_code } , text="{ response .text } "' )
158+ return []
159+
160+
143161def get_system_pids ():
144162 logger .debug (f'get all system pids' )
145163 url = f"{ config .get ('ppms' , 'ppms_url' )} API2/"
@@ -158,7 +176,8 @@ def get_system_pids():
158176
159177
160178def get_systems ():
161- logger .debug ("get all systems" )
179+ coreids = json .loads (config .get ('ppms' , 'coreids' ))
180+ logger .debug (f'get systems for core ids: { "," .join (str (c ) for c in coreids )} ' )
162181 url = f"{ config .get ('ppms' , 'ppms_url' )} pumapi/"
163182 payload = f"apikey={ config .get ('ppms' , 'ppms_key' )} &action=getsystems"
164183 headers = {
@@ -175,10 +194,11 @@ def get_systems():
175194 for row in _csv_reader :
176195 if (len (row ) > 3 ):
177196 _coreid = int (row [0 ])
178- _systemid = int (row [1 ])
179- _systemtype = row [2 ]
180- _systemname = row [3 ]
181- systems .append ({'coreid' : _coreid , 'systemid' : _systemid , 'systemtype' : _systemtype , 'systemname' : _systemname })
197+ if _coreid in coreids :
198+ _systemid = int (row [1 ])
199+ _systemtype = row [2 ]
200+ _systemname = row [3 ]
201+ systems .append ({'coreid' : _coreid , 'systemid' : _systemid , 'systemtype' : _systemtype , 'systemname' : _systemname })
182202 return systems
183203 logger .warning (f'response status_code={ response .status_code } , text="{ response .text } "' )
184204 return []
@@ -205,7 +225,8 @@ def get_system_rights(systemid: int):
205225
206226
207227def get_projects ():
208- logger .debug ("get all projects" )
228+ coreids = json .loads (config .get ('ppms' , 'coreids' ))
229+ logger .debug (f'get projects for core ids: { "," .join (str (c ) for c in coreids )} ' )
209230 url = f"{ config .get ('ppms' , 'ppms_url' )} pumapi/"
210231 payload = f"apikey={ config .get ('ppms' , 'ppms_key' )} &action=getprojects&active=true&format=json"
211232 # payload=f"apikey={config.get('ppms', 'ppms_key')}&action=getprojects&format=json"
@@ -217,7 +238,7 @@ def get_projects():
217238 if response .status_code == 204 :
218239 return []
219240 else :
220- return response .json (strict = False )
241+ return [ p for p in response .json (strict = False ) if p . get ( 'CoreFacilityRef' ) in coreids ]
221242 else :
222243 return []
223244
@@ -285,7 +306,6 @@ def get_rdm_collection(coreid: int, projectid: int):
285306 return ""
286307
287308def get_rdm_collections (coreid : int = None ):
288- logger .debug ("@get_rdm_collections: get all rdm collections" )
289309 url = f"{ config .get ('ppms' , 'ppms_url' )} API2/"
290310 headers = { 'Content-Type' : 'application/x-www-form-urlencoded' }
291311 action = config .get ('ppms' , 'qcollections_action' )
@@ -295,6 +315,7 @@ def get_rdm_collections(coreid: int = None):
295315 coreids = json .loads (config .get ('ppms' , 'coreids' ))
296316 else :
297317 coreids = [coreid ]
318+ logger .debug (f'get rdm collections for core ids: { "," .join (str (c ) for c in coreids )} ' )
298319 for coreid in coreids :
299320 payload = f"apikey={ config .get ('ppms' , 'api2_key' )} &action={ action } &coreid={ coreid } &outformat=json"
300321 response = requests .request ("POST" , url , headers = headers , data = payload )
0 commit comments