Skip to content

Commit

Permalink
Add explicit stacklevel= parameters to warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
akx committed Jun 27, 2023
1 parent 110b664 commit f0367fb
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 13 deletions.
9 changes: 6 additions & 3 deletions babel/dates.py
Original file line number Diff line number Diff line change
Expand Up @@ -922,9 +922,12 @@ def format_timedelta(
if format not in ('narrow', 'short', 'medium', 'long'):
raise TypeError('Format must be one of "narrow", "short" or "long"')
if format == 'medium':
warnings.warn('"medium" value for format param of format_timedelta'
' is deprecated. Use "long" instead',
category=DeprecationWarning)
warnings.warn(
'"medium" value for format param of format_timedelta'
' is deprecated. Use "long" instead',
category=DeprecationWarning,
stacklevel=2,
)
format = 'long'
if isinstance(delta, datetime.timedelta):
seconds = int((delta.days * 86400) + delta.seconds)
Expand Down
8 changes: 6 additions & 2 deletions babel/numbers.py
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ def format_number(number: float | decimal.Decimal | str, locale: Locale | str |
"""
warnings.warn('Use babel.numbers.format_decimal() instead.', DeprecationWarning)
warnings.warn('Use babel.numbers.format_decimal() instead.', DeprecationWarning, stacklevel=2)
return format_decimal(number, locale=locale)


Expand Down Expand Up @@ -1190,7 +1190,11 @@ def apply(
# currency's if necessary.
if force_frac:
# TODO (3.x?): Remove this parameter
warnings.warn('The force_frac parameter to NumberPattern.apply() is deprecated.', DeprecationWarning)
warnings.warn(
'The force_frac parameter to NumberPattern.apply() is deprecated.',
DeprecationWarning,
stacklevel=2,
)
frac_prec = force_frac
elif currency and currency_digits:
frac_prec = (get_currency_precision(currency), ) * 2
Expand Down
28 changes: 20 additions & 8 deletions babel/support.py
Original file line number Diff line number Diff line change
Expand Up @@ -393,8 +393,11 @@ def ldgettext(self, domain: str, message: str) -> str:
domain.
"""
import warnings
warnings.warn('ldgettext() is deprecated, use dgettext() instead',
DeprecationWarning, 2)
warnings.warn(
'ldgettext() is deprecated, use dgettext() instead',
DeprecationWarning,
stacklevel=2,
)
return self._domains.get(domain, self).lgettext(message)

def udgettext(self, domain: str, message: str) -> str:
Expand All @@ -416,8 +419,11 @@ def ldngettext(self, domain: str, singular: str, plural: str, num: int) -> str:
domain.
"""
import warnings
warnings.warn('ldngettext() is deprecated, use dngettext() instead',
DeprecationWarning, 2)
warnings.warn(
'ldngettext() is deprecated, use dngettext() instead',
DeprecationWarning,
stacklevel=2,
)
return self._domains.get(domain, self).lngettext(singular, plural, num)

def udngettext(self, domain: str, singular: str, plural: str, num: int) -> str:
Expand Down Expand Up @@ -458,8 +464,11 @@ def lpgettext(self, context: str, message: str) -> str | bytes | object:
``bind_textdomain_codeset()``.
"""
import warnings
warnings.warn('lpgettext() is deprecated, use pgettext() instead',
DeprecationWarning, 2)
warnings.warn(
'lpgettext() is deprecated, use pgettext() instead',
DeprecationWarning,
stacklevel=2,
)
tmsg = self.pgettext(context, message)
encoding = getattr(self, "_output_charset", None) or locale.getpreferredencoding()
return tmsg.encode(encoding) if isinstance(tmsg, str) else tmsg
Expand Down Expand Up @@ -493,8 +502,11 @@ def lnpgettext(self, context: str, singular: str, plural: str, num: int) -> str
``bind_textdomain_codeset()``.
"""
import warnings
warnings.warn('lnpgettext() is deprecated, use npgettext() instead',
DeprecationWarning, 2)
warnings.warn(
'lnpgettext() is deprecated, use npgettext() instead',
DeprecationWarning,
stacklevel=2,
)
ctxt_msg_id = self.CONTEXT_ENCODING % (context, singular)
try:
tmsg = self._catalog[(ctxt_msg_id, self.plural(num))]
Expand Down

0 comments on commit f0367fb

Please sign in to comment.