Skip to content

Commit

Permalink
Manage correctly deleted countries. #36
Browse files Browse the repository at this point in the history
  • Loading branch information
fabiocaccamo committed Apr 8, 2023
1 parent a814f80 commit 68c3edb
Show file tree
Hide file tree
Showing 3 changed files with 161 additions and 1 deletion.
2 changes: 1 addition & 1 deletion codicefiscale/codicefiscale.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ def _get_indexed_data() -> (
dict[str, dict[str, list[dict[str, bool | datetime | str | list[str]]]]]
):
municipalities = _get_data("municipalities.json")
countries = _get_data("countries.json")
countries = _get_data("deleted-countries.json") + _get_data("countries.json")
data: dict[str, dict[str, list[dict[str, bool | datetime | str | list[str]]]]] = {
"municipalities": {},
"countries": {},
Expand Down
138 changes: 138 additions & 0 deletions codicefiscale/data/deleted-countries.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
[
{
"active": false,
"code": "Z105",
"date_created": "1900-01-01T00:00:00",
"date_deleted": "1993-01-01T00:00:00",
"name": "Cecoslovacchia",
"name_alt": "",
"name_alt_en": "",
"name_slugs": [
"cecoslovacchia",
"czechoslovakia"
],
"province": "EE"
},
{
"active": false,
"code": "Z111",
"date_created": "1900-01-01T00:00:00",
"date_deleted": "1990-10-03T00:00:00",
"name": "Repubblica Democratica Tedesca",
"name_alt": "",
"name_alt_en": "",
"name_slugs": [
"repubblica-democratica-tedesca",
"germania-repubblica-democatica",
"deutsche-demokratische-republik",
"ddr",
"germania-est",
"germania-orientale",
"ostdeutschland"
],
"province": "EE"
},
{
"active": false,
"code": "Z118",
"date_created": "1900-01-01T00:00:00",
"date_deleted": "2003-02-04T00:00:00",
"name": "Jugoslavia",
"name_alt": "",
"name_alt_en": "",
"name_slugs": [
"iugoslavia",
"jugoslavia",
"jugoslavija",
"yugoslavia",
"repubblica-socialista-federale-di-jugoslavia"
],
"province": "EE"
},
{
"active": false,
"code": "Z135",
"date_created": "1900-01-01T00:00:00",
"date_deleted": "1992-03-31T00:00:00",
"name": "Unione Repubbliche Socialiste Sovietiche",
"name_alt": "Unione Repubbliche Socialiste Sovietiche",
"name_alt_en": "Union of Soviet Socialist Republics",
"name_slugs": [
"unione-repubbliche-socialiste-sovietiche",
"repubbliche-dell-unione-sovietica",
"repubbliche-dell-unione",
"repubbliche-socialiste-sovietiche",
"soviet-union",
"union-of-soviet-socialist-republics",
"urss",
"u-r-s-s",
"ussr",
"u-s-s-r",
"sssr",
"s-s-s-r",
"sssr",
"s-s-s-r"
],
"province": "EE"
},
{
"active": false,
"code": "Z157",
"date_created": "2003-02-04T00:00:00",
"date_deleted": "2006-06-03T00:00:00",
"name": "Serbia e Montenegro",
"name_alt": "Unione Statale di Serbia e Montenegro",
"name_alt_en": "State Union of Serbia and Montenegro",
"name_slugs": [
"serbia-e-montenegro",
"unione-statale-di-serbia-e-montenegro",
"state-union-of-serbia-and-montenegro"
],
"province": "EE"
},
{
"active": false,
"code": "Z201",
"date_created": "1900-01-01T00:00:00",
"date_deleted": "1975-12-31T00:00:00",
"name": "Federazione dell'Arabia Meridionale",
"name_alt": "",
"name_alt_en": "",
"name_slugs": [
"federazione-dell-arabia-meridionale",
"arabia-meridionale-federazione"
],
"province": "EE"
},
{
"active": false,
"code": "Z202",
"date_created": "1900-01-01T00:00:00",
"date_deleted": "1975-12-31T00:00:00",
"name": "Protettorato dell'Arabia Meridionale",
"name_alt": "",
"name_alt_en": "",
"name_slugs": [
"protettorato-dell-arabia-meridionale",
"arabia-meridionale-protettorato"
],
"province": "EE"
},
{
"active": false,
"code": "Z250",
"date_created": "1975-12-31T00:00:00",
"date_deleted": "1990-05-22T00:00:00",
"name": "Yemen del Sud",
"name_alt": "Yemen del Sud",
"name_alt_en": "South Yemen",
"name_slugs": [
"yemen-del-sud",
"yemen-repubblica-democratica-popolare",
"repubblica-democratica-popolare-dello-yemen",
"south-yemen",
"people-s-democratic-republic-of-yemen"
],
"province": "EE"
}
]
22 changes: 22 additions & 0 deletions tests/test_issue_0036.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import unittest

from codicefiscale import codicefiscale


class Issue0036TestCase(unittest.TestCase):
def test_issue_0036(self):
items = (
("CCCFBA85D03Z105P", "Cecoslovacchia"),
("CCCFBA85D03Z111D", "Repubblica Democratica Tedesca"),
("CCCFBA85D03Z118W", "Jugoslavia"),
("CCCFBA85D03Z135S", "Unione Repubbliche Socialiste Sovietiche"),
("CCCFBA05D03Z157G", "Serbia e Montenegro"),
("CCCFBA75D03Z201F", "Federazione dell'Arabia Meridionale"),
("CCCFBA75D03Z202K", "Protettorato dell'Arabia Meridionale"),
("CCCFBA85D03Z250N", "Yemen del Sud"),
)
for item in items:
with self.subTest(item):
code, expected_country = item
data = codicefiscale.decode(code)
self.assertEqual(data["birthplace"]["name"], expected_country)

0 comments on commit 68c3edb

Please sign in to comment.