diff --git a/modules/spirica/browser.py b/modules/spirica/browser.py index d3305a588386cb5cab57ee3587036c19e2b36a49..a419c1e78a2cd5418f023b32d0946989034cdfc3 100644 --- a/modules/spirica/browser.py +++ b/modules/spirica/browser.py @@ -81,8 +81,10 @@ def iter_history(self, account): def fill_from_list(self, invs, objects_list): matching_fields = ['code', 'unitvalue', 'label', '_gestion_type'] for inv in invs: - obj_from_list = [o for o in objects_list if all(getattr(o, field) == getattr(inv, field) for field in matching_fields)] - assert len(obj_from_list) == 1 - for name, field_value in obj_from_list[0].iter_fields(): - if field_value: - setattr(inv, name, field_value) + # Some investments don't have PRM + if inv._invest_type != 'Fonds en euros': + obj_from_list = [o for o in objects_list if all(getattr(o, field) == getattr(inv, field) for field in matching_fields)] + assert len(obj_from_list) == 1 + for name, field_value in obj_from_list[0].iter_fields(): + if field_value: + setattr(inv, name, field_value) diff --git a/modules/spirica/pages.py b/modules/spirica/pages.py index 38cd77c2305ea762bb13cf03c83fd7b35a25b992..6870744094ac084624c9026acf5d45fe42ef6e07 100644 --- a/modules/spirica/pages.py +++ b/modules/spirica/pages.py @@ -106,6 +106,7 @@ class ItemInvestment(ItemElement): obj_unitvalue = MyDecimal(TableCell('unitvalue', default=None)) obj_vdate = Date(CleanText(TableCell('vdate', default="")), dayfirst=True, default=NotAvailable) obj_code = Regexp(CleanText('.//td[contains(text(), "Isin")]'), ':[\s]+([\w]+)', default=NotAvailable) + obj__invest_type = Regexp(CleanText('.//td[contains(text(), "Type")]'), ':[\s]+([\w ]+)', default=NotAvailable) def obj_valuation(self): valuation = MyDecimal(TableCell('valuation', default=None))(self)