From a6517670cdcee486337d3e1ca26058076e24c5b8 Mon Sep 17 00:00:00 2001 From: Quentin Defenouillere Date: Tue, 5 May 2020 14:24:45 +0200 Subject: [PATCH] [caissedepargne] Implemented Market Orders on Linebourse --- modules/caissedepargne/browser.py | 18 ++++++++++++++++++ modules/caissedepargne/module.py | 3 +++ 2 files changed, 21 insertions(+) diff --git a/modules/caissedepargne/browser.py b/modules/caissedepargne/browser.py index 02222991b1..2259898184 100644 --- a/modules/caissedepargne/browser.py +++ b/modules/caissedepargne/browser.py @@ -1217,6 +1217,24 @@ def get_investment(self, account): if self.market.is_here(): self.page.come_back() + @need_login + def iter_market_orders(self, account): + if account.type not in (Account.TYPE_MARKET, Account.TYPE_PEA): + return + self.home.go() + self.deleteCTX() + self.page.go_history(account._info) + if "Bourse" in self.url: + self.page.submit() + if 'offrebourse.com' in self.url: + # Some users may not have access to this. + if self.page.is_error(): + return + self.linebourse.session.cookies.update(self.session.cookies) + self.update_linebourse_token() + for order in self.linebourse.iter_market_orders(account.id): + yield order + @need_login def get_advisor(self): raise NotImplementedError() diff --git a/modules/caissedepargne/module.py b/modules/caissedepargne/module.py index ab8251afad..c7b77a4530 100644 --- a/modules/caissedepargne/module.py +++ b/modules/caissedepargne/module.py @@ -87,6 +87,9 @@ def iter_coming(self, account): def iter_investment(self, account): return self.browser.get_investment(account) + def iter_market_orders(self, account): + return self.browser.iter_market_orders(account) + def iter_contacts(self): return self.browser.get_advisor() -- GitLab