def get_planes(self):
        planes = collections.OrderedDict()
        _plane = plane.Plane("productID")
        if self.complete:
            _plane.meta_release = Caom2TestInstances._ivoa_date
            _plane.data_release = Caom2TestInstances._ivoa_date
            _plane.data_product_type = plane.DataProductType.IMAGE
            _plane.calibration_level = plane.CalibrationLevel.PRODUCT
            _plane.provenance = self.get_provenance()
            _plane.metrics = self.get_metrics()
            _plane.last_modified = common.get_current_ivoa_time()
            if self.caom_version >= 23:
                _plane.creator_id = "ivo://cadc.nrc.ca?testuser"
                _plane.max_last_modified = common.get_current_ivoa_time()
                _plane.meta_checksum = common.ChecksumURI("md5:9882dbbf9cadc221019b712fd402bcbd")
                _plane.acc_meta_checksum = common.ChecksumURI("md5:844ce247db0844ad9f721430c80e7a21")
            if self.caom_version >= 22:
                _plane.position = self.get_position()
                _plane.energy = self.get_energy()
                _plane.time = self.get_time()
                _plane.polarization = self.get_polarization()
            if self.caom_version == 21:
                _plane.quality = self.get_quality()

        if self.depth > 2:
            for k, v in six.iteritems(self.get_artifacts()):
                _plane.artifacts[k] = v
        planes["productID"] = _plane
        return planes
Example #2
0
 def get_test_plane(planeID):
     test_plane = plane.Plane(planeID)
     uri1 = 'uri:foo/bar1'
     uri2 = 'uri:foo/bar2'
     uri3 = 'uri:foo/bar3'
     product_type = chunk.ProductType.SCIENCE
     a1 = ArtifactTestUtil.get_test_artifact(uri1, product_type)
     a2 = ArtifactTestUtil.get_test_artifact(uri2, product_type)
     a3 = ArtifactTestUtil.get_test_artifact(uri3, product_type)
     test_plane.artifacts[uri1] = a1
     test_plane.artifacts[uri2] = a2
     test_plane.artifacts[uri3] = a3
     return test_plane
Example #3
0
    def get_planes(self):
        planes = collections.OrderedDict()
        if self.caom_version < 22:
            shapes = ['']
        elif self.caom_version >= 23:
            shapes = ['polygon', 'circle']
        else:
            shapes = ['polygon']

        for s in shapes:
            prod_id = "productID{}".format(s)
            _plane = plane.Plane(prod_id)
            if self.complete:
                _plane.meta_release = Caom2TestInstances._ivoa_date
                _plane.data_release = Caom2TestInstances._ivoa_date
                _plane.data_product_type = plane.DataProductType.IMAGE
                _plane.calibration_level = plane.CalibrationLevel.PRODUCT
                _plane.provenance = self.get_provenance()
                _plane.metrics = self.get_metrics()
                _plane.last_modified = common.get_current_ivoa_time()
                if self.caom_version >= 23:
                    _plane.creator_id = "ivo://cadc.nrc.ca?testuser"
                    _plane.max_last_modified = common.get_current_ivoa_time()
                    _plane.meta_checksum = common.ChecksumURI(
                        "md5:9882dbbf9cadc221019b712fd402bcbd")
                    _plane.acc_meta_checksum = common.ChecksumURI(
                        "md5:844ce247db0844ad9f721430c80e7a21")
                if s == 'polygon':
                    _plane.position = self.get_poly_position()
                if s == 'circle':
                    _plane.position = self.get_circle_position()
                _plane.energy = self.get_energy()
                _plane.time = self.get_time()
                _plane.polarization = self.get_polarization()
                if self.caom_version >= 24:
                    _plane.custom_axis = self.get_custom()
                    _plane.meta_read_groups.add('ivo://cadc.nrc.ca/groups?A')
                    _plane.meta_read_groups.add('ivo://cadc.nrc.ca/groups?D')
                    _plane.data_read_groups.add('ivo://cadc.nrc.ca/groups?B')
                    _plane.data_read_groups.add('ivo://cadc.nrc.ca/groups?C')

            if self.depth > 2:
                for k, v in six.iteritems(self.get_artifacts()):
                    _plane.artifacts[k] = v
            planes[prod_id] = _plane
        return planes