+
Skip to content
Merged
1 change: 1 addition & 0 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ Daniel Musketa
Daniël Niemeijer
David Hotham
Devaraj K
Diego Rosaperez
Diogo Rosa
Dorian Monnier
Douglas Franklin
Expand Down
12 changes: 12 additions & 0 deletions holidays/countries/peru.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ class Peru(HolidayBase, ChristianHolidays, InternationalHolidays):
References:
* <https://web.archive.org/web/20250414165243/https://www.gob.pe/feriados/>
* <https://es.wikipedia.org/wiki/Anexo:Días_feriados_en_el_Perú>
* [Ley N° 31788](https://web.archive.org/web/20250716164223/https://img.lpderecho.pe/wp-content/uploads/2023/06/Ley-31788-LPDerecho.pdf)
* [Ley N° 31822](https://web.archive.org/web/20250716164455/https://img.lpderecho.pe/wp-content/uploads/2023/07/Ley-31822-LPDerecho.pdf)
"""

country = "PE"
Expand Down Expand Up @@ -49,9 +51,19 @@ def _populate_public_holidays(self):
# Labor Day.
self._add_labor_day(tr("Día del Trabajo"))

# Added via Ley N° 31788 on June 15th, 2023.
if self._year >= 2024:
# Battle of Arica and Flag Day.
self._add_holiday_jun_7(tr("Batalla de Arica y Día de la Bandera"))

# Saint Peter and Saint Paul's Day.
self._add_saints_peter_and_paul_day(tr("San Pedro y San Pablo"))

# Added via Ley N° 31822 on July 8th, 2023.
if self._year >= 2023:
# Peruvian Air Force Day.
self._add_holiday_jul_23(tr("Día de la Fuerza Aérea del Perú"))

# Independence Day.
self._add_holiday_jul_28(tr("Día de la Independencia"))

Expand Down
8 changes: 8 additions & 0 deletions holidays/locale/en_US/LC_MESSAGES/PE.po
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,18 @@ msgstr "Easter Sunday"
msgid "Día del Trabajo"
msgstr "Labor Day"

#. Battle of Arica and Flag Day.
msgid "Batalla de Arica y Día de la Bandera"
msgstr "Battle of Arica and Flag Day"

#. Saint Peter and Saint Paul's Day.
msgid "San Pedro y San Pablo"
msgstr "Saint Peter and Saint Paul's Day"

#. Peruvian Air Force Day.
msgid "Día de la Fuerza Aérea del Perú"
msgstr "Peruvian Air Force Day"

#. Independence Day.
msgid "Día de la Independencia"
msgstr "Independence Day"
Expand Down
8 changes: 8 additions & 0 deletions holidays/locale/es/LC_MESSAGES/PE.po
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,18 @@ msgstr ""
msgid "Día del Trabajo"
msgstr ""

#. Battle of Arica and Flag Day.
msgid "Batalla de Arica y Día de la Bandera"
msgstr ""

#. Saint Peter and Saint Paul's Day.
msgid "San Pedro y San Pablo"
msgstr ""

#. Peruvian Air Force Day.
msgid "Día de la Fuerza Aérea del Perú"
msgstr ""

#. Independence Day.
msgid "Día de la Independencia"
msgstr ""
Expand Down
8 changes: 8 additions & 0 deletions holidays/locale/uk/LC_MESSAGES/PE.po
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,18 @@ msgstr "Великдень"
msgid "Día del Trabajo"
msgstr "День праці"

#. Battle of Arica and Flag Day.
msgid "Batalla de Arica y Día de la Bandera"
msgstr "День битви за Аріку та День прапора"

#. Saint Peter and Saint Paul's Day.
msgid "San Pedro y San Pablo"
msgstr "День Святих Петра і Павла"

#. Peruvian Air Force Day.
msgid "Día de la Fuerza Aérea del Perú"
msgstr "День Повітряних сил Перу"

#. Independence Day.
msgid "Día de la Independencia"
msgstr "День незалежності"
Expand Down
14 changes: 13 additions & 1 deletion tests/countries/test_peru.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,14 @@
class TestPeru(CommonCountryTests, TestCase):
@classmethod
def setUpClass(cls):
super().setUpClass(Peru)
super().setUpClass(Peru, years=range(1950, 2050))

def test_country_aliases(self):
self.assertAliases(Peru, PE, PER)

def test_2019(self):
self.assertHolidayDates(
Peru(years=2019),
"2019-01-01",
"2019-04-18",
"2019-04-19",
Expand All @@ -43,6 +44,7 @@ def test_2019(self):

def test_2022(self):
self.assertHolidayDates(
Peru(years=2022),
"2022-01-01",
"2022-04-14",
"2022-04-15",
Expand All @@ -60,6 +62,16 @@ def test_2022(self):
"2022-12-25",
)

def test_battle_of_arica_and_flag_day(self):
name = "Batalla de Arica y Día de la Bandera"
self.assertHolidayName(name, (f"{year}-06-07" for year in range(2024, 2050)))
self.assertNoHolidayName(name, range(1950, 2024))

def test_peruvian_air_force_day(self):
name = "Día de la Fuerza Aérea del Perú"
self.assertHolidayName(name, (f"{year}-07-23" for year in range(2023, 2050)))
self.assertNoHolidayName(name, range(1950, 2023))

def test_l10n_default(self):
self.assertLocalizedHolidays(
("2022-01-01", "Año Nuevo"),
Expand Down
Loading
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载