Skip to content

Commit d0eb396

Browse files
committed
Use single available language of country as default language
This way, one does not have to define a default language for a country with only a single available language. Remove explicit setting of default language for single-language countries Signed-off-by: Thomas Lauf <thomas.lauf@tngtech.com>
1 parent 321a7ee commit d0eb396

31 files changed

Lines changed: 7 additions & 30 deletions

ChangeLog

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
- #146 Use single available language of country as default language
2+
13
2026.1.1
24
- #145 Add how-to guides
35
- #144 PL: Add Christmas Eve as holiday

src/holidata/holiday.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ def build_for_year_and_lang(self, year: int, lang: str) -> Iterator[Holiday]:
124124
notes=self.notes,
125125
)
126126

127+
return None
128+
127129

128130
class Country(metaclass=PluginMount):
129131
"""
@@ -144,6 +146,7 @@ def __init__(self):
144146
if self.default_lang is not None and self.default_lang not in self.languages:
145147
raise ValueError(f"Country '{self.__class__.__name__}' does not list language '{self.default_lang}'!")
146148

149+
self.default_lang = self.languages[0] if self.default_lang is None and len(self.languages) == 1 else self.default_lang
147150
self.holiday_generators = []
148151
self.regions = []
149152

@@ -157,6 +160,8 @@ def validate_language_or_get_default(self, lang_id: str) -> str:
157160
f"Language '{lang_id}' is not defined for country '{self.id}'! Choose one of [{', '.join(self.languages)}].")
158161
elif lang_id is None and self.default_lang:
159162
lang_id = self.default_lang
163+
elif lang_id is None and len(self.languages) == 1:
164+
lang_id = self.languages[0]
160165
elif lang_id is None:
161166
raise ValueError(
162167
f"Country '{self.id}' has no default language specified! Choose one of [{', '.join(self.languages)}].")

src/holidata/holidays/AT/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
class AT(Country):
1212
id = "AT"
1313
languages = ["de"]
14-
default_lang = "de"
1514
easter_type = EASTER_WESTERN
1615

1716
def __init__(self):

src/holidata/holidays/AU/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
class AU(Country):
1919
id = "AU"
2020
languages = ["en"]
21-
default_lang = "en"
2221
easter_type = EASTER_WESTERN
2322

2423
def __init__(self):

src/holidata/holidays/BR/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
class BR(Country):
4848
id = "BR"
4949
languages = ["pt"]
50-
default_lang = "pt"
5150
easter_type = EASTER_WESTERN
5251

5352
def __init__(self):

src/holidata/holidays/CH/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
class CH(Country):
1212
id = "CH"
1313
languages = ["de"]
14-
default_lang = "de"
1514
easter_type = EASTER_WESTERN
1615

1716
def __init__(self):

src/holidata/holidays/CO/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
class CO(Country):
1212
id = "CO"
1313
languages = ["es"]
14-
default_lang = "es"
1514
easter_type = EASTER_WESTERN
1615

1716
def __init__(self):

src/holidata/holidays/CZ/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
class CZ(Country):
2020
id = "CZ"
2121
languages = ["cs"]
22-
default_lang = "cs"
2322
easter_type = EASTER_WESTERN
2423

2524
def __init__(self):

src/holidata/holidays/DE/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
class DE(Country):
2828
id = "DE"
2929
languages = ["de"]
30-
default_lang = "de"
3130
easter_type = EASTER_WESTERN
3231

3332
"""

src/holidata/holidays/DK/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
class DK(Country):
1212
id = "DK"
1313
languages = ["da"]
14-
default_lang = "da"
1514
easter_type = EASTER_WESTERN
1615

1716
def __init__(self):

0 commit comments

Comments
 (0)