Support for iso-codes >= 4.8.0
iso-codes 4.8. was released with some structural changes that lead to failures in the country import script. It seems pycountry is already adapted.
Relevant issues: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1002073 https://ci.debian.net/data/autopkgtest/unstable/amd64/t/tryton-modules-country/17613199/log.gz https://salsa.debian.org/debian/pycountry/-/blob/master/debian/control
/usr/lib/python3/dist-packages/trytond/modules/country/tests/scenario_country_import.rst
Doctest: scenario_country_import.rst ... Update countries
Update subdivisions
FAIL
======================================================================
FAIL: /usr/lib/python3/dist-packages/trytond/modules/country/tests/scenario_country_import.rst
Doctest: scenario_country_import.rst
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.9/doctest.py", line 2202, in runTest
raise self.failureException(self.format_failure(new.getvalue()))
AssertionError: Failed doctest test for scenario_country_import.rst
File "/usr/lib/python3/dist-packages/trytond/modules/country/tests/scenario_country_import.rst", line 0
----------------------------------------------------------------------
File "/usr/lib/python3/dist-packages/trytond/modules/country/tests/scenario_country_import.rst", line 21, in scenario_country_import.rst
Failed example:
import_countries.do_import()
Exception raised:
Traceback (most recent call last):
File "/usr/lib/python3.9/doctest.py", line 1334, in __run
exec(compile(example.source, filename, "single",
File "<doctest scenario_country_import.rst[7]>", line 1, in <module>
import_countries.do_import()
File "/usr/lib/python3/dist-packages/trytond/modules/country/scripts/import_countries.py", line 169, in do_import
subdivisions = update_subdivisions(countries, subdivisions)
File "/usr/lib/python3/dist-packages/trytond/modules/country/scripts/import_countries.py", line 114, in update_subdivisions
Subdivision.save(records)
File "/usr/lib/python3/dist-packages/proteus/__init__.py", line 104, in newfunc
return self.func(owner, *args, **kwargs)
File "/usr/lib/python3/dist-packages/proteus/__init__.py", line 847, in save
ids = proxy.create(values, context)
File "/usr/lib/python3/dist-packages/proteus/config.py", line 198, in __call__
result = rpc.result(meth(*args, **kwargs))
File "/usr/lib/python3/dist-packages/trytond/modules/country/country.py", line 240, in create
return super(Subdivision, cls).create(vlist)
File "/usr/lib/python3/dist-packages/trytond/model/modelsql.py", line 159, in wrapper
return func(cls, *args, **kwargs)
File "/usr/lib/python3/dist-packages/trytond/model/modelsql.py", line 679, in create
cls._validate(sub_records)
File "/usr/lib/python3/dist-packages/trytond/model/modelstorage.py", line 79, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python3/dist-packages/trytond/model/modelstorage.py", line 1347, in _validate
raise SelectionValidationError(gettext(
trytond.model.modelstorage.SelectionValidationError: The value "district with special status" for field "Type" in "Subdivision" is not one of the allowed options. -