@@ -71,7 +71,8 @@ DECLARE_METADATUM_WRAPPERS(XmpData, Xmpdatum)
7171KEEP_REFERENCE_EX (Exiv2::PreviewManager*, args)
7272
7373// Enable len(PreviewImage)
74- SQ_LENGTH(Exiv2::PreviewImage, self->size ())
74+ %feature(" python:slot" , " sq_length" , functype=" lenfunc" )
75+ Exiv2::PreviewImage::size;
7576
7677// Expose Exiv2::PreviewImage contents as a Python buffer
7778%fragment(" buffer_fill_info" {Exiv2::PreviewImage}, " header" ) {
@@ -96,29 +97,17 @@ RETURN_VIEW(Exiv2::byte* data, arg1->size(), PyBUF_READ,
9697DEFINE_VIEW_CALLBACK (Exiv2::PreviewImage,)
9798
9899// Deprecate pData() in favour of data() since 2025-07-02
99- %extend Exiv2::PreviewImage {
100- const Exiv2::byte* pData () {
101- PyErr_WarnEx (PyExc_DeprecationWarning,
102- " Please use data() instead of pData()." , 1 );
103- return $self->pData ();
104- };
105- }
106- %ignore Exiv2::PreviewImage::pData;
100+ DEPRECATE(Exiv2::PreviewImage::pData,
101+ " Please use data() instead of pData()." )
107102
108103// Give Exiv2::PreviewProperties dict-like behaviour
109104STRUCT_DICT(Exiv2::PreviewProperties, false , true )
110105
111- %immutable Exiv2::PreviewProperties::mimeType_;
112- %immutable Exiv2::PreviewProperties::extension_;
113- %immutable Exiv2::PreviewProperties::wextension_;
114- %immutable Exiv2::PreviewProperties::size_;
115- %immutable Exiv2::PreviewProperties::width_;
116- %immutable Exiv2::PreviewProperties::height_;
117- %immutable Exiv2::PreviewProperties::id_;
118-
119106%ignore Exiv2::PreviewImage::operator=;
120107%ignore Exiv2::PreviewProperties::PreviewProperties;
121108
122109#define EXV_ENABLE_FILESYSTEM
110+ %immutable;
123111%include " exiv2/preview.hpp"
112+ %mutable ;
124113#undef EXV_ENABLE_FILESYSTEM
0 commit comments