Skip to content

Commit 632fa04

Browse files
committed
[IMP] tools: remove custom pofile reader
Use polib library that handles this correctly The complexity of the parser is moved to the library
1 parent 3c568ae commit 632fa04

File tree

10 files changed

+221
-236
lines changed

10 files changed

+221
-236
lines changed

debian/control

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Depends:
3030
python3-mako,
3131
python3-mock,
3232
python3-passlib,
33+
python3-polib,
3334
python3-psutil,
3435
python3-psycopg2,
3536
python3-pydot,

odoo/addons/test_translation_import/i18n/fr.po

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,33 @@ msgstr ""
2323
msgid "1XBUO5PUYH2RYZSA1FTLRYS8SPCNU1UYXMEYMM25ASV7JC2KTJZQESZYRV9L8CGB"
2424
msgstr "1XBUO5PUYH2RYZSA1FTLRYS8SPCNU1UYXMEYMM25ASV7JC2KTJZQESZYRV9L8CGB in french"
2525

26+
#. module: test_translation_import
27+
#: selection:test.translation.import,import_type:0
28+
msgid "Bar"
29+
msgstr "Bar in french"
30+
31+
# Note: the line in pot is 21 and is 14 here
2632
#. module: test_translation_import
2733
#: code:addons/test_translation_import/models.py:14
2834
#, python-format
2935
msgid "Ijkl"
3036
msgstr "Ijkl in french"
3137

3238
#. module: test_translation_import
33-
#: model:ir.model,name:test_translation_import.model_test_translation_import
34-
msgid "test.translation.import"
35-
msgstr "test.translation.import in french"
39+
#: selection:test.translation.import,import_type:0
40+
msgid "Foo"
41+
msgstr "Foo in french"
3642

3743
#. module: test_translation_import
3844
#: model:ir.model.fields,help:test_translation_import.field_test_translation_import__name
3945
msgid "Efgh"
4046
msgstr "Efgh in french"
4147

48+
#. module: test_translation_import
49+
#: model:ir.model,name:test_translation_import.model_test_translation_import
50+
msgid "Test: Translation Import"
51+
msgstr "Test: Import de traductions"
52+
4253
#. module: test_translation_import
4354
#: model:ir.actions.act_window,name:test_translation_import.action_test_translation_import
4455
#: model:ir.ui.menu,name:test_translation_import.menu_test_translation_import

odoo/addons/test_translation_import/i18n/fr_BE.po

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ msgstr "Ijkl in belgian french"
2121

2222
#. module: test_translation_import
2323
#: model:ir.model,name:test_translation_import.model_test_translation_import
24-
msgid "test.translation.import"
25-
msgstr "test.translation.import in belgian french"
24+
msgid "Test: Translation Import"
25+
msgstr "Test: Import de traductions in belgian french"
2626

2727
#. module: test_translation_import
2828
#: model:ir.model.fields,help:test_translation_import.field_test_translation_import__name

odoo/addons/test_translation_import/i18n/test_translation_import.pot

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,39 +23,57 @@ msgstr ""
2323
"Plural-Forms: \n"
2424

2525
#. module: test_translation_import
26-
#: code:addons/test_translation_import/models.py:15
26+
#: code:addons/test_translation_import/models.py:21
2727
#: model:ir.model.fields,field_description:test_translation_import.field_test_translation_import__name
2828
#, python-format
2929
msgid "1XBUO5PUYH2RYZSA1FTLRYS8SPCNU1UYXMEYMM25ASV7JC2KTJZQESZYRV9L8CGB"
3030
msgstr ""
3131

3232
#. module: test_translation_import
33-
#: code:addons/test_translation_import/models.py:14
34-
#, python-format
35-
msgid "Ijkl"
33+
#: selection:test.translation.import,import_type:0
34+
msgid "Bar"
3635
msgstr ""
3736

3837
#. module: test_translation_import
39-
#: model:ir.model,name:test_translation_import.model_test_translation_import
40-
msgid "test.translation.import"
38+
#: model:ir.model.fields,help:test_translation_import.field_test_translation_import__name
39+
msgid "Efgh"
4140
msgstr ""
4241

4342
#. module: test_translation_import
44-
#: model:ir.model.fields,help:test_translation_import.field_test_translation_import__name
45-
msgid "Efgh"
43+
#: selection:test.translation.import,import_type:0
44+
msgid "Foo"
4645
msgstr ""
4746

4847
#. module: test_translation_import
49-
#: model:ir.actions.act_window,name:test_translation_import.action_test_translation_import
50-
#: model:ir.ui.menu,name:test_translation_import.menu_test_translation_import
51-
msgid "Test translation import"
48+
#: code:addons/test_translation_import/models.py:18
49+
#: code:addons/test_translation_import/models.py:21
50+
#, python-format
51+
msgid "Ijkl"
52+
msgstr ""
53+
54+
#. module: test_translation_import
55+
#: model:ir.model.fields,field_description:test_translation_import.field_test_translation_import__import_type
56+
msgid "Import Type"
57+
msgstr ""
58+
59+
#. module: test_translation_import
60+
#: code:addons/test_translation_import/models.py:23
61+
#: code:addons/test_translation_import/tests/test_term_count.py:158
62+
#, python-format
63+
msgid "Klingon"
5264
msgstr ""
5365

5466
#. module: test_translation_import
5567
#: model:ir.ui.menu,name:test_translation_import.menu_test_translation
5668
msgid "Test translation"
5769
msgstr ""
5870

71+
#. module: test_translation_import
72+
#: model:ir.actions.act_window,name:test_translation_import.action_test_translation_import
73+
#: model:ir.ui.menu,name:test_translation_import.menu_test_translation_import
74+
msgid "Test translation import"
75+
msgstr ""
76+
5977
#. module: test_translation_import
6078
#: code:addons/base/models/arthur.py:42
6179
#: code:addons/base/models/arthur.py:43
@@ -73,3 +91,9 @@ msgstr ""
7391
#: code:addons/base/models/trillian.py:42
7492
msgid "Test translation with two code type and model"
7593
msgstr ""
94+
95+
#. module: test_translation_import
96+
#: model:ir.model,name:test_translation_import.model_test_translation_import
97+
msgid "Test: Translation Import"
98+
msgstr ""
99+

odoo/addons/test_translation_import/models.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ class m(models.TransientModel):
1010
name = fields.Char('1XBUO5PUYH2RYZSA1FTLRYS8SPCNU1UYXMEYMM25ASV7JC2KTJZQESZYRV9L8CGB',
1111
size=32, help='Efgh')
1212
other_name = fields.Char('Test translation with two code type and model')
13+
import_type = fields.Selection([
14+
('foo', 'Foo'),
15+
('bar', 'Bar'),
16+
])
1317

1418
_('Ijkl')
1519

odoo/addons/test_translation_import/tests/test_term_count.py

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,32 @@ def test_count_term(self):
1717
Just make sure we have as many translation entries as we wanted.
1818
"""
1919
odoo.tools.trans_load(self.cr, 'test_translation_import/i18n/fr.po', 'fr_FR', module_name='test_translation_import', verbose=False)
20-
ids = self.env['ir.translation'].search([
20+
translations = self.env['ir.translation'].search([
2121
('lang', '=', 'fr_FR'),
2222
('src', '=', '1XBUO5PUYH2RYZSA1FTLRYS8SPCNU1UYXMEYMM25ASV7JC2KTJZQESZYRV9L8CGB'),
23-
])
24-
self.assertEqual(len(ids), 2)
23+
], order='type')
24+
self.assertEqual(len(translations), 2)
25+
self.assertEqual(translations[0].type, 'code')
26+
self.assertEqual(translations[0].module, 'test_translation_import')
27+
self.assertEqual(translations[0].name, 'addons/test_translation_import/models.py')
28+
self.assertEqual(translations[0].comments, '')
29+
self.assertEqual(translations[0].res_id, 21)
30+
self.assertEqual(translations[1].type, 'model')
31+
self.assertEqual(translations[1].module, 'test_translation_import')
32+
self.assertEqual(translations[1].name, 'ir.model.fields,field_description')
33+
self.assertEqual(translations[1].comments, '')
34+
field = self.env['ir.model.fields'].search([('model', '=', 'test.translation.import'), ('name', '=', 'name')])
35+
self.assertEqual(translations[1].res_id, field.id)
36+
37+
translations = self.env['ir.translation'].search([
38+
('lang', '=', 'fr_FR'),
39+
('type', '=', 'selection'),
40+
('module', '=', 'test_translation_import'),
41+
], order='src')
42+
self.assertEqual(len(translations), 2)
43+
self.assertEqual(translations[0].name, 'test.translation.import,import_type')
44+
self.assertEqual(translations[0].res_id, 0)
45+
2546

2647
def test_count_term_module(self):
2748
"""
@@ -34,6 +55,7 @@ def test_count_term_module(self):
3455
('module', '=', 'test_translation_import'),
3556
])
3657
self.assertEqual(len(translations), 1)
58+
self.assertEqual(translations.res_id, 21)
3759

3860
def test_noupdate(self):
3961
"""

0 commit comments

Comments
 (0)