diff --git a/weboob/capabilities/base.py b/weboob/capabilities/base.py index bae5699e5c4c089dd800b775428bac8f8088126c..26277bf1f85d878d9b96407518bed731b625366e 100644 --- a/weboob/capabilities/base.py +++ b/weboob/capabilities/base.py @@ -679,3 +679,7 @@ def currency2txt(klass, currency): def capability_to_string(capability_klass): return re.match(r'^Cap(\w+)', capability_klass.__name__).group(1).lower() + + +class DeprecatedFieldWarning(UserWarning): + pass diff --git a/weboob/capabilities/bill.py b/weboob/capabilities/bill.py index b87f88b2f5f4a4614a0bcd234549514d8e13db62..fae53edac261cd42065d7388407e1b139eb51eeb 100644 --- a/weboob/capabilities/bill.py +++ b/weboob/capabilities/bill.py @@ -17,10 +17,11 @@ # You should have received a copy of the GNU Lesser General Public License # along with weboob. If not, see . +import warnings from .base import ( BaseObject, StringField, DecimalField, BoolField, UserError, Currency, Field, - empty, + empty, DeprecatedFieldWarning, ) from .date import DateField from .collection import CapCollection @@ -124,12 +125,21 @@ def __repr__(self): # compatibility properties @property def price(self): + warnings.warn( + 'Field "price" is deprecated, use "total_amount" field instead.', + DeprecatedFieldWarning, stacklevel=3, + ) + if empty(self.total_price): return self.total_price return abs(self.total_price) @price.setter def price(self, value): + warnings.warn( + 'Field "price" is deprecated, use "total_amount" field instead.', + DeprecatedFieldWarning, stacklevel=3, + ) if empty(value): self.total_price = value self._income = None @@ -144,12 +154,22 @@ def price(self, value): @property def income(self): + warnings.warn( + 'Field "income" is deprecated, use "total_amount" field instead.', + DeprecatedFieldWarning, stacklevel=3, + ) + if empty(self.total_price): return self._income or False return self.total_price <= 0 @income.setter def income(self, value): + warnings.warn( + 'Field "income" is deprecated, use "total_amount" field instead.', + DeprecatedFieldWarning, stacklevel=3, + ) + if empty(self.total_price): self._income = value else: