- #Updates the job_id and the nodes list
- #The nodes list is never erased.
- def update_job(self, hrn, job_id= None, nodes = None ):
- slice_rec = slab_dbsession.query(SliceSenslab).filter_by(slice_hrn = hrn).first()
- print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES update_job slice_rec %s"%(slice_rec)
- if job_id is not None:
- slice_rec.oar_job_id = job_id
- if nodes is not None :
- slice_rec.node_list = nodes
- slab_dbsession.commit()
-
- def find (self, name = None, filter_dict = None):
- print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find filter_dict %s"%(filter_dict)
-
- #Filter_by can not handle more than one argument, hence these functions
- def filter_id_user(query, user_id):
- print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find filter_id_user"
- return query.filter_by(record_id_user = user_id)
-
- def filter_job(query, job):
- print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find filter_job "
- return query.filter_by(oar_job_id = job)
-
- def filer_id_slice (query, id_slice):
- print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find filer_id_slice"
- return query.filter_by(record_id_slice = id_slice)
-
- def filter_slice_hrn(query, hrn):
- print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find filter_slice_hrn"
- return query.filter_by(slice_hrn = hrn)
-
-
- extended_filter = {'record_id_user': filter_id_user,
- 'oar_job_id':filter_job,
- 'record_id_slice': filer_id_slice,
- 'slice_hrn': filter_slice_hrn}
-
- Q = slab_dbsession.query(SliceSenslab)
-
- if filter_dict is not None:
- for k in filter_dict:
- try:
- newQ= extended_filter[k](Q, filter_dict[k])
- Q = newQ
- except KeyError:
- print>>sys.stderr, "\r\n \t\t FFFFFFFFFFFFFFFFUUUUUUUUFUFUFU!!!!!!!!"
- print>>sys.stderr, " HEEEEEEEEEEEEY %s " %(Q.first())
- rec = Q.first()
- print>>sys.stderr, " \r\n \r\n \t SLABPOSTGRES find rec %s" %(rec)
- return dict(zip(['record_id_user','oar_job_id', 'record_id_slice','slice_hrn'],[rec.record_id_user,rec.oar_job_id,rec.record_id_slice, rec.slice_hrn]))
- #reclist = []
- ##for rec in Q.all():
- #reclist.append(dict(zip(['record_id_user','oar_job_id', 'record_id_slice','slice_hrn'],[rec.record_id_user,rec.oar_job_id,rec.record_id_slice, rec.slice_hrn])))
- #return reclist
-
-