1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-18 09:57:40 +03:00

Deprecated camelCase methods

Python prefers snake_case methods and camelCase classes. This replaces
some camelCase methods with snake_case variants, and has the original
names raise a DeprecationWarning before calling the snake_case versions
This commit is contained in:
A_D 2020-11-07 16:49:37 +02:00 committed by Athanasius
parent ac7a1fa63e
commit b5282fc8ea
3 changed files with 20 additions and 7 deletions

View File

@ -227,7 +227,7 @@ a single set and two get methods, the new methods provide better type safety.
**Be sure to use a unique prefix for any settings you save so as not to clash **Be sure to use a unique prefix for any settings you save so as not to clash
with core EDMC or other plugins.** with core EDMC or other plugins.**
Use `numberFromString()` from EDMC's `l10n.Locale` object to parse input Use `number_from_string()` from EDMC's `l10n.Locale` object to parse input
numbers in a locale-independent way. numbers in a locale-independent way.
Note that in the following example the function signature defines that it Note that in the following example the function signature defines that it
@ -288,7 +288,7 @@ For a more complicated item create a tk.Frame widget and populate it with other
ttk widgets. Return `None` if you just want to use this as a callback after the ttk widgets. Return `None` if you just want to use this as a callback after the
main window and all other plugins are initialised. main window and all other plugins are initialised.
You can use `stringFromNumber()` from EDMC's `l10n.Locale` object to format You can use `string_from_number()` from EDMC's `l10n.Locale` object to format
numbers in your widgets in a locale-independent way. numbers in your widgets in a locale-independent way.
```python ```python

21
l10n.py
View File

@ -13,6 +13,7 @@ from contextlib import suppress
from os.path import basename, dirname, exists, isdir, isfile, join from os.path import basename, dirname, exists, isdir, isfile, join
from sys import platform from sys import platform
from typing import TYPE_CHECKING, Dict, Iterable, Optional, Set, TextIO, Union, cast from typing import TYPE_CHECKING, Dict, Iterable, Optional, Set, TextIO, Union, cast
import warnings
if TYPE_CHECKING: if TYPE_CHECKING:
def _(x: str) -> str: ... def _(x: str) -> str: ...
@ -93,7 +94,7 @@ class _Translations:
available.add(_Translations.FALLBACK) available.add(_Translations.FALLBACK)
if not lang: if not lang:
# Choose the default language # Choose the default language
for preferred in Locale.preferredLanguages(): for preferred in Locale.preferred_languages():
components = preferred.split('-') components = preferred.split('-')
if preferred in available: if preferred in available:
lang = preferred lang = preferred
@ -246,7 +247,19 @@ class _Locale:
self.float_formatter.setMinimumFractionDigits_(5) self.float_formatter.setMinimumFractionDigits_(5)
self.float_formatter.setMaximumFractionDigits_(5) self.float_formatter.setMaximumFractionDigits_(5)
def stringFromNumber(self, number: Union[float, int], decimals: int = None) -> str: def stringFromNumber(self, number: Union[float, int], decimals: int = None) -> str: # noqa: N802
warnings.warn(DeprecationWarning('use _Locale.string_from_number instead.'))
return self.stringFromNumber(number, decimals)
def numberFromString(self, string: str) -> Union[int, float, None]: # noqa: N802
warnings.warn(DeprecationWarning('use _Locale.number_from_string instead.'))
return self.numberFromString(string)
def preferredLanguages(self) -> Iterable[str]: # noqa: N802
warnings.warn(DeprecationWarning('use _Locale.preferred_languages instead.'))
return self.preferred_languages()
def string_from_number(self, number: Union[float, int], decimals: int = None) -> str:
""" """
Convert a number to a string. Convert a number to a string.
@ -275,7 +288,7 @@ class _Locale:
else: else:
return locale.format('%.*f', (decimals, number), True) # type: ignore # It ends up working out return locale.format('%.*f', (decimals, number), True) # type: ignore # It ends up working out
def numberFromString(self, string: str) -> Union[int, float, None]: def number_from_string(self, string: str) -> Union[int, float, None]:
""" """
Convert a string to a number using the system locale. Convert a string to a number using the system locale.
@ -294,7 +307,7 @@ class _Locale:
return None return None
def preferredLanguages(self) -> Iterable[str]: def preferred_languages(self) -> Iterable[str]:
""" """
Return a list of preferred language codes. Return a list of preferred language codes.

View File

@ -448,4 +448,4 @@ class StatsResults(tk.Toplevel):
def credits(self, value: int) -> str: def credits(self, value: int) -> str:
"""Localised string of given int, including a trailing ` Cr`.""" """Localised string of given int, including a trailing ` Cr`."""
# TODO: Locale is a class, this calls an instance method on it with an int as its `self` # TODO: Locale is a class, this calls an instance method on it with an int as its `self`
return Locale.stringFromNumber(value, 0) + ' Cr' # type: ignore return Locale.string_from_number(value, 0) + ' Cr' # type: ignore