From ee15df8d151127d497b5e211d8380358a5bd9c6e Mon Sep 17 00:00:00 2001 From: Ronald Portier Date: Fri, 28 May 2021 14:26:43 +0200 Subject: [PATCH] [IMP] account_bank_statement_import_online: black, isort, prettier --- .../__manifest__.py | 2 +- .../models/online_bank_statement_provider.py | 32 +++++-- .../online_bank_statement_provider_dummy.py | 3 +- ...st_account_bank_statement_import_online.py | 83 +++++++++++++------ .../online_bank_statement_pull_wizard.py | 14 ++-- .../account_bank_statement_import_online | 1 + .../setup.py | 6 ++ 7 files changed, 100 insertions(+), 41 deletions(-) create mode 120000 setup/account_bank_statement_import_online/odoo/addons/account_bank_statement_import_online create mode 100644 setup/account_bank_statement_import_online/setup.py diff --git a/account_bank_statement_import_online/__manifest__.py b/account_bank_statement_import_online/__manifest__.py index c45ffa5f..e0de7e07 100644 --- a/account_bank_statement_import_online/__manifest__.py +++ b/account_bank_statement_import_online/__manifest__.py @@ -7,7 +7,7 @@ "version": "13.0.1.0.0", "author": "CorporateHub, Odoo Community Association (OCA)", "maintainers": ["alexey-pelykh"], - "website": "https://github.com/OCA/bank-statement-import/", + "website": "https://github.com/OCA/bank-statement-import", "license": "AGPL-3", "category": "Accounting", "summary": "Online bank statements update", diff --git a/account_bank_statement_import_online/models/online_bank_statement_provider.py b/account_bank_statement_import_online/models/online_bank_statement_provider.py index 1749d7aa..85776a1d 100644 --- a/account_bank_statement_import_online/models/online_bank_statement_provider.py +++ b/account_bank_statement_import_online/models/online_bank_statement_provider.py @@ -47,7 +47,9 @@ class OnlineBankStatementProvider(models.Model): ), ) service = fields.Selection( - selection=lambda self: self._selection_service(), required=True, readonly=True, + selection=lambda self: self._selection_service(), + required=True, + readonly=True, ) interval_type = fields.Selection( selection=[ @@ -60,14 +62,19 @@ class OnlineBankStatementProvider(models.Model): required=True, ) interval_number = fields.Integer( - string="Scheduled update interval", default=1, required=True, + string="Scheduled update interval", + default=1, + required=True, ) update_schedule = fields.Char( - string="Update Schedule", compute="_compute_update_schedule", + string="Update Schedule", + compute="_compute_update_schedule", ) last_successful_run = fields.Datetime(string="Last successful pull") next_run = fields.Datetime( - string="Next scheduled pull", default=fields.Datetime.now, required=True, + string="Next scheduled pull", + default=fields.Datetime.now, + required=True, ) statement_creation_mode = fields.Selection( selection=[ @@ -186,7 +193,8 @@ class OnlineBankStatementProvider(models.Model): break raise statement_date = provider._get_statement_date( - statement_date_since, statement_date_until, + statement_date_since, + statement_date_until, ) if not data: data = ([], {}) @@ -307,11 +315,21 @@ class OnlineBankStatementProvider(models.Model): return relativedelta(days=1, hour=0, minute=0, second=0, microsecond=0) elif self.statement_creation_mode == "weekly": return relativedelta( - weeks=1, weekday=MO, hour=0, minute=0, second=0, microsecond=0, + weeks=1, + weekday=MO, + hour=0, + minute=0, + second=0, + microsecond=0, ) elif self.statement_creation_mode == "monthly": return relativedelta( - months=1, day=1, hour=0, minute=0, second=0, microsecond=0, + months=1, + day=1, + hour=0, + minute=0, + second=0, + microsecond=0, ) def _get_statement_date(self, date_since, date_until): diff --git a/account_bank_statement_import_online/tests/online_bank_statement_provider_dummy.py b/account_bank_statement_import_online/tests/online_bank_statement_provider_dummy.py index a59cac70..f2e7b5fb 100644 --- a/account_bank_statement_import_online/tests/online_bank_statement_provider_dummy.py +++ b/account_bank_statement_import_online/tests/online_bank_statement_provider_dummy.py @@ -18,7 +18,8 @@ class OnlineBankStatementProviderDummy(models.Model): self.ensure_one() if self.service != "dummy": return super()._obtain_statement_data( - date_since, date_until, + date_since, + date_until, ) # pragma: no cover if self.env.context.get("crash", False): diff --git a/account_bank_statement_import_online/tests/test_account_bank_statement_import_online.py b/account_bank_statement_import_online/tests/test_account_bank_statement_import_online.py index 5a467275..335b5f70 100644 --- a/account_bank_statement_import_online/tests/test_account_bank_statement_import_online.py +++ b/account_bank_statement_import_online/tests/test_account_bank_statement_import_online.py @@ -85,7 +85,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): provider.statement_creation_mode = "daily" provider.with_context(step={"hours": 2})._pull( - self.now - relativedelta(days=1), self.now, + self.now - relativedelta(days=1), + self.now, ) self.assertEqual( len(self.AccountBankStatement.search([("journal_id", "=", journal.id)])), 2 @@ -107,7 +108,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): provider.statement_creation_mode = "weekly" provider.with_context(step={"hours": 8})._pull( - self.now - relativedelta(weeks=1), self.now, + self.now - relativedelta(weeks=1), + self.now, ) self.assertEqual( len(self.AccountBankStatement.search([("journal_id", "=", journal.id)])), 2 @@ -129,7 +131,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): provider.statement_creation_mode = "monthly" provider.with_context(step={"hours": 8})._pull( - self.now - relativedelta(months=1), self.now, + self.now - relativedelta(months=1), + self.now, ) self.assertEqual( len(self.AccountBankStatement.search([("journal_id", "=", journal.id)])), 2 @@ -179,7 +182,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): data_since=self.now - relativedelta(weeks=2), data_until=self.now, )._pull( - self.now - relativedelta(weeks=2), self.now, + self.now - relativedelta(weeks=2), + self.now, ) self.assertEqual( len( @@ -193,7 +197,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): data_since=self.now - relativedelta(weeks=3), data_until=self.now - relativedelta(weeks=1), )._pull( - self.now - relativedelta(weeks=3), self.now - relativedelta(weeks=1), + self.now - relativedelta(weeks=3), + self.now - relativedelta(weeks=1), ) self.assertEqual( len( @@ -207,7 +212,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): data_since=self.now - relativedelta(weeks=1), data_until=self.now, )._pull( - self.now - relativedelta(weeks=1), self.now, + self.now - relativedelta(weeks=1), + self.now, ) self.assertEqual( len( @@ -296,7 +302,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): provider.statement_creation_mode = "weekly" provider.with_context(crash=True, scheduled=True)._pull( - self.now - relativedelta(hours=1), self.now, + self.now - relativedelta(hours=1), + self.now, ) self.assertFalse( self.AccountBankStatement.search([("journal_id", "=", journal.id)]) @@ -319,7 +326,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): with self.assertRaises(Exception): provider.with_context(crash=True)._pull( - self.now - relativedelta(hours=1), self.now, + self.now - relativedelta(hours=1), + self.now, ) def test_pull_httperror(self): @@ -339,9 +347,11 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): with self.assertRaises(HTTPError): provider.with_context( - crash=True, exception=HTTPError(None, 500, "Error", None, None), + crash=True, + exception=HTTPError(None, 500, "Error", None, None), )._pull( - self.now - relativedelta(hours=1), self.now, + self.now - relativedelta(hours=1), + self.now, ) def test_pull_no_balance(self): @@ -360,12 +370,17 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): provider.statement_creation_mode = "daily" provider.with_context( - step={"hours": 2}, balance_start=0, amount=100.0, balance=False, + step={"hours": 2}, + balance_start=0, + amount=100.0, + balance=False, )._pull( - self.now - relativedelta(days=1), self.now, + self.now - relativedelta(days=1), + self.now, ) statements = self.AccountBankStatement.search( - [("journal_id", "=", journal.id)], order="date asc", + [("journal_id", "=", journal.id)], + order="date asc", ) self.assertFalse(statements[0].balance_start) self.assertFalse(statements[0].balance_end_real) @@ -421,24 +436,30 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): } provider.with_context( - **provider_context, data_until=datetime(2020, 1, 31), + **provider_context, + data_until=datetime(2020, 1, 31), )._pull( - datetime(2020, 1, 1), datetime(2020, 1, 31), + datetime(2020, 1, 1), + datetime(2020, 1, 31), ) statements = self.AccountBankStatement.search( - [("journal_id", "=", journal.id)], order="date asc", + [("journal_id", "=", journal.id)], + order="date asc", ) self.assertEqual(len(statements), 1) self.assertEqual(statements[0].balance_start, 0.0) self.assertEqual(statements[0].balance_end_real, 30.0) provider.with_context( - **provider_context, data_until=datetime(2020, 2, 15), + **provider_context, + data_until=datetime(2020, 2, 15), )._pull( - datetime(2020, 1, 1), datetime(2020, 2, 29), + datetime(2020, 1, 1), + datetime(2020, 2, 29), ) statements = self.AccountBankStatement.search( - [("journal_id", "=", journal.id)], order="date asc", + [("journal_id", "=", journal.id)], + order="date asc", ) self.assertEqual(len(statements), 2) self.assertEqual(statements[0].balance_start, 0.0) @@ -447,12 +468,15 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): self.assertEqual(statements[1].balance_end_real, 45.0) provider.with_context( - **provider_context, data_until=datetime(2020, 2, 29), + **provider_context, + data_until=datetime(2020, 2, 29), )._pull( - datetime(2020, 1, 1), datetime(2020, 2, 29), + datetime(2020, 1, 1), + datetime(2020, 2, 29), ) statements = self.AccountBankStatement.search( - [("journal_id", "=", journal.id)], order="date asc", + [("journal_id", "=", journal.id)], + order="date asc", ) self.assertEqual(len(statements), 2) self.assertEqual(statements[0].balance_start, 0.0) @@ -480,7 +504,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): data_until=datetime(2020, 4, 18, 2, 0), tz="UTC", )._pull( - datetime(2020, 4, 17, 22, 0), datetime(2020, 4, 18, 2, 0), + datetime(2020, 4, 17, 22, 0), + datetime(2020, 4, 18, 2, 0), ) statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)]) @@ -513,7 +538,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): data_until=datetime(2020, 4, 18, 2, 0), tz="UTC", )._pull( - datetime(2020, 4, 17, 22, 0), datetime(2020, 4, 18, 2, 0), + datetime(2020, 4, 17, 22, 0), + datetime(2020, 4, 18, 2, 0), ) statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)]) @@ -545,7 +571,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): data_since=datetime(2020, 4, 18, 0, 0), data_until=datetime(2020, 4, 18, 4, 0), )._pull( - datetime(2020, 4, 17, 22, 0), datetime(2020, 4, 18, 2, 0), + datetime(2020, 4, 17, 22, 0), + datetime(2020, 4, 18, 2, 0), ) statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)]) @@ -572,7 +599,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): provider = journal.online_bank_statement_provider_id provider.active = True provider.with_context(step={"hours": 1}, timestamp_mode="date")._pull( - datetime(2020, 4, 18, 0, 0), datetime(2020, 4, 18, 4, 0), + datetime(2020, 4, 18, 0, 0), + datetime(2020, 4, 18, 4, 0), ) statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)]) @@ -602,7 +630,8 @@ class TestAccountBankAccountStatementImportOnline(common.TransactionCase): data_until=datetime(2020, 4, 18, 4, 0), timestamp_mode="str", )._pull( - datetime(2020, 4, 18, 0, 0), datetime(2020, 4, 18, 4, 0), + datetime(2020, 4, 18, 0, 0), + datetime(2020, 4, 18, 4, 0), ) statement = self.AccountBankStatement.search([("journal_id", "=", journal.id)]) diff --git a/account_bank_statement_import_online/wizards/online_bank_statement_pull_wizard.py b/account_bank_statement_import_online/wizards/online_bank_statement_pull_wizard.py index 606a29d0..52225668 100644 --- a/account_bank_statement_import_online/wizards/online_bank_statement_pull_wizard.py +++ b/account_bank_statement_import_online/wizards/online_bank_statement_pull_wizard.py @@ -10,10 +10,14 @@ class OnlineBankStatementPullWizard(models.TransientModel): _description = "Online Bank Statement Pull Wizard" date_since = fields.Datetime( - string="Since", required=True, default=fields.Datetime.now, + string="Since", + required=True, + default=fields.Datetime.now, ) date_until = fields.Datetime( - string="Until", required=True, default=fields.Datetime.now, + string="Until", + required=True, + default=fields.Datetime.now, ) provider_ids = fields.Many2many( string="Providers", @@ -25,7 +29,7 @@ class OnlineBankStatementPullWizard(models.TransientModel): def action_pull(self): self.ensure_one() - self.with_context(active_test=False,).provider_ids._pull( - self.date_since, self.date_until - ) + self.with_context( + active_test=False, + ).provider_ids._pull(self.date_since, self.date_until) return {"type": "ir.actions.act_window_close"} diff --git a/setup/account_bank_statement_import_online/odoo/addons/account_bank_statement_import_online b/setup/account_bank_statement_import_online/odoo/addons/account_bank_statement_import_online new file mode 120000 index 00000000..b31ca33c --- /dev/null +++ b/setup/account_bank_statement_import_online/odoo/addons/account_bank_statement_import_online @@ -0,0 +1 @@ +../../../../account_bank_statement_import_online \ No newline at end of file diff --git a/setup/account_bank_statement_import_online/setup.py b/setup/account_bank_statement_import_online/setup.py new file mode 100644 index 00000000..28c57bb6 --- /dev/null +++ b/setup/account_bank_statement_import_online/setup.py @@ -0,0 +1,6 @@ +import setuptools + +setuptools.setup( + setup_requires=['setuptools-odoo'], + odoo_addon=True, +)