def checkbrainkexistence(server,token,bkhash) : querystring = ''.join([server, "/object.xml?key=brainkhash&value=", bkhash]) documentlist = common.checkexistence(server,token,querystring) if len(documentlist) == 0: return None else: return documentlist[0]
def checkdicomexistence(server,token,uid): querystring = ''.join([server, "/object.xml?key=series-instance-uid&value=", uid]) documentlist = common.checkexistence(server,token,querystring) if len(documentlist) == 0: return None else: return documentlist[0]
def find_parent_braink(server,token,lfm_hdr_path) : parent_bk_files=['dipolesFileName1','dipolesFileName2','geometryFileName','normalsFileName','sensorsFileName'] parsed_lfmhdr=parselfmheader(lfm_hdr_path) idsets=[] for p in parent_bk_files : bkhash=common.rawfilehash(parsed_lfmhdr[p]) # now search on these tags ... how to do it ? # print bkhash querystring = ''.join( [server, "/object.xml?key=artifacthash&value=", bkhash]) idlist_curr=[common.get_id_from_parsed_xml(xml) for xml in common.checkexistence(server, token, querystring) ] idsets.append( frozenset(idlist_curr) ) # If I understand correctly, calling reduce with intersection # function on list of sets computes intersection of all the sets intersect_ids=reduce(frozenset.intersection,idsets) if len(intersect_ids)==0 : return None if len(intersect_ids)>1 : print 'Warning : multiple matching BrainK objects found : ' for id in intersect_ids : print id return list(intersect_ids)[0]
def checksubjectexistence(server, token, subject): querystring = ''.join( [server, "/object.xml?key=name&value=", subject.name]) subjectlist = common.checkexistence(server, token, querystring) if len(subjectlist) == 0: return None else: return subjectlist[0]