Skip to content

Commit d9515f3

Browse files
committed
[IMP] : black, isort, prettier
1 parent ab59fab commit d9515f3

File tree

143 files changed

+30379
-26836
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

143 files changed

+30379
-26836
lines changed

connector_magento/components/backend_adapter.py

+143-110
Large diffs are not rendered by default.

connector_magento/components/binder.py

+15-14
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,20 @@ class MagentoModelBinder(Component):
1414
the Magento ID, the ID of the Magento Backend and the additional
1515
fields belonging to the Magento instance.
1616
"""
17-
_name = 'magento.binder'
18-
_inherit = ['base.binder', 'base.magento.connector']
17+
18+
_name = "magento.binder"
19+
_inherit = ["base.binder", "base.magento.connector"]
1920
_apply_on = [
20-
'magento.website',
21-
'magento.store',
22-
'magento.storeview',
23-
'magento.res.partner',
24-
'magento.address',
25-
'magento.res.partner.category',
26-
'magento.product.category',
27-
'magento.product.product',
28-
'magento.stock.picking',
29-
'magento.sale.order',
30-
'magento.sale.order.line',
31-
'magento.account.invoice',
21+
"magento.website",
22+
"magento.store",
23+
"magento.storeview",
24+
"magento.res.partner",
25+
"magento.address",
26+
"magento.res.partner.category",
27+
"magento.product.category",
28+
"magento.product.product",
29+
"magento.stock.picking",
30+
"magento.sale.order",
31+
"magento.sale.order.line",
32+
"magento.account.invoice",
3233
]

connector_magento/components/core.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ class BaseMagentoConnectorComponent(AbstractComponent):
1010
All components of this connector should inherit from it.
1111
"""
1212

13-
_name = 'base.magento.connector'
14-
_inherit = 'base.connector'
15-
_collection = 'magento.backend'
13+
_name = "base.magento.connector"
14+
_inherit = "base.connector"
15+
_collection = "magento.backend"

connector_magento/components/deleter.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,21 @@
22
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
33

44
from odoo.tools.translate import _
5+
56
from odoo.addons.component.core import AbstractComponent
67

78

89
class MagentoDeleter(AbstractComponent):
910
""" Base deleter for Magento """
10-
_name = 'magento.exporter.deleter'
11-
_inherit = 'base.deleter'
12-
_usage = 'record.exporter.deleter'
11+
12+
_name = "magento.exporter.deleter"
13+
_inherit = "base.deleter"
14+
_usage = "record.exporter.deleter"
1315

1416
def run(self, external_id):
1517
""" Run the synchronization, delete the record on Magento
1618
1719
:param external_id: identifier of the record to delete
1820
"""
1921
self.backend_adapter.delete(external_id)
20-
return _('Record %s deleted on Magento') % (external_id,)
22+
return _("Record %s deleted on Magento") % (external_id,)

connector_magento/components/exporter.py

+61-51
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
44

55
import logging
6-
76
from contextlib import contextmanager
87
from datetime import datetime
98

109
import psycopg2
1110

1211
import odoo
1312
from odoo import _
13+
1414
from odoo.addons.component.core import AbstractComponent
15-
from odoo.addons.connector.exception import (IDMissingInBackend,
16-
RetryableJobError)
15+
from odoo.addons.connector.exception import IDMissingInBackend, RetryableJobError
16+
1717
from .backend_adapter import MAGENTO_DATETIME_FORMAT
1818

1919
_logger = logging.getLogger(__name__)
@@ -35,9 +35,9 @@
3535
class MagentoBaseExporter(AbstractComponent):
3636
""" Base exporter for Magento """
3737

38-
_name = 'magento.base.exporter'
39-
_inherit = ['base.exporter', 'base.magento.connector']
40-
_usage = 'record.exporter'
38+
_name = "magento.base.exporter"
39+
_inherit = ["base.exporter", "base.magento.connector"]
40+
_usage = "record.exporter"
4141

4242
def __init__(self, working_context):
4343
super(MagentoBaseExporter, self).__init__(working_context)
@@ -53,9 +53,9 @@ def _delay_import(self):
5353
# force is True because the sync_date will be more recent
5454
# so the import would be skipped
5555
assert self.external_id
56-
self.binding.with_delay().import_record(self.backend_record,
57-
self.external_id,
58-
force=True)
56+
self.binding.with_delay().import_record(
57+
self.backend_record, self.external_id, force=True
58+
)
5959

6060
def _should_import(self):
6161
""" Before the export, compare the update date
@@ -69,14 +69,12 @@ def _should_import(self):
6969
sync = self.binding.sync_date
7070
if not sync:
7171
return True
72-
record = self.backend_adapter.read(self.external_id,
73-
attributes=['updated_at'])
74-
if not record['updated_at']:
72+
record = self.backend_adapter.read(self.external_id, attributes=["updated_at"])
73+
if not record["updated_at"]:
7574
# in rare case it can be empty, in doubt, import it
7675
return True
7776
sync_date = odoo.fields.Datetime.from_string(sync)
78-
magento_date = datetime.strptime(record['updated_at'],
79-
MAGENTO_DATETIME_FORMAT)
77+
magento_date = datetime.strptime(record["updated_at"], MAGENTO_DATETIME_FORMAT)
8078
return sync_date < magento_date
8179

8280
def run(self, binding, *args, **kwargs):
@@ -102,7 +100,7 @@ def run(self, binding, *args, **kwargs):
102100
# exports (due to dependencies) and one of them fails.
103101
# The commit will also release the lock acquired on the binding
104102
# record
105-
if not odoo.tools.config['test_enable']:
103+
if not odoo.tools.config["test_enable"]:
106104
# pylint: disable=invalid-commit
107105
self.env.cr.commit() # noqa
108106

@@ -121,8 +119,8 @@ def _after_export(self):
121119
class MagentoExporter(AbstractComponent):
122120
""" A common flow for the exports to Magento """
123121

124-
_name = 'magento.exporter'
125-
_inherit = 'magento.base.exporter'
122+
_name = "magento.exporter"
123+
_inherit = "magento.base.exporter"
126124

127125
def __init__(self, working_context):
128126
super(MagentoExporter, self).__init__(working_context)
@@ -144,19 +142,21 @@ def _lock(self):
144142
on the binding record it has to export.
145143
146144
"""
147-
sql = ("SELECT id FROM %s WHERE ID = %%s FOR UPDATE NOWAIT" %
148-
self.model._table)
145+
sql = "SELECT id FROM %s WHERE ID = %%s FOR UPDATE NOWAIT" % self.model._table
149146
try:
150-
self.env.cr.execute(sql, (self.binding.id, ),
151-
log_exceptions=False)
147+
self.env.cr.execute(sql, (self.binding.id,), log_exceptions=False)
152148
except psycopg2.OperationalError:
153-
_logger.info('A concurrent job is already exporting the same '
154-
'record (%s with id %s). Job delayed later.',
155-
self.model._name, self.binding.id)
149+
_logger.info(
150+
"A concurrent job is already exporting the same "
151+
"record (%s with id %s). Job delayed later.",
152+
self.model._name,
153+
self.binding.id,
154+
)
156155
raise RetryableJobError(
157-
'A concurrent job is already exporting the same record '
158-
'(%s with id %s). The job will be retried later.' %
159-
(self.model._name, self.binding.id))
156+
"A concurrent job is already exporting the same record "
157+
"(%s with id %s). The job will be retried later."
158+
% (self.model._name, self.binding.id)
159+
)
160160

161161
def _has_to_skip(self):
162162
""" Return True if the export can be skipped """
@@ -187,17 +187,22 @@ def _retry_unique_violation(self):
187187
except psycopg2.IntegrityError as err:
188188
if err.pgcode == psycopg2.errorcodes.UNIQUE_VIOLATION:
189189
raise RetryableJobError(
190-
'A database error caused the failure of the job:\n'
191-
'%s\n\n'
192-
'Likely due to 2 concurrent jobs wanting to create '
193-
'the same record. The job will be retried later.' % err)
190+
"A database error caused the failure of the job:\n"
191+
"%s\n\n"
192+
"Likely due to 2 concurrent jobs wanting to create "
193+
"the same record. The job will be retried later." % err
194+
)
194195
else:
195196
raise
196197

197-
def _export_dependency(self, relation, binding_model,
198-
component_usage='record.exporter',
199-
binding_field='magento_bind_ids',
200-
binding_extra_vals=None):
198+
def _export_dependency(
199+
self,
200+
relation,
201+
binding_model,
202+
component_usage="record.exporter",
203+
binding_field="magento_bind_ids",
204+
binding_extra_vals=None,
205+
):
201206
"""
202207
Export a dependency. The exporter class is a subclass of
203208
``MagentoExporter``. If a more precise class need to be defined,
@@ -242,38 +247,44 @@ def _export_dependency(self, relation, binding_model,
242247
wrap = relation._name != binding_model
243248

244249
if wrap and hasattr(relation, binding_field):
245-
domain = [('odoo_id', '=', relation.id),
246-
('backend_id', '=', self.backend_record.id)]
250+
domain = [
251+
("odoo_id", "=", relation.id),
252+
("backend_id", "=", self.backend_record.id),
253+
]
247254
binding = self.env[binding_model].search(domain)
248255
if binding:
249256
assert len(binding) == 1, (
250-
'only 1 binding for a backend is '
251-
'supported in _export_dependency')
257+
"only 1 binding for a backend is " "supported in _export_dependency"
258+
)
252259
# we are working with a unwrapped record (e.g.
253260
# product.category) and the binding does not exist yet.
254261
# Example: I created a product.product and its binding
255262
# magento.product.product and we are exporting it, but we need to
256263
# create the binding for the product.category on which it
257264
# depends.
258265
else:
259-
bind_values = {'backend_id': self.backend_record.id,
260-
'odoo_id': relation.id}
266+
bind_values = {
267+
"backend_id": self.backend_record.id,
268+
"odoo_id": relation.id,
269+
}
261270
if binding_extra_vals:
262271
bind_values.update(binding_extra_vals)
263272
# If 2 jobs create it at the same time, retry
264273
# one later. A unique constraint (backend_id,
265274
# odoo_id) should exist on the binding model
266275
with self._retry_unique_violation():
267-
binding = (self.env[binding_model]
268-
.with_context(connector_no_export=True)
269-
.sudo()
270-
.create(bind_values))
276+
binding = (
277+
self.env[binding_model]
278+
.with_context(connector_no_export=True)
279+
.sudo()
280+
.create(bind_values)
281+
)
271282
# Eager commit to avoid having 2 jobs
272283
# exporting at the same time. The constraint
273284
# will pop if an other job already created
274285
# the same binding. It will be caught and
275286
# raise a RetryableJobError.
276-
if not odoo.tools.config['test_enable']:
287+
if not odoo.tools.config["test_enable"]:
277288
# pylint: disable=invalid-commit
278289
self.env.cr.commit() # noqa
279290
else:
@@ -283,8 +294,7 @@ def _export_dependency(self, relation, binding_model,
283294
binding = relation
284295

285296
if not rel_binder.to_external(binding):
286-
exporter = self.component(usage=component_usage,
287-
model_name=binding_model)
297+
exporter = self.component(usage=component_usage, model_name=binding_model)
288298
exporter.run(binding)
289299

290300
def _export_dependencies(self):
@@ -361,11 +371,11 @@ def _run(self, fields=None):
361371
if self.external_id:
362372
record = self._update_data(map_record, fields=fields)
363373
if not record:
364-
return _('Nothing to export.')
374+
return _("Nothing to export.")
365375
self._update(record)
366376
else:
367377
record = self._create_data(map_record, fields=fields)
368378
if not record:
369-
return _('Nothing to export.')
379+
return _("Nothing to export.")
370380
self.external_id = self._create(record)
371-
return _('Record exported with ID %s on Magento.') % self.external_id
381+
return _("Record exported with ID %s on Magento.") % self.external_id

0 commit comments

Comments
 (0)