Skip to content

Commit

Permalink
Add geo provider for sk_SK (#2024)
Browse files Browse the repository at this point in the history
  • Loading branch information
george0st committed Apr 25, 2024
1 parent 3b54c96 commit 0888c36
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
62 changes: 62 additions & 0 deletions faker/providers/geo/sk_SK/__init__.py
@@ -0,0 +1,62 @@
from .. import Provider as GeoProvider


class Provider(GeoProvider):
# Source:
# https://latitude.to/map/sk/slovakia/cities/
land_coords = (
("48.14816", "17.10674", "Bratislava", "SK", "Europe/Bratislava"),
("48.71395", "21.25808", "Košice", "SK", "Europe/Košice"),
("48.99839", "21.23393", "Prešov", "SK", "Europe/Prešov"),
("48.30763", "18.08453", "Nitra", "SK", "Europe/Nitra"),
("49.22315", "18.73941", "Žilina", "SK", "Europe/Žilina"),
("48.73946", "19.15349", "Banská Bystrica", "SK", "Europe/Banská Bystrica"),
("48.37741", "17.58723", "Trnava", "SK", "Europe/Trnava"),
("49.06651", "18.92399", "Martin", "SK", "Europe/Martin"),
("48.89452", "18.04436", "Trenčín", "SK", "Europe/Trenčín"),
("49.06144", "20.29798", "Poprad", "SK", "Europe/Poprad"),
("48.77446", "18.6275", "Prievidza", "SK", "Europe/Prievidza"),
("48.57442", "19.15324", "Zvolen", "SK", "Europe/Zvolen"),
("49.12153", "18.42169", "Považská Bystrica", "SK", "Europe/Považská Bystrica"),
("47.98544", "18.16195", "Nové Zámky", "SK", "Europe/Nové Zámky"),
("48.75434", "21.9195", "Michalovce", "SK", "Europe/Michalovce"),
("48.94464", "20.56153", "Spišská Nová Ves", "SK", "Europe/Spišská Nová Ves"),
("48.21563", "18.60705", "Levice", "SK", "Europe/Levice"),
("47.76356", "18.12263", "Komárno", "SK", "Europe/Komárno"),
("48.93707", "21.91625", "Humenné", "SK", "Europe/Humenné"),
("49.08061", "19.62218", "Liptovský Mikuláš", "SK", "Europe/Liptovský Mikuláš"),
("49.29175", "21.27271", "Bardejov", "SK", "Europe/Bardejov"),
("49.0748", "19.30751", "Ružomberok", "SK", "Europe/Ružomberok"),
("48.59479", "17.82591", "Piešťany", "SK", "Europe/Piešťany"),
("48.33249", "19.66708", "Lučenec", "SK", "Europe/Lučenec"),
("48.95981", "18.16634", "Dubnica nad Váhom", "SK", "Europe/Dubnica nad Váhom"),
("48.38284", "20.02239", "Rimavská Sobota", "SK", "Europe/Rimavská Sobota"),
("49.43503", "18.78895", "Čadca", "SK", "Europe/Čadca"),
("48.15127", "17.88062", "Šaľa", "SK", "Europe/Šaľa"),
("48.62861", "18.38455", "Partizánske", "SK", "Europe/Partizánske"),
("48.43174", "17.8031", "Hlohovec", "SK", "Europe/Hlohovec"),
("47.99268", "17.61211", "Dunajská Streda", "SK", "Europe/Dunajská Streda"),
("48.88836", "21.68479", "Vranov nad Topľou", "SK", "Europe/Vranov nad Topľou"),
("48.62858", "21.71954", "Trebišov", "SK", "Europe/Trebišov"),
("48.98857", "22.15099", "Snina", "SK", "Europe/Snina"),
("48.67922", "17.36697", "Senica", "SK", "Europe/Senica"),
("48.75763", "17.8309", "Nové Mesto nad Váhom", "SK", "Europe/Nové Mesto nad Váhom"),
("49.13571", "20.43352", "Kežmarok", "SK", "Europe/Kežmarok"),
("48.28986", "17.26664", "Pezinok", "SK", "Europe/Pezinok"),
("48.80431", "19.63631", "Brezno", "SK", "Europe/Brezno"),
("49.20983", "19.30341", "Dolný Kubín", "SK", "Europe/Dolný Kubín"),
("48.59184", "18.84958", "Žiar nad Hronom", "SK", "Europe/Žiar nad Hronom"),
("48.66009", "20.53758", "Rožňava", "SK", "Europe/Rožňava"),
("48.7213", "18.25754", "Bánovce nad Bebravou", "SK", "Europe/Bánovce nad Bebravou"),
("49.12494", "18.32597", "Púchov", "SK", "Europe/Púchov"),
("48.7276", "18.76012", "Handlová", "SK", "Europe/Handlová"),
("48.43604", "17.02188", "Malacky", "SK", "Europe/Malacky"),
("49.3", "18.78333", "Kysucké Nové Mesto", "SK", "Europe/Kysucké Nové Mesto"),
("48.19001", "17.72747", "Galanta", "SK", "Europe/Galanta"),
("49.29859", "20.6862", "Stará Ľubovňa", "SK", "Europe/Stará Ľubovňa"),
("48.38553", "18.40063", "Zlaté Moravce", "SK", "Europe/Zlaté Moravce"),
("48.56082", "19.41954", "Detva", "SK", "Europe/Detva"),
("48.8449", "17.22635", "Skalica", "SK", "Europe/Skalica"),
("48.21951", "17.40043", "Senec", "SK", "Europe/Senec"),
("49.02173", "20.59212", "Levoča", "SK", "Europe/Levoča"),
)
16 changes: 16 additions & 0 deletions tests/providers/test_geo.py
Expand Up @@ -80,6 +80,22 @@ def test_location_on_land_coords_only(self):
assert Decimal(loc[1])


class TestSkSk(unittest.TestCase):
def setUp(self):
self.fake = Faker("sk_SK")
Faker.seed(0)

def test_location_on_land(self):
loc = self.fake.location_on_land()
assert isinstance(loc, tuple)
assert len(loc) == 5
assert Decimal(loc[0]) # Should be able to cast first two elements of tuple to Decimal
assert Decimal(loc[1])
assert isinstance(loc[2], str) # Place is a string
assert isinstance(loc[3], str) # Country code is a string
assert len(loc[3]) == 2 # Country code is two letters
assert isinstance(loc[4], str) # Timezone is a string

class TestCsCz(unittest.TestCase):

Check failure on line 99 in tests/providers/test_geo.py

View workflow job for this annotation

GitHub Actions / flake8

expected 2 blank lines, found 1
def setUp(self):
self.fake = Faker("cs_CZ")
Expand Down

0 comments on commit 0888c36

Please sign in to comment.