Пример #1
0
 def save_data_products(self,
                        observation_record,
                        product_id=None,
                        reduced=True):
     from tom_dataproducts.models import DataProduct
     from tom_dataproducts.utils import create_image_dataproduct
     final_products = []
     products = self.data_products(observation_record.observation_id,
                                   product_id)
     logger.debug(f'Saving {len(products)} files')
     for product in products:
         if reduced and ('e91' not in product['filename']):
             continue
         dp, created = DataProduct.objects.get_or_create(
             product_id=product['id'],
             target=observation_record.target,
             observation_record=observation_record,
             extra_data=json.dumps(product['extra']))
         if created:
             product_data = requests.get(product['url']).content
             dfile = ContentFile(product_data)
             dp.data.save(product['filename'], dfile)
             dp.data_product_type = self.find_data_product_type(
                 dp.data.name)
             dp.save()
             logger.debug(f"Saved {product['filename']}")
             # dp.get_preview()
         if AUTO_THUMBNAILS:
             create_image_dataproduct(dp)
         final_products.append(dp)
     return final_products
Пример #2
0
 def test_create_jpeg(self, dp_mock):
     products = DataProduct.objects.filter(data_product_type='image_file')
     self.assertEqual(products.count(), 0)
     resp = create_image_dataproduct(self.data_product)
     self.assertTrue(resp)
     products = DataProduct.objects.filter(data_product_type='image_file')
     self.assertEqual(products.count(), 1)
Пример #3
0
    def save_data_products(self, observation_record, product_id=None):
        from tom_dataproducts.models import DataProduct
        from tom_dataproducts.utils import create_image_dataproduct
        final_products = []
        products = self.data_products(observation_record.observation_id,
                                      product_id)

        for product in products:
            dp, created = DataProduct.objects.get_or_create(
                product_id=product['id'],
                target=observation_record.target,
                observation_record=observation_record,
            )
            if created:
                product_data = requests.get(product['url']).content
                dfile = ContentFile(product_data)
                dp.data.save(product['filename'], dfile)
                dp.save()
                dp.get_preview()
            if AUTO_THUMBNAILS:
                create_image_dataproduct(dp)
            final_products.append(dp)
        return final_products