Skip to content

Commit 66bf2df

Browse files
authored
Migrate deprecated Italy subdivisions to subdivision aliases (#1951)
1 parent 4eaa545 commit 66bf2df

File tree

3 files changed

+114
-19
lines changed

3 files changed

+114
-19
lines changed

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ All other default values are highlighted with bold:
527527
- OPTIONAL, SCHOOL
528528
* - Italy
529529
- IT
530-
- Provinces: AG, AL, AN, AO, AP, AQ, AR, AT, AV, BA, BG, BI, BL, BN, BO, BR, BS, BT, BZ, CA, CB, CE, CH, CL, CN, CO, CR, CS, CT, CZ, EN, FC, FE, FG, FI, FM, FR, GE, GO, GR, IM, IS, KR, LC, LE, LI, LO, LT, LU, MB, MC, ME, MI, MN, MO, MS, MT, NA, NO, NU, OR, PA, PC, PD, PE, PG, PI, PN, PO, PR, PT, PU, PV, PZ, RA, RC, RE, RG, RI, RM, RN, RO, SA, SI, SO, SP, SR, SS, SU, SV, TA, TE, TN, TO, TP, TR, TS, TV, UD, VA, VB, VC, VE, VI, VR, VT, VV. Cities: Andria, Barletta, Cesena, Forli, Pesaro, Trani, Urbino
530+
- Provinces: AG (Agrigento), AL (Alessandria), AN (Ancona), AO (Aosta), AP (Ascoli Piceno), AQ (L'Aquila), AR (Arezzo), AT (Asti), AV (Avellino), BA (Bari), BG (Bergamo), BI (Biella), BL (Belluno), BN (Benevento), BO (Bologna), BR (Brindisi), BS (Brescia), BT (Barletta-Andria-Trani), BZ (Bolzano), CA (Cagliari), CB (Campobasso), CE (Caserta), CH (Chieti), CL (Caltanissetta), CN (Cuneo), CO (Como), CR (Cremona), CS (Cosenza), CT (Catania), CZ (Catanzaro), EN (Enna), FC (Forli-Cesena, Forlì-Cesena), FE (Ferrara), FG (Foggia), FI (Firenze), FM (Fermo), FR (Frosinone), GE (Genova), GO (Gorizia), GR (Grosseto), IM (Imperia), IS (Isernia), KR (Crotone), LC (Lecco), LE (Lecce), LI (Livorno), LO (Lodi), LT (Latina), LU (Lucca), MB (Monza e Brianza), MC (Macerata), ME (Messina), MI (Milano), MN (Mantova), MO (Modena), MS (Massa-Carrara), MT (Matera), NA (Napoli), NO (Novara), NU (Nuoro), OR (Oristano), PA (Palermo), PC (Piacenza), PD (Padova), PE (Pescara), PG (Perugia), PI (Pisa), PN (Pordenone), PO (Prato), PR (Parma), PT (Pistoia), PU (Pesaro e Urbino), PV (Pavia), PZ (Potenza), RA (Ravenna), RC (Reggio Calabria), RE (Reggio Emilia), RG (Ragusa), RI (Rieti), RM (Roma), RN (Rimini), RO (Rovigo), SA (Salerno), SI (Siena), SO (Sondrio), SP (La Spezia), SR (Siracusa), SS (Sassari), SU (Sud Sardegna), SV (Savona), TA (Taranto), TE (Teramo), TN (Trento), TO (Torino), TP (Trapani), TR (Terni), TS (Trieste), TV (Treviso), UD (Udine), VA (Varese), VB (Verbano-Cusio-Ossola), VC (Vercelli), VE (Venezia), VI (Vicenza), VR (Verona), VT (Viterbo), VV (Vibo Valentia). Cities: Andria, Barletta, Cesena, Forli (Forlì), Pesaro, Trani, Urbino
531531
-
532532
-
533533
* - Jamaica

holidays/countries/italy.py

Lines changed: 113 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,119 @@ class Italy(HolidayBase, ChristianHolidays, InternationalHolidays, StaticHoliday
141141
"Trani",
142142
"Urbino",
143143
)
144-
145-
_deprecated_subdivisions = ("Forlì",)
144+
subdivisions_aliases = {
145+
# Provinces.
146+
"Agrigento": "AG",
147+
"Alessandria": "AL",
148+
"Ancona": "AN",
149+
"Aosta": "AO",
150+
"Ascoli Piceno": "AP",
151+
"L'Aquila": "AQ",
152+
"Arezzo": "AR",
153+
"Asti": "AT",
154+
"Avellino": "AV",
155+
"Bari": "BA",
156+
"Bergamo": "BG",
157+
"Biella": "BI",
158+
"Belluno": "BL",
159+
"Benevento": "BN",
160+
"Bologna": "BO",
161+
"Brindisi": "BR",
162+
"Brescia": "BS",
163+
"Barletta-Andria-Trani": "BT",
164+
"Bolzano": "BZ",
165+
"Cagliari": "CA",
166+
"Campobasso": "CB",
167+
"Caserta": "CE",
168+
"Chieti": "CH",
169+
"Caltanissetta": "CL",
170+
"Cuneo": "CN",
171+
"Como": "CO",
172+
"Cremona": "CR",
173+
"Cosenza": "CS",
174+
"Catania": "CT",
175+
"Catanzaro": "CZ",
176+
"Enna": "EN",
177+
"Forli-Cesena": "FC",
178+
"Forlì-Cesena": "FC",
179+
"Ferrara": "FE",
180+
"Foggia": "FG",
181+
"Firenze": "FI",
182+
"Fermo": "FM",
183+
"Frosinone": "FR",
184+
"Genova": "GE",
185+
"Gorizia": "GO",
186+
"Grosseto": "GR",
187+
"Imperia": "IM",
188+
"Isernia": "IS",
189+
"Crotone": "KR",
190+
"Lecco": "LC",
191+
"Lecce": "LE",
192+
"Livorno": "LI",
193+
"Lodi": "LO",
194+
"Latina": "LT",
195+
"Lucca": "LU",
196+
"Monza e Brianza": "MB",
197+
"Macerata": "MC",
198+
"Messina": "ME",
199+
"Milano": "MI",
200+
"Mantova": "MN",
201+
"Modena": "MO",
202+
"Massa-Carrara": "MS",
203+
"Matera": "MT",
204+
"Napoli": "NA",
205+
"Novara": "NO",
206+
"Nuoro": "NU",
207+
"Oristano": "OR",
208+
"Palermo": "PA",
209+
"Piacenza": "PC",
210+
"Padova": "PD",
211+
"Pescara": "PE",
212+
"Perugia": "PG",
213+
"Pisa": "PI",
214+
"Pordenone": "PN",
215+
"Prato": "PO",
216+
"Parma": "PR",
217+
"Pistoia": "PT",
218+
"Pesaro e Urbino": "PU",
219+
"Pavia": "PV",
220+
"Potenza": "PZ",
221+
"Ravenna": "RA",
222+
"Reggio Calabria": "RC",
223+
"Reggio Emilia": "RE",
224+
"Ragusa": "RG",
225+
"Rieti": "RI",
226+
"Roma": "RM",
227+
"Rimini": "RN",
228+
"Rovigo": "RO",
229+
"Salerno": "SA",
230+
"Siena": "SI",
231+
"Sondrio": "SO",
232+
"La Spezia": "SP",
233+
"Siracusa": "SR",
234+
"Sassari": "SS",
235+
"Sud Sardegna": "SU",
236+
"Savona": "SV",
237+
"Taranto": "TA",
238+
"Teramo": "TE",
239+
"Trento": "TN",
240+
"Torino": "TO",
241+
"Trapani": "TP",
242+
"Terni": "TR",
243+
"Trieste": "TS",
244+
"Treviso": "TV",
245+
"Udine": "UD",
246+
"Varese": "VA",
247+
"Verbano-Cusio-Ossola": "VB",
248+
"Vercelli": "VC",
249+
"Venezia": "VE",
250+
"Vicenza": "VI",
251+
"Verona": "VR",
252+
"Viterbo": "VT",
253+
"Vibo Valentia": "VV",
254+
# Cities.
255+
"Forlì": "Forli",
256+
}
146257

147258
def __init__(self, *args, **kwargs):
148259
ChristianHolidays.__init__(self)
@@ -208,9 +319,6 @@ def _populate_public_holidays(self):
208319
# Saint Stephen's Day.
209320
self._add_christmas_day_two("Santo Stefano")
210321

211-
if self.subdiv == "Forlì":
212-
self._populate_subdiv_forli_public_holidays()
213-
214322
def _populate_subdiv_ag_public_holidays(self):
215323
self._add_holiday_feb_25("San Gerlando")
216324

tests/countries/test_italy.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
# Website: https://github.com/vacanza/python-holidays
1111
# License: MIT (see LICENSE file)
1212

13-
import warnings
1413
from unittest import TestCase
1514

1615
from holidays.countries.italy import Italy, IT, ITA
@@ -22,10 +21,6 @@ class TestItaly(CommonCountryTests, TestCase):
2221
def setUpClass(cls):
2322
super().setUpClass(Italy, years=range(1946, 2050))
2423

25-
def setUp(self):
26-
super().setUp()
27-
warnings.simplefilter("ignore", category=DeprecationWarning)
28-
2924
def test_country_aliases(self):
3025
self.assertAliases(Italy, IT, ITA)
3126

@@ -278,11 +273,3 @@ def test_province_specific_days(self):
278273
}
279274
for subdiv, holidays in subdiv_holidays.items():
280275
self.assertHoliday(Italy(subdiv=subdiv, years=2017), holidays)
281-
282-
def test_deprecated(self):
283-
self.assertEqual(
284-
Italy(subdiv="Forlì", years=2022).keys(), Italy(subdiv="Forli", years=2022).keys()
285-
)
286-
287-
def test_subdiv_deprecation(self):
288-
self.assertDeprecatedSubdivisions("This subdivision is deprecated and will be removed")

0 commit comments

Comments
 (0)