Compare commits

..

No commits in common. "3cddb53809558d49152c4c9cdcff5fde791508bb" and "4a8468f0144f5e4a9b6ec340d2e8df99de03854a" have entirely different histories.

5 changed files with 17 additions and 47 deletions

View File

@ -1,6 +0,0 @@
{
"cSpell.words": [
"germany",
"pycountry"
]
}

View File

@ -28,23 +28,18 @@ except CountryDoesNotExist:
### Creating country class ### Creating country class
You can call create an instance of `pycountry_wrapper.Country` in multiple slightly different ways. You can call create an instance of `pycountry_wrapper.Country` in three ways.
The [**ISO 3166-1**](https://en.wikipedia.org/wiki/ISO_3166-1) standart can either use 2 or 3 letters (alpha_2 or alpha_3). Using **ISO 3166-1** with either 2 or 3 letters:
```python ```python
from pycountry_wrapper import Country from pycountry_wrapper import Country
# auto detects if alpha_2 or alpha_3
Country("DE")
Country("DEU")
# you can specify what to use, if required.
Country.from_alpha_2("DE") Country.from_alpha_2("DE")
Country.from_alpha_3("DEU") Country.from_alpha_2("DEU")
``` ```
If you want to use fuzzy search, you will have to use `Country.from_fuzzy()`. Or you can do a fuzzy search in a similar way:
```python ```python
from pycountry_wrapper import Country from pycountry_wrapper import Country
@ -52,6 +47,14 @@ from pycountry_wrapper import Country
Country.from_fuzzy("Deutschland") Country.from_fuzzy("Deutschland")
``` ```
Or you can pass a pycountry object in the constructor:
```python
import pycountry
from pycountry_wrapper import Country
Country(pycountry.countries.get(alpha_2="DE"))
```
### Accessing information ### Accessing information

View File

@ -15,14 +15,7 @@ class Country:
If the country couldn't be found, it raises the pycountry_wrapper.CountryDoesNotExist exception. If the country couldn't be found, it raises the pycountry_wrapper.CountryDoesNotExist exception.
""" """
def __init__(self, country: str = None, pycountry_object = None): def __init__(self, pycountry_object):
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: if pycountry_object is None:
raise CountryDoesNotExist() raise CountryDoesNotExist()
@ -30,15 +23,15 @@ class Country:
@classmethod @classmethod
def from_alpha_2(cls, alpha_2: str) -> Country: def from_alpha_2(cls, alpha_2: str) -> Country:
return cls(pycountry_object=pycountry.countries.get(alpha_2=alpha_2.upper())) return cls(pycountry.countries.get(alpha_2=alpha_2.upper()))
@classmethod @classmethod
def from_alpha_3(cls, alpha_3: str) -> Country: def from_alpha_3(cls, alpha_3: str) -> Country:
return cls(pycountry_object=pycountry.countries.get(alpha_3=alpha_3.upper())) return cls(pycountry.countries.get(alpha_3=alpha_3.upper()))
@classmethod @classmethod
def from_fuzzy(cls, fuzzy: str) -> Country: def from_fuzzy(cls, fuzzy: str) -> Country:
return cls(pycountry_object=pycountry.countries.search_fuzzy(fuzzy)) return cls(pycountry.countries.search_fuzzy(fuzzy))
@property @property
def name(self) -> str: def name(self) -> str:

View File

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

20
release
View File

@ -1,20 +0,0 @@
#!/bin/bash
# install build tools
pip install build
pip install twine
pip install hatch
# increment version in pyproject.toml
hatch version micro
git add git_time_tracking/__about__.py
git commit -m "bump version"
git push
# build package
python3 -m build --wheel
# upload to pypi
python3 -m twine upload dist/*
python3 -m twine upload --skip-existing --repository gitea dist/*