@@ -190,6 +190,36 @@ def finalize(wrapper, new_doc):
190
190
obj .__doc__ = new_doc
191
191
obj .__init__ = wrapper
192
192
return obj
193
+
194
+ elif isinstance (obj , property ):
195
+ obj_type = "attribute"
196
+ func = None
197
+ name = name or obj .fget .__name__
198
+ old_doc = obj .__doc__
199
+
200
+ class _deprecated_property (property ):
201
+ def __get__ (self , instance , owner ):
202
+ if instance is not None :
203
+ from . import _warn_external
204
+ _warn_external (message , category )
205
+ return super ().__get__ (instance , owner )
206
+
207
+ def __set__ (self , instance , value ):
208
+ if instance is not None :
209
+ from . import _warn_external
210
+ _warn_external (message , category )
211
+ return super ().__set__ (instance , value )
212
+
213
+ def __delete__ (self , instance ):
214
+ if instance is not None :
215
+ from . import _warn_external
216
+ _warn_external (message , category )
217
+ return super ().__delete__ (instance )
218
+
219
+ def finalize (_ , new_doc ):
220
+ return _deprecated_property (
221
+ fget = obj .fget , fset = obj .fset , fdel = obj .fdel , doc = new_doc )
222
+
193
223
else :
194
224
obj_type = "function"
195
225
if isinstance (obj , classmethod ):
0 commit comments