Reviewers: ,
Please review this at http://codereview.tryton.org/587007/
Affected files:
trytond/ir/translation.py
Index: trytond/ir/translation.py
===================================================================
--- a/trytond/ir/translation.py
+++ b/trytond/ir/translation.py
@@ -519,7 +519,7 @@
fs_id2model_data.setdefault(model_data.model, {})
fs_id2model_data[model_data.model][model_data.fs_id] =
model_data
- translations = []
+ translations = set()
pofile = polib.pofile(po_path)
id2translation = {}
@@ -573,7 +573,7 @@
with contextlib.nested(Transaction().set_user(0),
Transaction().set_context(module=module)):
if not ids:
- translations.append(cls.create({
+ translations.add(cls.create({
'name': name,
'res_id': res_id,
'lang': lang,
@@ -595,16 +595,15 @@
'value': value,
'fuzzy': fuzzy,
})
- translations += cls.browse(ids)
+ translations |= set(cls.browse(ids))
if translations:
- all_translations = cls.search([
- ('module', '=', module),
- ('lang', '=', lang),
- ])
- translations_to_delete = [x for x in all_translations
- if x not in translations]
- cls.delete(translations_to_delete)
+ all_translations = set(cls.search([
+ ('module', '=', module),
+ ('lang', '=', lang),
+ ]))
+ translations_to_delete = all_translations - translations
+ cls.delete(list(translations_to_delete))
return len(translations)
@classmethod
--
--
[email protected] mailing list