コード例 #1
0
 def test_04_02_reopen_with_write(self):
     self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 1] = "Hello"
     self.hdf5_dict.close()
     self.hdf5_dict = H5DICT.HDF5Dict(self.temp_filename, mode="r+")
     self.assertEqual(self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 1], "Hello")
     self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 2] = "World"
     self.assertEqual(self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 2], "World")
     self.hdf5_dict.close()
     self.hdf5_dict = H5DICT.HDF5Dict(self.temp_filename, mode="a")
     self.assertEqual(self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 1], "Hello")
     self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 3] = "Append"
     self.assertEqual(self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 3],
                      "Append")
コード例 #2
0
 def test_05_01_in_memory(self):
     if sys.platform == "darwin":
         self.assertRaises(NotImplementedError, H5DICT.HDF5Dict, None)
     else:
         hdf5_dict = H5DICT.HDF5Dict(None)
         hdf5_dict[OBJECT_NAME, FEATURE_NAME, 1] = "Hello"
         self.assertEqual(hdf5_dict[OBJECT_NAME, FEATURE_NAME, 1], "Hello")
コード例 #3
0
    def test_04_01_reopen_read_only(self):
        self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 1] = "Hello"
        self.hdf5_dict.close()

        self.hdf5_dict = H5DICT.HDF5Dict(self.temp_filename, mode="r")
        self.assertEqual(self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 1], "Hello")
        with self.assertRaises(Exception):
            self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 2] = "World"
コード例 #4
0
 def test_06_01_reorder(self):
     r = np.random.RandomState()
     r.seed(601)
     values = ["v%d" % i for i in range(1, 11)]
     for idx in r.permutation(len(values)):
         self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, idx + 1] = values[idx]
     new_image_numbers = np.hstack(([0], r.permutation(len(values)) + 1))
     self.hdf5_dict.reorder(OBJECT_NAME, FEATURE_NAME, new_image_numbers)
     for reopen in (False, True):
         if reopen:
             self.hdf5_dict.close()
             self.hdf5_dict = H5DICT.HDF5Dict(self.temp_filename, mode="r")
         for idx, image_number in enumerate(new_image_numbers[1:]):
             self.assertEqual(
                 values[idx], self.hdf5_dict[OBJECT_NAME, FEATURE_NAME,
                                             image_number])
コード例 #5
0
    def test_08_01_copy(self):
        self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 1] = "Hello"
        temp_fd, temp_filename = tempfile.mkstemp(".h5")
        try:
            h5copy = H5DICT.HDF5Dict(temp_filename,
                                     copy=self.hdf5_dict.top_group)

            self.assertTrue(h5copy.has_object(OBJECT_NAME))
            self.assertTrue(h5copy.has_feature(OBJECT_NAME, FEATURE_NAME))
            self.assertEqual(h5copy[OBJECT_NAME, FEATURE_NAME, 1], "Hello")
        finally:
            h5copy.close()
            os.close(temp_fd)
            os.remove(temp_filename)
            self.assertFalse(
                os.path.exists(temp_filename),
                "If the file can't be removed, it's a bug. "
                "Clean up your trash: %s" % temp_filename)
コード例 #6
0
 def test_07_01_file_contents(self):
     self.hdf5_dict[OBJECT_NAME, FEATURE_NAME, 1] = "Hello"
     contents = self.hdf5_dict.file_contents()
     fd, filename = tempfile.mkstemp(".h5")
     if sys.platform.startswith("win"):
         import msvcrt
         msvcrt.setmode(fd, os.O_BINARY)
     os.write(fd, contents)
     os.close(fd)
     h5copy = None
     try:
         h5copy = H5DICT.HDF5Dict(filename, mode="r")
         self.assertTrue(h5copy.has_feature(OBJECT_NAME, FEATURE_NAME))
         self.assertEqual(h5copy[OBJECT_NAME, FEATURE_NAME, 1], "Hello")
     finally:
         if h5copy is not None:
             h5copy.close()
         os.unlink(filename)
コード例 #7
0
 def setUp(self):
     self.temp_fd, self.temp_filename = tempfile.mkstemp(".h5")
     self.hdf5_dict = H5DICT.HDF5Dict(self.temp_filename)