def test_importing_rgb_does_not_set_large_format(self):
     data_item = DataItem.DataItem(numpy.zeros((8, 8, 4), dtype=float))
     with contextlib.closing(data_item):
         data_item_rgb = DataItem.DataItem(numpy.zeros((8, 8, 4), dtype=numpy.uint8))
         with contextlib.closing(data_item_rgb):
             data_element = ImportExportManager.create_data_element_from_data_item(data_item, include_data=True)
             data_element_rgb = ImportExportManager.create_data_element_from_data_item(data_item_rgb, include_data=True)
             data_element.pop("large_format")
             data_element_rgb.pop("large_format")
             with contextlib.closing(ImportExportManager.create_data_item_from_data_element(data_element)) as data_item:
                 with contextlib.closing(ImportExportManager.create_data_item_from_data_element(data_element_rgb)) as data_item_rgb:
                     self.assertTrue(data_item.large_format)
                     self.assertFalse(data_item_rgb.large_format)
示例#2
0
 def test_data_item_to_data_element_includes_time_zone(self):
     # created/modified are utc; timezone is specified in metadata/description/time_zone
     data_item = DataItem.DataItem(numpy.zeros((16, 16)))
     data_item.created = datetime.datetime(2013, 6, 18, 14, 5, 4,
                                           0)  # always utc
     data_item.timezone = "Europe/Athens"
     data_item.timezone_offset = "+0300"
     data_item._set_modified(datetime.datetime(2013, 6, 18, 14, 5, 4,
                                               0))  # always utc
     data_item.metadata = {
         "description": {
             "time_zone": {
                 "tz": "+0300",
                 "dst": "+60"
             }
         }
     }
     data_element = ImportExportManager.create_data_element_from_data_item(
         data_item, include_data=False)
     self.assertEqual(
         data_element["datetime_modified"], {
             "dst": "+60",
             "local_datetime": "2013-06-18T17:05:04",
             'tz': "+0300",
             'timezone': "Europe/Athens"
         })
 def test_data_item_to_data_element_and_back_keeps_large_format_flag(self):
     data_item = DataItem.DataItem(numpy.zeros((4, 4, 4)), large_format=True)
     with contextlib.closing(data_item):
         data_element = ImportExportManager.create_data_element_from_data_item(data_item, include_data=True)
         self.assertTrue(data_element.get("large_format"))
         with contextlib.closing(ImportExportManager.create_data_item_from_data_element(data_element)) as data_item:
             self.assertTrue(data_item.large_format)
 def test_data_item_with_numpy_bool_to_data_element_produces_json_compatible_dict(
         self):
     data_item = DataItem.DataItem(numpy.zeros((16, 16)))
     data_item.large_format = numpy.product(
         (2, 3, 4), dtype=numpy.int64) > 10  # produces a numpy.bool_
     with contextlib.closing(data_item):
         data_element = ImportExportManager.create_data_element_from_data_item(
             data_item, include_data=False)
         json.dumps(data_element)
 def test_data_item_to_data_element_produces_json_compatible_dict(self):
     data_item = DataItem.DataItem(numpy.zeros((16, 16)))
     data_item.created = datetime.datetime(2013, 6, 18, 14, 5, 4, 0)  # always utc
     data_item.timezone = "Europe/Athens"
     data_item.timezone_offset = "+0300"
     data_item.source_file_path = "/path/to/source/file"
     data_item._set_modified(datetime.datetime(2013, 6, 18, 14, 5, 4, 0))  # always utc
     data_item.metadata = {"description": {"time_zone": {"tz": "+0300", "dst": "+60"}}}
     data_element = ImportExportManager.create_data_element_from_data_item(data_item, include_data=False)
     json.dumps(data_element)