generated from Hazel/python-project
Compare commits
No commits in common. "3cddb53809558d49152c4c9cdcff5fde791508bb" and "4a8468f0144f5e4a9b6ec340d2e8df99de03854a" have entirely different histories.
3cddb53809
...
4a8468f014
6
.vscode/settings.json
vendored
6
.vscode/settings.json
vendored
@ -1,6 +0,0 @@
|
||||
{
|
||||
"cSpell.words": [
|
||||
"germany",
|
||||
"pycountry"
|
||||
]
|
||||
}
|
21
README.md
21
README.md
@ -28,23 +28,18 @@ except CountryDoesNotExist:
|
||||
|
||||
### 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
|
||||
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_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
|
||||
from pycountry_wrapper import Country
|
||||
@ -52,6 +47,14 @@ from pycountry_wrapper import Country
|
||||
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
|
||||
|
||||
|
@ -15,14 +15,7 @@ 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):
|
||||
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())
|
||||
|
||||
def __init__(self, pycountry_object):
|
||||
if pycountry_object is None:
|
||||
raise CountryDoesNotExist()
|
||||
|
||||
@ -30,15 +23,15 @@ class Country:
|
||||
|
||||
@classmethod
|
||||
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
|
||||
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
|
||||
def from_fuzzy(cls, fuzzy: str) -> Country:
|
||||
return cls(pycountry_object=pycountry.countries.search_fuzzy(fuzzy))
|
||||
return cls(pycountry.countries.search_fuzzy(fuzzy))
|
||||
|
||||
@property
|
||||
def name(self) -> str:
|
||||
|
@ -5,4 +5,4 @@ from . import Country
|
||||
def cli():
|
||||
print(f"Running {__name__} version {__version__} from __main__.py")
|
||||
|
||||
print(Country("DEU"))
|
||||
print(Country.from_alpha_2("DE"))
|
||||
|
20
release
20
release
@ -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/*
|
Loading…
Reference in New Issue
Block a user