Example #1
0
    def record_view(self):
        iv = self._record_view
        if not iv:

            iv = IsotopeRecordView()
            iv.extract_script_name = self.extractionName
            iv.meas_script_name = self.measurementName

            irradpos = self.irradiation_position
            iv.identifier = irradpos.identifier
            iv.irradiation = irradpos.level.irradiation.name
            iv.irradiation_level = irradpos.level.name
            iv.irradiation_position_position = irradpos.position

            iv.labnumber = iv.identifier
            iv.experiment_ids = es = [e.experimentName for e in self.experiment_associations]
            if len(es) == 1:
                iv.experiment_identifier = es[0]

            for tag in ('aliquot', 'increment', 'uuid',
                        'extract_value', 'cleanup', 'duration',
                        'mass_spectrometer',
                        'extract_device',
                        'rundate',
                        'analysis_type'):
                setattr(iv, tag, getattr(self, tag))

            if irradpos.sample:
                iv.sample = irradpos.sample.name
                if irradpos.sample.project:
                    iv.project = irradpos.sample.project.name

            iv.timestampf = make_timef(self.timestamp)
            tag = self.change.tag_item
            iv.tag = tag.name
            iv.tag_dict = {k: getattr(tag, k) for k in ('name',) + OMIT_KEYS}
            self._record_view = iv

        return iv