Esempio n. 1
0
 def test_image(self):
     image = pyvips.Image.new_from_file(JPEG_FILE)
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.image_type)
     gv.set(image)
     value = gv.get()
     self.assertEqual(value, image)
Esempio n. 2
0
 def test_array_image(self):
     image = pyvips.Image.new_from_file(JPEG_FILE)
     r, g, b = image.bandsplit()
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.array_image_type)
     gv.set([r, g, b])
     value = gv.get()
     self.assertEqual(value, [r, g, b])
Esempio n. 3
0
 def test_blob(self):
     with open(JPEG_FILE, 'rb') as f:
         blob = f.read()
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.blob_type)
     gv.set(blob)
     value = gv.get()
     self.assertEqual(value, blob)
Esempio n. 4
0
    def test_bool(self):
        gv = pyvips.GValue()
        gv.set_type(pyvips.GValue.gbool_type)
        gv.set(True)
        value = gv.get()
        self.assertEqual(value, True)

        gv.set(False)
        value = gv.get()
        self.assertEqual(value, False)
Esempio n. 5
0
    def test_bool(self):
        gv = pyvips.GValue()
        gv.set_type(pyvips.GValue.gbool_type)
        gv.set(True)
        value = gv.get()
        assert value

        gv.set(False)
        value = gv.get()
        assert not value
Esempio n. 6
0
 def test_flags(self):
     # the OperationFlags enum is created when the first op is made --
     # make it ourselves in case we are run before that
     pyvips.vips_lib.vips_operation_flags_get_type()
     operationflags_gtype = pyvips.gobject_lib. \
         g_type_from_name(b'VipsOperationFlags')
     gv = pyvips.GValue()
     gv.set_type(operationflags_gtype)
     gv.set(12)
     value = gv.get()
     self.assertEqual(value, 12)
Esempio n. 7
0
 def test_enum(self):
     # the Interpretation enum is created when the first image is made --
     # make it ourselves in case we are run before the first image
     pyvips.vips_lib.vips_interpretation_get_type()
     interpretation_gtype = pyvips.gobject_lib. \
         g_type_from_name(b'VipsInterpretation')
     gv = pyvips.GValue()
     gv.set_type(interpretation_gtype)
     gv.set('xyz')
     value = gv.get()
     self.assertEqual(value, 'xyz')
Esempio n. 8
0
    def set(self, name, value):
        """Set a GObject property.

        The value is converted to the property type, if possible.

        """

        logger.debug('VipsObject.set: name = %s, value = %s', name, value)

        gtype = self.get_typeof(name)

        gv = pyvips.GValue()
        gv.set_type(gtype)
        gv.set(value)
        go = ffi.cast('GObject *', self.pointer)
        gobject_lib.g_object_set_property(go, _to_bytes(name), gv.pointer)
Esempio n. 9
0
    def get(self, name):
        """Get a GObject property.

        The value of the property is converted to a Python value.

        """

        logger.debug('VipsObject.get: name = %s', name)

        pspec = self._get_pspec(name)
        if pspec is None:
            raise Error('Property not found.')
        gtype = pspec.value_type

        gv = pyvips.GValue()
        gv.set_type(gtype)
        go = ffi.cast('GObject *', self.pointer)
        gobject_lib.g_object_get_property(go, _to_bytes(name), gv.pointer)

        return gv.get()
Esempio n. 10
0
 def test_int(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.gint_type)
     gv.set(12)
     value = gv.get()
     self.assertEqual(value, 12)
Esempio n. 11
0
 def test_array_double(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.array_double_type)
     gv.set([1.1, 2.1, 3.1])
     value = gv.get()
     self.assertAlmostEqualObjects(value, [1.1, 2.1, 3.1])
Esempio n. 12
0
 def test_array_int(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.array_int_type)
     gv.set([1, 2, 3])
     value = gv.get()
     self.assertAlmostEqualObjects(value, [1, 2, 3])
Esempio n. 13
0
 def test_string(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.gstr_type)
     gv.set('banana')
     value = gv.get()
     self.assertEqual(value, 'banana')
Esempio n. 14
0
 def test_int(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.gint_type)
     gv.set(12)
     value = gv.get()
     assert value == 12
Esempio n. 15
0
 def test_array_int(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.array_int_type)
     gv.set([1, 2, 3])
     value = gv.get()
     assert_almost_equal_objects(value, [1, 2, 3])
Esempio n. 16
0
 def test_string(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.gstr_type)
     gv.set('banana')
     value = gv.get()
     assert value == 'banana'
Esempio n. 17
0
 def test_double(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.gdouble_type)
     gv.set(3.1415)
     value = gv.get()
     assert value == 3.1415
Esempio n. 18
0
 def test_double(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.gdouble_type)
     gv.set(3.1415)
     value = gv.get()
     self.assertEqual(value, 3.1415)
Esempio n. 19
0
 def test_uint64(self):
     gv = pyvips.GValue()
     gv.set_type(pyvips.GValue.guint64_type)
     gv.set(2 ** 64 - 1)  # G_MAXUINT64
     value = gv.get()
     assert value == 2 ** 64 - 1