implemented silent mode

This commit is contained in:
Hazel 2024-11-19 15:44:33 +01:00
parent 8f0b3a824f
commit fb4cdcf403
2 changed files with 26 additions and 2 deletions

View File

@ -15,7 +15,9 @@ class Country:
If the country couldn't be found, it raises the pycountry_wrapper.CountryDoesNotExist exception.
"""
def __init__(self, country: str = None, pycountry_object = None):
def __new__(cls, country: str = None, pycountry_object = None, silent: bool = False):
self = super().__new__(cls)
if country is not None:
# auto detect if alpha_2 or alpha_3
if len(country) == 2:
@ -24,9 +26,31 @@ class Country:
pycountry_object = pycountry.countries.get(alpha_3=country.upper())
if pycountry_object is None:
if silent:
return None
raise CountryDoesNotExist()
self.pycountry_object = pycountry_object
return self
def __init__(self, country: str = None, pycountry_object = None, silent: bool = False) -> None: ...
"""
def __init__(self, ):
if country is not None:
# auto detect if alpha_2 or alpha_3
if len(country) == 2:
pycountry_object = pycountry.countries.get(alpha_2=country.upper())
elif len(country) == 3:
pycountry_object = pycountry.countries.get(alpha_3=country.upper())
if pycountry_object is None and not silent:
raise CountryDoesNotExist()
self.pycountry_object = pycountry_object
print("init")
"""
@classmethod
def from_alpha_2(cls, alpha_2: str) -> Country:

View File

@ -5,4 +5,4 @@ from . import Country
def cli():
print(f"Running {__name__} version {__version__} from __main__.py")
print(Country("DEU"))
print(Country(country="DE"))