Browse Source

base_jsonify: cleanups

remove copyrights from init and update copyrights
13.0
hpar 7 years ago
committed by laurent.corron
parent
commit
cfabca6d04
  1. 7
      base_jsonify/README.rst
  2. 5
      base_jsonify/__init__.py
  3. 5
      base_jsonify/__manifest__.py
  4. 8
      base_jsonify/demo/export_demo.xml
  5. 5
      base_jsonify/models/__init__.py
  6. 4
      base_jsonify/models/ir_export.py
  7. 4
      base_jsonify/models/ir_exports_line.py
  8. 28
      base_jsonify/models/models.py
  9. 4
      base_jsonify/tests/__init__.py
  10. 12
      base_jsonify/tests/test_get_parser.py
  11. 4
      base_jsonify/tests/test_ir_exports_line.py

7
base_jsonify/README.rst

@ -2,9 +2,9 @@
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
==============
============
Base Jsonify
==============
============
This module add the jsonify method to the ORM. This method take as argument
the browse record and the "parser" that specify the field to extract.
@ -76,7 +76,7 @@ This is a technical module not function feature is added
Known issues / Roadmap
======================
Nothing yet
No distinction between float 0.0L and no value
Bug Tracker
===========
@ -98,6 +98,7 @@ Contributors
------------
* BEAU Sébastien <sebastien.beau@akretion.com>
* Raphaël Reverdy <raphael.reverdy@akretion.com>
* Laurent Mignon <laurent.mignon@acsone.eu>
Maintainer

5
base_jsonify/__init__.py

@ -1,7 +1,2 @@
# -*- coding: utf-8 -*-
# © 2016 Akretion (http://www.akretion.com)
# Sébastien BEAU <sebastien.beau@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models

5
base_jsonify/__openerp__.py → base_jsonify/__manifest__.py

@ -1,12 +1,13 @@
# -*- coding: utf-8 -*-
# © 2016 Akretion (http://www.akretion.com)
# © 2017 Akretion (http://www.akretion.com)
# Sébastien BEAU <sebastien.beau@akretion.com>
# Raphaël Reverdy <raphael.reverdy@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Base Jsonify",
"summary": "Base module that provide the jsonify method on all object",
"version": "8.0.1.0.0",
"version": "10.0.1.0.0",
"category": "Uncategorized",
"website": "https://odoo-community.org/",
"author": "Akretion, Odoo Community Association (OCA)",

8
base_jsonify/demo/export_demo.xml

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<odoo>
<record id="ir_exp_partner" model="ir.exports">
<field name="name">Partner Export</field>
<field name="resource">res.partner</field>
</record>
</data>
</openerp>
</odoo>

5
base_jsonify/models/__init__.py

@ -1,9 +1,4 @@
# -*- coding: utf-8 -*-
# © 2016 Akretion (http://www.akretion.com)
# Sébastien BEAU <sebastien.beau@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models
from . import ir_export
from . import ir_exports_line

4
base_jsonify/models/ir_export.py

@ -1,10 +1,10 @@
# -*- coding: utf-8 -*-
# © 2016 Akretion (http://www.akretion.com)
# © 2017 Akretion (http://www.akretion.com)
# Sébastien BEAU <sebastien.beau@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from collections import OrderedDict
from openerp import api, models
from odoo import api, models
def update_dict(data, fields):

4
base_jsonify/models/ir_exports_line.py

@ -2,8 +2,8 @@
# Copyright 2017 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp.exceptions import ValidationError
from openerp import api, fields, models, _
from odoo.exceptions import ValidationError
from odoo import api, fields, models, _
class IrExportsLine(models.Model):

28
base_jsonify/models/models.py

@ -1,14 +1,20 @@
# -*- coding: utf-8 -*-
# © 2016 Akretion (http://www.akretion.com)
# © 2017 Akretion (http://www.akretion.com)
# Sébastien BEAU <sebastien.beau@akretion.com>
# Raphaël Reverdy <raphael.reverdy@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openerp import api, models
from openerp.exceptions import Warning as UserError
from openerp.tools.translate import _
from odoo import api, models
from odoo.exceptions import UserError
from odoo.tools.translate import _
def __parse_field(parser_field):
class Base(models.AbstractModel):
_inherit = 'base'
@api.model
def __parse_field(self, parser_field):
field_name = parser_field
subparser = None
if isinstance(parser_field, tuple):
@ -45,15 +51,16 @@ def jsonify(self, parser):
"""
result = []
empty_value = {
'char': '',
'int': 0,
'float': 0,
'char': None,
'int': None,
# 'float': None, TODO: 0.0 != False
'text': None,
}
for rec in self:
res = {}
for field in parser:
field_name, json_key, subparser = __parse_field(field)
field_name, json_key, subparser = self.__parse_field(field)
field_type = rec._fields[field_name].type
if subparser:
if field_type in ('one2many', 'many2many'):
@ -71,6 +78,3 @@ def jsonify(self, parser):
res[json_key] = empty_value[field_type]
result.append(res)
return result
models.Model.jsonify = jsonify

4
base_jsonify/tests/__init__.py

@ -1,7 +1,3 @@
# -*- coding: utf-8 -*-
# © 2016 Akretion (http://www.akretion.com)
# Sébastien BEAU <sebastien.beau@akretion.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import test_get_parser
from . import test_ir_exports_line

12
base_jsonify/tests/test_get_parser.py

@ -2,7 +2,7 @@
# © <YEAR(S)> <AUTHOR(S)>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp.tests.common import TransactionCase
from odoo.tests.common import TransactionCase
class TestParser(TransactionCase):
@ -57,17 +57,18 @@ class TestParser(TransactionCase):
partner = self.env['res.partner'].create({
'name': 'Akretion',
'country_id': self.env.ref('base.fr').id,
'lang': 'en_US', # default
'category_id': [(0, 0, {'name': 'Inovator'})],
'child_ids': [
(0, 0, {
'name': 'Sebatien Beau',
'country_id': self.env.ref('base.fr').id
})
]
],
})
expected_json = [{
u'lang': False,
u'comment': False,
u'lang': u'en_US',
u'comment': None,
u'credit_limit': 0.0,
u'name': u'Akretion',
u'color': 0,
@ -87,8 +88,9 @@ class TestParser(TransactionCase):
},
u'children': [],
u'name': u'Sebatien Beau',
u'email': False
u'email': None
}]
}]
json_partner = partner.jsonify(parser)
self.assertDictEqual(json_partner[0], expected_json[0])

4
base_jsonify/tests/test_ir_exports_line.py

@ -2,8 +2,8 @@
# © 2017 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from openerp.exceptions import ValidationError
from openerp.tests.common import TransactionCase
from odoo.exceptions import ValidationError
from odoo.tests.common import TransactionCase
class TestIrExportsLine(TransactionCase):

Loading…
Cancel
Save