[MIG] base_external_dbsource_sqlite: Migration to v13.0

[UPD] Update base_external_dbsource_sqlite.pot

[UPD] README.rst
This commit is contained in:
Sergio Teruel
2020-01-09 17:07:32 +01:00
committed by David Alonso // Solvos
parent 06d537fdfe
commit 1d33c5e469
8 changed files with 43 additions and 65 deletions

View File

@@ -14,13 +14,13 @@ External Database Source - SQLite
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3 :alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github
:target: https://github.com/OCA/server-backend/tree/12.0/base_external_dbsource_sqlite :target: https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource_sqlite
:alt: OCA/server-backend :alt: OCA/server-backend
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-backend-12-0/server-backend-12-0-base_external_dbsource_sqlite :target: https://translation.odoo-community.org/projects/server-backend-13-0/server-backend-13-0-base_external_dbsource_sqlite
:alt: Translate me on Weblate :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/253/12.0 :target: https://runbot.odoo-community.org/runbot/253/13.0
:alt: Try me on Runbot :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
@@ -28,7 +28,6 @@ External Database Source - SQLite
This module extends ``base_external_dbsource``, allowing you to connect to This module extends ``base_external_dbsource``, allowing you to connect to
foreign SQLite databases using SQLAlchemy. foreign SQLite databases using SQLAlchemy.
**Table of contents** **Table of contents**
.. contents:: .. contents::
@@ -73,7 +72,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-backend/issues>`_. Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-backend/issues>`_.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-backend/issues/new?body=module:%20base_external_dbsource_sqlite%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. `feedback <https://github.com/OCA/server-backend/issues/new?body=module:%20base_external_dbsource_sqlite%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues. Do not contact contributors directly about support or help with technical issues.
@@ -108,6 +107,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
This module is part of the `OCA/server-backend <https://github.com/OCA/server-backend/tree/12.0/base_external_dbsource_sqlite>`_ project on GitHub. This module is part of the `OCA/server-backend <https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource_sqlite>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -2,24 +2,14 @@
# Copyright 2016 LasLabs Inc. # Copyright 2016 LasLabs Inc.
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
{ {
'name': 'External Database Source - SQLite', "name": "External Database Source - SQLite",
'version': '12.0.1.0.0', "version": "13.0.1.0.0",
'category': 'Tools', "category": "Tools",
'author': "Daniel Reis, " "author": "Daniel Reis, LasLabs, Odoo Community Association (OCA)",
"LasLabs, " "website": "https://github.com/OCA/server-tools",
"Odoo Community Association (OCA)", "license": "LGPL-3",
'website': 'https://github.com/OCA/server-tools', "depends": ["base_external_dbsource"],
'license': 'LGPL-3', "external_dependencies": {"python": ["sqlalchemy"]},
'depends': [ "demo": ["demo/base_external_dbsource.xml"],
'base_external_dbsource', "installable": True,
],
'external_dependencies': {
'python': [
'sqlalchemy',
],
},
'demo': [
'demo/base_external_dbsource.xml',
],
'installable': True,
} }

View File

@@ -1,4 +1,4 @@
<?xml version="1.0"?> <?xml version="1.0" ?>
<odoo> <odoo>
<record model="base.external.dbsource" id="demo_sqlite"> <record model="base.external.dbsource" id="demo_sqlite">
<field name="name">SQLite Demo</field> <field name="name">SQLite Demo</field>

View File

@@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 12.0\n" "Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@@ -17,4 +17,3 @@ msgstr ""
#: model:ir.model,name:base_external_dbsource_sqlite.model_base_external_dbsource #: model:ir.model,name:base_external_dbsource_sqlite.model_base_external_dbsource
msgid "External Database Sources" msgid "External Database Sources"
msgstr "" msgstr ""

View File

@@ -4,23 +4,25 @@
import logging import logging
from odoo import api, models from odoo import models
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
try: try:
from odoo.addons.base_external_dbsource.models import ( from odoo.addons.base_external_dbsource.models import base_external_dbsource
base_external_dbsource,
)
CONNECTORS = base_external_dbsource.BaseExternalDbsource.CONNECTORS CONNECTORS = base_external_dbsource.BaseExternalDbsource.CONNECTORS
try: try:
import sqlalchemy import sqlalchemy
CONNECTORS.append(('sqlite', 'SQLite'))
CONNECTORS.append(("sqlite", "SQLite"))
except ImportError: except ImportError:
_logger.info('SQLAlchemy library not available. Please ' _logger.info(
'install "sqlalchemy" python package.') "SQLAlchemy library not available. Please "
'install "sqlalchemy" python package.'
)
except ImportError: except ImportError:
_logger.info('base_external_dbsource Odoo module not found.') _logger.info("base_external_dbsource Odoo module not found.")
class BaseExternalDbsource(models.Model): class BaseExternalDbsource(models.Model):
@@ -28,25 +30,20 @@ class BaseExternalDbsource(models.Model):
_inherit = "base.external.dbsource" _inherit = "base.external.dbsource"
PWD_STRING_SQLITE = 'Password=%s;' PWD_STRING_SQLITE = "Password=%s;"
@api.multi
def connection_close_sqlite(self, connection): def connection_close_sqlite(self, connection):
return connection.close() return connection.close()
@api.multi
def connection_open_sqlite(self): def connection_open_sqlite(self):
return self._connection_open_sqlalchemy() return self._connection_open_sqlalchemy()
@api.multi
def execute_sqlite(self, sqlquery, sqlparams, metadata): def execute_sqlite(self, sqlquery, sqlparams, metadata):
return self._execute_sqlalchemy(sqlquery, sqlparams, metadata) return self._execute_sqlalchemy(sqlquery, sqlparams, metadata)
@api.multi
def _connection_open_sqlalchemy(self): def _connection_open_sqlalchemy(self):
return sqlalchemy.create_engine(self.conn_string_full).connect() return sqlalchemy.create_engine(self.conn_string_full).connect()
@api.multi
def _execute_sqlalchemy(self, sqlquery, sqlparams, metadata): def _execute_sqlalchemy(self, sqlquery, sqlparams, metadata):
rows, cols = list(), list() rows, cols = list(), list()
for record in self: for record in self:

View File

@@ -1,3 +1,2 @@
This module extends ``base_external_dbsource``, allowing you to connect to This module extends ``base_external_dbsource``, allowing you to connect to
foreign SQLite databases using SQLAlchemy. foreign SQLite databases using SQLAlchemy.

View File

@@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-backend/tree/12.0/base_external_dbsource_sqlite"><img alt="OCA/server-backend" src="https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-backend-12-0/server-backend-12-0-base_external_dbsource_sqlite"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/253/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource_sqlite"><img alt="OCA/server-backend" src="https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-backend-13-0/server-backend-13-0-base_external_dbsource_sqlite"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/253/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module extends <tt class="docutils literal">base_external_dbsource</tt>, allowing you to connect to <p>This module extends <tt class="docutils literal">base_external_dbsource</tt>, allowing you to connect to
foreign SQLite databases using SQLAlchemy.</p> foreign SQLite databases using SQLAlchemy.</p>
<p><strong>Table of contents</strong></p> <p><strong>Table of contents</strong></p>
@@ -424,7 +424,7 @@ Data sources.</li>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-backend/issues">GitHub Issues</a>. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-backend/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/server-backend/issues/new?body=module:%20base_external_dbsource_sqlite%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <a class="reference external" href="https://github.com/OCA/server-backend/issues/new?body=module:%20base_external_dbsource_sqlite%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <div class="section" id="credits">
@@ -453,7 +453,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-backend/tree/12.0/base_external_dbsource_sqlite">OCA/server-backend</a> project on GitHub.</p> <p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource_sqlite">OCA/server-backend</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>

View File

@@ -4,18 +4,16 @@ import mock
from odoo.tests import common from odoo.tests import common
ADAPTER = (
ADAPTER = ('odoo.addons.base_external_dbsource_sqlite.models' "odoo.addons.base_external_dbsource_sqlite.models"
'.base_external_dbsource.sqlalchemy') ".base_external_dbsource.sqlalchemy"
)
class TestBaseExternalDbsource(common.TransactionCase): class TestBaseExternalDbsource(common.TransactionCase):
def setUp(self): def setUp(self):
super(TestBaseExternalDbsource, self).setUp() super(TestBaseExternalDbsource, self).setUp()
self.dbsource = self.env.ref( self.dbsource = self.env.ref("base_external_dbsource_sqlite.demo_sqlite")
'base_external_dbsource_sqlite.demo_sqlite',
)
def test_connection_close_sqlite(self): def test_connection_close_sqlite(self):
""" It should close the connection """ """ It should close the connection """
@@ -26,25 +24,21 @@ class TestBaseExternalDbsource(common.TransactionCase):
def test_connection_open_sqlite(self): def test_connection_open_sqlite(self):
""" It should call SQLAlchemy open """ """ It should call SQLAlchemy open """
with mock.patch.object( with mock.patch.object(
self.dbsource, '_connection_open_sqlalchemy' self.dbsource, "_connection_open_sqlalchemy"
) as parent_method: ) as parent_method:
self.dbsource.connection_open_sqlite() self.dbsource.connection_open_sqlite()
parent_method.assert_called_once_with() parent_method.assert_called_once_with()
def test_excecute_sqlite(self): def test_excecute_sqlite(self):
""" It should pass args to SQLAlchemy execute """ """ It should pass args to SQLAlchemy execute """
expect = 'sqlquery', 'sqlparams', 'metadata' expect = "sqlquery", "sqlparams", "metadata"
with mock.patch.object( with mock.patch.object(self.dbsource, "_execute_sqlalchemy") as parent_method:
self.dbsource, '_execute_sqlalchemy'
) as parent_method:
self.dbsource.execute_sqlite(*expect) self.dbsource.execute_sqlite(*expect)
parent_method.assert_called_once_with(*expect) parent_method.assert_called_once_with(*expect)
def test_execute_sqlit_without_sqlparams(self): def test_execute_sqlit_without_sqlparams(self):
""" It should pass args to SQLAlchemy execute """ """ It should pass args to SQLAlchemy execute """
expect = 'sqlquery', None, 'metadata' expect = "sqlquery", None, "metadata"
with mock.patch.object( with mock.patch.object(self.dbsource, "_execute_sqlalchemy") as parent_method:
self.dbsource, '_execute_sqlalchemy'
) as parent_method:
self.dbsource.execute_sqlite(*expect) self.dbsource.execute_sqlite(*expect)
parent_method.assert_called_once_with(*expect) parent_method.assert_called_once_with(*expect)