コード例 #1
0
def setVisit(visit):
    user=GDAMetadataProvider.getInstance().getMetadataValue("federalid")
    if user in ["i06user", "i07user", "i11user", "i22user"]:
        oldvisit = GDAMetadataProvider.getInstance().getMetadataValue("visit")
        try:
            ElogEntry.post("visit manually changed from %s to %s by %s" % (oldvisit, visit, user), "", "gda", None, "BLI07", "BLI07-USR", None)
        except:
            pass
    GDAMetadataProvider.getInstance().setMetadataValue("visit", visit)
コード例 #2
0
def setVisit(visit):
    user=GDAMetadataProvider.getInstance().getMetadataValue("federalid")
    if not _valid_visit(visit):
        raise ValueError(visit + " is not a valid visit")
    if user != "b21user":
        oldvisit = GDAMetadataProvider.getInstance().getMetadataValue("visit")
        try:
            ElogEntry.post("visit manually changed from %s to %s by %s" % (oldvisit, visit, user), "", "gda", None, "BLB21", "BLB21-USR", None)
        except:
            pass
    GDAMetadataProvider.getInstance().setMetadataValue("visit", visit)
コード例 #3
0
    def setVisit(self, visit):
        oldvisit = GDAMetadataProvider.getInstance().getMetadataValue("visit")
        GDAMetadataProvider.getInstance().setMetadataValue("visit", visit)

        user = GDAMetadataProvider.getInstance().getMetadataValue("federalid")
        if "user" in user:  #to get rid of the beamline user account  "ixxuser"
            logTitle = "visit manually changed from %s to %s by %s" % (
                oldvisit, visit, user)
            logContent = ""
            if self.eLogPost(logTitle, logContent):
                logger.simpleLog("Changes logged in eLog")
            else:
                logger.simpleLog("eLog failed")
コード例 #4
0
ファイル: ScanFileLoader.py プロジェクト: kusamau/gda-core
    def __init__(self, filespec=None, dir=None):

        self.format = LocalProperties.get(
            "gda.data.scan.datawriter.dataFormat")
        if dir != None and dir != "None":
            self.dir = dir
        else:
            self.dir = PathConstructor.createFromDefaultProperty()
        self.beamline = GDAMetadataProvider.getInstance().getMetadataValue(
            "instrument", LocalProperties.GDA_INSTRUMENT, "tmp")
        if (self.format == "NexusDataWriter"):
            #really should use scanFileName prefix rather than forcing to beamline-
            self.prefix = LocalProperties.get("gda.data.filePrefix",
                                              self.beamline + "-")
            self.ext = "nxs"
            if filespec == None:
                filespec = "%d" % NumTracker(self.beamline).currentFileNumber

        else:
            self.prefix = ""
            self.ext = "dat"
            if filespec == None:
                filespec = "%d" % NumTracker().currentFileNumber

        filespec = filespec.__str__()

        self.filename = self.tryFiles([
            filespec, self.dir + "/" + filespec,
            self.prefix + filespec + "." + self.ext,
            self.dir + "/" + self.prefix + filespec + "." + self.ext,
            self.dir + "/" + filespec + "." + self.ext
        ])

        if (self.filename == None):
            raise Exception("no file found for %s" % filespec)
コード例 #5
0
ファイル: ScanFileLoader.py プロジェクト: openGDA/gda-core
	def __init__(self, filespec=None, dir=None):
		
		self.format = LocalProperties.get("gda.data.scan.datawriter.dataFormat")
		if dir!=None and dir != "None":
			self.dir=dir
		else:
			self.dir = PathConstructor.createFromDefaultProperty()
		self.beamline = GDAMetadataProvider.getInstance().getMetadataValue("instrument", LocalProperties.GDA_INSTRUMENT, "tmp")
		if (self.format == "NexusDataWriter"):
			#really should use scanFileName prefix rather than forcing to beamline-
			self.prefix = LocalProperties.get("gda.data.filePrefix",self.beamline + "-")
			self.ext = "nxs"
			if filespec==None:
				filespec = "%d" % NumTracker(self.beamline).currentFileNumber
			
		else:
			self.prefix = ""
			self.ext = "dat"
			if filespec==None:
				filespec = "%d" % NumTracker().currentFileNumber
		
		filespec = filespec.__str__()
		
		self.filename = self.tryFiles([ filespec, self.dir+"/"+filespec, self.prefix+filespec+"."+self.ext, self.dir+"/"+self.prefix+filespec+"."+self.ext, self.dir+"/"+filespec+"."+self.ext ])
		
		if (self.filename == None):
			raise Exception("no file found for %s" % filespec)
コード例 #6
0
	def __init__(self, name, scannablesToRead):
		self.setName(name)
		self.scannablesToRead = scannablesToRead
		self.setInputNames([])
		self.setExtraNames([])
		self.setOutputFormat([])
		self.metadata = GDAMetadataProvider.getInstance(0);
コード例 #7
0
 def __init__(self, name, detectorsToCheck):
     self.setName(name)
     self.detectors = detectorsToCheck
     self.setInputNames(["time"])
     self.setExtraNames([])
     self.setOutputFormat(["%5.5f"])
     self.metadata = GDAMetadataProvider.getInstance(0);
     self.scanCommand=None
コード例 #8
0
    def __init__(self, beanFile):
        self.__version__ = '1.02'
        finder = gda.factory.Finder.getInstance()
        find = finder.find
        self.simulate = False
        self.holdsample = SAMPLE_HOLD
        self.samplevolume = 35
        self.beanFile = beanFile
        self.bean = BSSCSessionBean.createFromXML(beanFile)
        self.bssc = finder.listAllLocalObjects(
            "uk.ac.gda.devices.bssc.BioSAXSSampleChanger")[0]
        self.tfg = finder.listAllLocalObjects("gda.device.Timer")[0]
        self.jsf = JythonServerFacade.getInstance()
        self.detector = finder.listAllLocalObjects(
            "uk.ac.gda.server.ncd.detectorsystem.NcdDetectorSystem")[0]
        self.shutter = find("shutter")
        self.bsscscannable = find("bsscscannable")
        self.processing = find("bssc_proc")
        #self.energy = float(find("dcm_energy").getPosition())
        self.sampleConcentration = find("sample_concentration")
        self.sampleName = find("samplename")
        self.sample_type = find('sample_type')
        self.sample_environment = find('sample_environment')
        self.experiment_definition = gdaserver.experiment_definition
        self.metashop = gdaserver.metashop
        self.meta = GDAMetadataProvider.getInstance()

        #need to remove hardcoding
        find("sample_thickness").asynchronousMoveTo(1.6)

        self.progresscounter = 0
        self.overheadsteps = 5
        self.stepspersample = 8

        if self.simulate:
            print "running in simulation mode"
            self.scannables = [self.detector, self.bsscscannable]
        else:
            self.cam = gda.factory.Finder.getInstance().find("bsaxscam")
            self.scannables = [self.detector, self.bsscscannable, self.cam]

        currentVisit = GDAMetadataProvider.getInstance().getMetadataValue(
            "visit")
        self.totalSteps = self.overheadsteps + self.bean.getMeasurements(
        ).size() * self.stepspersample
コード例 #9
0
def getVisit():
    """
    Returns string representing current visit ID, eg cm4963-2
    """
    try:
        gdaMetaProvider=GDAMetadataProvider.getInstance()
    except:
        exceptionType, exception, traceback = sys.exc_info()
        handle_messages.log(None, "problem getting GDA metadata provider", exceptionType, exception, traceback, False)
        print "Failed to get GDA metadata provider:", exception
    return gdaMetaProvider.getMetadataValue(GDAMetadataProvider.EXPERIMENT_IDENTIFIER)
コード例 #10
0
ファイル: BSSC.py プロジェクト: openGDA/gda-scm
    def __init__(self, beanFile):
        self.__version__ = '1.02'
        finder = gda.factory.Finder.getInstance()
        find = finder.find
        self.simulate = False
        self.holdsample = SAMPLE_HOLD
        self.samplevolume = 35
        self.beanFile = beanFile
        self.bean = BSSCSessionBean.createFromXML(beanFile)
        self.bssc = finder.listAllLocalObjects("uk.ac.gda.devices.bssc.BioSAXSSampleChanger")[0]
        self.tfg = finder.listAllLocalObjects("gda.device.Timer")[0]
        self.jsf = JythonServerFacade.getInstance()
        self.detector = finder.listAllLocalObjects("uk.ac.gda.server.ncd.detectorsystem.NcdDetectorSystem")[0]
        self.shutter = find("shutter")
        self.bsscscannable = find("bsscscannable")
        self.processing = find("bssc_proc")
        #self.energy = float(find("dcm_energy").getPosition())
        self.sampleConcentration = find("sample_concentration")
        self.sampleName = find("samplename")
        self.sample_type = find('sample_type')
        self.sample_environment = find('sample_environment')
        self.experiment_definition = gdaserver.experiment_definition
        self.metashop = gdaserver.metashop
        self.meta = GDAMetadataProvider.getInstance()

        #need to remove hardcoding
        find("sample_thickness").asynchronousMoveTo(1.6)

        self.progresscounter = 0
        self.overheadsteps = 5
        self.stepspersample = 8

        if self.simulate:
            print "running in simulation mode"
            self.scannables = [self.detector, self.bsscscannable]
        else:
            self.cam = gda.factory.Finder.getInstance().find("bsaxscam")
            self.scannables = [self.detector, self.bsscscannable, self.cam]

        currentVisit = GDAMetadataProvider.getInstance().getMetadataValue("visit")
        self.totalSteps = self.overheadsteps + self.bean.getMeasurements().size() * self.stepspersample
コード例 #11
0
    def __init__(self, name):
        self.setName(name)
        self.setInputNames([])
        self.setExtraNames([])
        self.setOutputFormat([])

        self.extraHeaderItem = set()
        self.deviceList = []
        self.metadata = GDAMetadataProvider.getInstance(0)
        self.scanLogger = None
        self.startingTime = None
        self.positionString = None
コード例 #12
0
def setTitle(title):
    GDAMetadataProvider.getInstance().setMetadataValue("title", title)
コード例 #13
0
def getSubdirectory():
    return GDAMetadataProvider.getInstance().getMetadataValue("subdirectory")
コード例 #14
0
def setSubdirectory(title):
    GDAMetadataProvider.getInstance().setMetadataValue("subdirectory", title)
コード例 #15
0
def _get_store_key():
    visit = GDAMetadataProvider.getInstance().getMetadataValue('visit')
    key = '%s.bsl' % visit
    return key
コード例 #16
0
ファイル: bslUtils.py プロジェクト: openGDA/gda-core
def _get_store_key():
    visit = GDAMetadataProvider.getInstance().getMetadataValue('visit')
    key = '%s.bsl' %visit
    return key
コード例 #17
0
ファイル: bslUtils.py プロジェクト: openGDA/gda-core
from gda.factory import Finder
from gda.observable import IObserver
from uk.ac.diamond.daq.persistence.jythonshelf import LocalParameters
from gda.data.metadata import GDAMetadataProvider
BSL_CONVERSION_CONFIGURED = 'gda.scan.processing.bsl.configured'

RUNNER = Finder.getInstance().find('bslConversion')

class BslConversionUpdater(IObserver):
    def update(self, source, arg):
        print 'Visit changed to ' + str(arg)
        restore()

if not LocalProperties.contains(BSL_CONVERSION_CONFIGURED):
    LocalProperties.set(BSL_CONVERSION_CONFIGURED, 'True')
    for meta in GDAMetadataProvider.getInstance().getMetadataEntries():
        if meta.name == 'visit':
            break
    if meta:
        meta.addIObserver(BslConversionUpdater())


CONFIGURATION_FILE = 'bslUsers'
DEFAULT = False

STORE = LocalParameters.getXMLConfiguration(CONFIGURATION_FILE)

def isConvertingOn():
    """Check whether new files will be converted automatically"""
    return RUNNER.enabled
コード例 #18
0
from uk.ac.diamond.daq.persistence.jythonshelf import LocalParameters
from gda.data.metadata import GDAMetadataProvider
BSL_CONVERSION_CONFIGURED = 'gda.scan.processing.bsl.configured'

RUNNER = Finder.getInstance().find('bslConversion')


class BslConversionUpdater(IObserver):
    def update(self, source, arg):
        print 'Visit changed to ' + str(arg)
        restore()


if not LocalProperties.contains(BSL_CONVERSION_CONFIGURED):
    LocalProperties.set(BSL_CONVERSION_CONFIGURED, 'True')
    for meta in GDAMetadataProvider.getInstance().getMetadataEntries():
        if meta.name == 'visit':
            break
    if meta:
        meta.addIObserver(BslConversionUpdater())

CONFIGURATION_FILE = 'bslUsers'
DEFAULT = False

STORE = LocalParameters.getXMLConfiguration(CONFIGURATION_FILE)


def isConvertingOn():
    """Check whether new files will be converted automatically"""
    return RUNNER.enabled
コード例 #19
0
def getTitle():
    return GDAMetadataProvider.getInstance().getMetadataValue("title")
コード例 #20
0
def getVisit():
    return GDAMetadataProvider.getInstance().getMetadataValue("visit")
コード例 #21
0
ファイル: HPLC.py プロジェクト: openGDA/gda-scm
 def setTitle(self, title):
     GDAMetadataProvider.getInstance().setMetadataValue("title", title)