changeset 8da06851200e in modules/country:default
details: https://hg.tryton.org/modules/country?cmd=changeset;node=8da06851200e
description:
Remove forbidden chars from imported names
issue9829
review318821002
diffstat:
scripts/import_countries.py | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
diffs (56 lines):
diff -r 0a79e3d9bc2a -r 8da06851200e scripts/import_countries.py
--- a/scripts/import_countries.py Wed Dec 30 16:28:18 2020 +0000
+++ b/scripts/import_countries.py Tue Jan 19 22:42:52 2021 +0100
@@ -36,6 +36,14 @@
yield l.code
+def _remove_forbidden_chars(name):
+ from trytond.model.fields import Char
+ for c in Char.forbidden_chars:
+ if c in name:
+ name.replace(c, ' ')
+ return name.strip()
+
+
def get_countries():
Country = Model.get('country.country')
return {c.code: c for c in Country.find([])}
@@ -52,7 +60,7 @@
record = countries[code]
else:
record = Country(code=code)
- record.name = country.name
+ record.name = _remove_forbidden_chars(country.name)
record.code3 = country.alpha_3
record.code_numeric = country.numeric
records.append(record)
@@ -76,7 +84,8 @@
records = []
for country in _progress(pycountry.countries):
record = Country(countries[country.alpha_2].id)
- record.name = gnutranslation.gettext(country.name)
+ record.name = _remove_forbidden_chars(
+ gnutranslation.gettext(country.name))
records.append(record)
Country.save(records)
@@ -98,7 +107,7 @@
record = subdivisions[(country_code, code)]
else:
record = Subdivision(code=code, country=countries[country_code])
- record.name = subdivision.name
+ record.name = _remove_forbidden_chars(subdivision.name)
record.type = subdivision.type.lower()
records.append(record)
@@ -140,7 +149,8 @@
for subdivision in _progress(pycountry.subdivisions):
record = Subdivision(subdivisions[
(subdivision.country_code, subdivision.code)].id)
- record.name = gnutranslation.gettext(subdivision.name)
+ record.name = _remove_forbidden_chars(
+ gnutranslation.gettext(subdivision.name))
records.append(record)
Subdivision.save(records)