module.py 2.22 KB
Newer Older
1 2
# -*- coding: utf-8 -*-

3
# Copyright(C) 2012-2013 Romain Bignon
4
#
5
# This file is part of a weboob module.
6
#
7
# This weboob module is free software: you can redistribute it and/or modify
8 9 10 11
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
12
# This weboob module is distributed in the hope that it will be useful,
13 14 15 16 17
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
18
# along with this weboob module. If not, see <http://www.gnu.org/licenses/>.
19

20
from collections import OrderedDict
21

22 23
from weboob.capabilities.bank import CapBank
from weboob.tools.backend import AbstractModule, BackendConfig
24
from weboob.tools.value import ValueBackendPassword, Value
25 26 27 28

from .browser import GanAssurances


Florent Fourcot's avatar
Florent Fourcot committed
29
__all__ = ['GanAssurancesModule']
30 31


32
class GanAssurancesModule(AbstractModule, CapBank):
33 34 35
    NAME = 'ganassurances'
    MAINTAINER = u'Romain Bignon'
    EMAIL = 'romain@weboob.org'
Romain Bignon's avatar
Romain Bignon committed
36
    VERSION = '1.6'
37
    DESCRIPTION = u'Gan Assurances'
38
    LICENSE = 'AGPLv3+'
39
    website_choices = OrderedDict([(k, u'%s (%s)' % (v, k)) for k, v in sorted({
40 41 42
        'espaceclient.groupama.fr':             u'Groupama Banque',
        'espaceclient.ganassurances.fr':        u'Gan Assurances',
        'espaceclient.ganpatrimoine.fr':        U'Gan Patrimoine',
43
        }.items(), key=lambda k_v: (k_v[1], k_v[0]))])
44 45 46
    CONFIG = BackendConfig(Value('website',  label='Banque', choices=website_choices, default='espaceclient.ganassurances.fr'),
                           ValueBackendPassword('login',    label=u'Numéro client', masked=False),
                           ValueBackendPassword('password', label=u"Code d'accès"))
47
    BROWSER = GanAssurances
48
    PARENT = 'groupama'
49 50

    def create_default_browser(self):
51 52
        return self.create_browser(self.config['website'].get(),
                                   self.config['login'].get(),
53 54
                                   self.config['password'].get(),
                                   weboob=self.weboob)