Set the language when parsing XML files

This commit is contained in:
Nicolas Évrard committed 2024-04-22 10:42:28 +02:00
1 parent 370e2f3b41
commit 4df7a36de3
1 file changed
+11 -17
+11 -17
View File
@@ -373,8 +373,7 @@ class FS2DBAccessor:
Model = self.pool.get(model_name)
if not ids:
ids = list(self.browserecord[module][model_name].keys())
with Transaction().set_context(language='en'):
models = Model.browse(ids)
models = Model.browse(ids)
for model in models:
if model.id in self.browserecord[module][model_name]:
for cache in Transaction().cache.values():
@@ -409,9 +408,7 @@ class FS2DBAccessor:
records = Model.search([
('id', 'in', list(sub_record_ids)),
], order=[('id', 'ASC')])
with Transaction().set_context(language='en'):
models = Model.browse(list(map(int, records)))
for model in models:
for model in records:
self.browserecord[module][model_name][model.id] = model
self.fetched_modules.append(module)
@@ -461,10 +458,11 @@ class TrytondXmlHandler(sax.handler.ContentHandler):
source = sax.InputSource()
source.setByteStream(stream)
try:
self.sax_parser.parse(source)
except Exception as e:
raise ParsingError("in %s" % self.current_state()) from e
with Transaction().set_context(language='en', module=self.module):
try:
self.sax_parser.parse(source)
except Exception as e:
raise ParsingError("in %s" % self.current_state()) from e
return self.to_delete
def startElement(self, name, attributes):
@@ -631,8 +629,7 @@ class TrytondXmlHandler(sax.handler.ContentHandler):
record = self.fs2db.get_browserecord(module, Model.__name__, db_id)
# Re-create record if it was deleted
if not record:
with Transaction().set_context(
module=module, language='en'):
with Transaction().set_context(module=module):
record, = Model.create([values])
# reset_browsercord
@@ -698,8 +695,7 @@ class TrytondXmlHandler(sax.handler.ContentHandler):
def create_records(self, model, vlist, fs_ids):
Model = self.pool.get(model)
with Transaction().set_context(module=self.module, language='en'):
records = Model.create(vlist)
records = Model.create(vlist)
mdata_values = []
for record, values, fs_id in zip(records, vlist, fs_ids):
@@ -742,8 +738,7 @@ class TrytondXmlHandler(sax.handler.ContentHandler):
# if there is values to update:
if to_update:
# write the values in the db:
with Transaction().set_context(
module=module, language='en'):
with Transaction().set_context(module=module):
Model.write(*to_update)
self.fs2db.reset_browsercord(
module, Model.__name__, sum(to_update[::2], []))
@@ -756,8 +751,7 @@ class TrytondXmlHandler(sax.handler.ContentHandler):
record = self.fs2db.get_browserecord(
module, Model.__name__, record.id)
if not record:
with Transaction().set_context(language='en'):
record = Model(record.id)
record = Model(record.id)
for key in values:
values[key] = self._clean_value(key, record)