Exemplo n.º 1
0
 def test_getTaskConfig(self):
     taskName = "ExecDozor"
     dictConfig = UtilsConfig.getTaskConfig(taskName, site='esrf_id30a2')
     self.assertTrue("ix_min" in dictConfig)
     taskName = "ISPyB"
     dictConfig = UtilsConfig.getTaskConfig(taskName, site='esrf_id30a2')
     self.assertTrue("username" in dictConfig)
     self.assertEqual(dictConfig["username"], os.environ["ISPyB_user"])
Exemplo n.º 2
0
 def run(self, inData):
     dictConfig = UtilsConfig.getTaskConfig('ISPyB')
     username = dictConfig['username']
     password = dictConfig['password']
     httpAuthenticated = HttpAuthenticated(username=username,
                                           password=password)
     wdsl = dictConfig['ispyb_ws_url'] + '/ispybWS/ToolsForCollectionWebService?wsdl'
     client = Client(wdsl, transport=httpAuthenticated, cache=None)
     if 'image' in inData:
         path = pathlib.Path(inData['image'])
         indir = path.parent.as_posix()
         infilename = path.name
         dataCollection = client.service.findDataCollectionFromFileLocationAndFileName(
             indir,
             infilename
         )
     elif 'dataCollectionId' in inData:
         dataCollectionId = inData['dataCollectionId']
         dataCollection = client.service.findDataCollection(dataCollectionId)
     else:
         errorMessage = 'Neither image nor data collection id given as input!'
         logger.error(errorMessage)
         raise BaseException(errorMessage)
     if dataCollection is not None:
         outData = Client.dict(dataCollection)
     else:
         outData = {}
     return outData
Exemplo n.º 3
0
 def getExpectedSize(self, imagePath):
     # Not great but works...
     expectedSize = 1000000
     for beamline in [
             "id23eh1", "id23eh2", "id30a1", "id30a2", "id30a3", "id30b"
     ]:
         if beamline in imagePath:
             taskConfig = UtilsConfig.getTaskConfig("ExpectedFileSize",
                                                    "esrf_" + beamline)
             expectedSize = int(taskConfig["image"])
             break
     return expectedSize
Exemplo n.º 4
0
 def run(self, inData):
     # urlExtISPyB, token, proposal, autoProcProgramId
     token = inData['token']
     proposal = inData['proposal']
     autoProcProgramId = inData['autoProcProgramId']
     dictConfig = UtilsConfig.getTaskConfig('ISPyB')
     restUrl = dictConfig['ispyb_ws_url'] + '/rest'
     ispybWebServiceURL = os.path.join(
         restUrl, token, 'proposal', str(proposal), 'mx',
         'autoprocintegration', 'attachment', 'autoprocprogramid',
         str(autoProcProgramId), 'list')
     dataFromUrl = UtilsIspyb.getDataFromURL(ispybWebServiceURL)
     outData = {}
     if dataFromUrl['statusCode'] == 200:
         outData['autoprocAttachment'] = dataFromUrl['data']
     else:
         outData['error'] = dataFromUrl
     return outData
Exemplo n.º 5
0
 def run(self, inData):
     dictConfig = UtilsConfig.getTaskConfig('ISPyB')
     username = dictConfig['username']
     password = dictConfig['password']
     httpAuthenticated = HttpAuthenticated(username=username,
                                           password=password)
     wdsl = dictConfig['ispyb_ws_url'] + '/ispybWS/ToolsForCollectionWebService?wsdl'
     client = Client(wdsl, transport=httpAuthenticated, cache=None)
     manufacturer = inData['manufacturer']
     model = inData['model']
     mode = inData['mode']
     detector = client.service.findDetectorByParam(
         "",
         manufacturer,
         model,
         mode
     )
     if detector is not None:
         outData = Client.dict(detector)
     else:
         outData = {}
     return outData
Exemplo n.º 6
0
 def run(self, inData):
     urlError = None
     listPath = []
     token = inData['token']
     proposal = inData['proposal']
     listAttachment = inData['attachment']
     dictConfig = UtilsConfig.getTaskConfig('ISPyB')
     restUrl = dictConfig['ispyb_ws_url'] + '/rest'
     # proposal/MX2112/mx/autoprocintegration/autoprocattachmentid/21494689/get
     for dictAttachment in listAttachment:
         attachmentId = dictAttachment['id']
         fileName = dictAttachment['fileName']
         ispybWebServiceURL = os.path.join(
             restUrl, token, 'proposal', str(proposal), 'mx',
             'autoprocintegration', 'autoprocattachmentid', str(attachmentId),
             'get')
         rawDataFromUrl = UtilsIspyb.getRawDataFromURL(ispybWebServiceURL)
         if rawDataFromUrl['statusCode'] == 200:
             rawData = rawDataFromUrl['content']
             if fileName.endswith('.gz'):
                 rawData = gzip.decompress(rawData)
                 fileName = fileName.split('.gz')[0]
             with open(fileName, "wb") as f:
                 f.write(rawData)
             listPath.append(str(self.getWorkingDirectory() / fileName))
         else:
             urlError = rawDataFromUrl
     if urlError is None:
         outData = {
             'filePath': listPath
         }
     else:
         outData = {
             'error': urlError
         }
     return outData
Exemplo n.º 7
0
def getWdslRoot():
    dictConfig = UtilsConfig.getTaskConfig('ISPyB')
    wdslRoot = dictConfig['ispyb_ws_url']
    return wdslRoot
Exemplo n.º 8
0
def getWdslRoot():
    dictConfig = UtilsConfig.getTaskConfig("ISPyB")
    wdslRoot = dictConfig["ispyb_ws_url"]
    return wdslRoot