diff --git a/weboob/backends/bp/backend.py b/weboob/backends/bp/backend.py
index 9148ad98..994098d7 100644
--- a/weboob/backends/bp/backend.py
+++ b/weboob/backends/bp/backend.py
@@ -15,11 +15,13 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
from weboob.capabilities.bank import ICapBank, AccountNotFound
from weboob.tools.backend import BaseBackend
from weboob.tools.value import ValuesDict, Value
-from .browser import BPbrowser
+from .browser import BPBrowser
+
class BPBackend(BaseBackend, ICapBank):
NAME = 'bp'
@@ -30,7 +32,7 @@ class BPBackend(BaseBackend, ICapBank):
DESCRIPTION = u'La banque postale, French bank'
CONFIG = ValuesDict(Value('login', label='Account ID'),
Value('password', label='Password', masked=True))
- BROWSER = BPbrowser
+ BROWSER = BPBrowser
def create_default_browser(self):
return self.create_browser(self.config['login'], self.config['password'])
@@ -57,4 +59,3 @@ class BPBackend(BaseBackend, ICapBank):
#TODO: retourner le numero du virement
#TODO: support the 'reason' parameter
return self.browser.make_transfer(from_account, to_account, amount)
-
diff --git a/weboob/backends/bp/browser.py b/weboob/backends/bp/browser.py
index c494a874..df326e23 100644
--- a/weboob/backends/bp/browser.py
+++ b/weboob/backends/bp/browser.py
@@ -20,69 +20,74 @@ from datetime import datetime
from weboob.tools.browser import BaseBrowser, BrowserIncorrectPassword, BrowserBanned
-from .pages import LoginPage, LoggedPage, CookiePage, AccountList, AccountHistory, BadLoginPage, AccountDesactivate, TransferChooseAccounts, CompleteTransfer, TransferConfirm, TransferSummary
+from .pages import LoginPage, LoggedPage, CookiePage, AccountList, AccountHistory, BadLoginPage, AccountDesactivate, \
+ TransferChooseAccounts, CompleteTransfer, TransferConfirm, TransferSummary
from weboob.capabilities.bank import Transfer
-__all__ = ['BPbrowser']
+
+__all__ = ['BPBrowser']
-class BPbrowser(BaseBrowser):
+class BPBrowser(BaseBrowser):
DOMAIN = 'voscomptesenligne.labanquepostale.fr'
PROTOCOL = 'https'
ENCODING = None # refer to the HTML encoding
- PAGES = { r'.*wsost/OstBrokerWeb/loginform.*': LoginPage,
- r'.*voscomptes/canalXHTML/identif\.ea.*': LoggedPage,
- r'.*voscomptes/canalXHTML/releve/syntheseAssurancesEtComptes\.ea': CookiePage,
- r'.*voscomptes/canalXHTML/releve/liste_comptes\.jsp': AccountList,
- r'.*canalXHTML/relevesCCP/.*': AccountHistory,
- r'.*canalXHTML/relevesEpargnes/.*': AccountHistory,
- r'.*ost/messages\.CVS\.html\?param=0x132120c8.*' : BadLoginPage,
- r'.*ost/messages\.CVS\.html\?param=0x132120cb.*' : AccountDesactivate,
+ PAGES = {r'.*wsost/OstBrokerWeb/loginform.*': LoginPage,
+ r'.*voscomptes/canalXHTML/identif\.ea.*': LoggedPage,
+ r'.*voscomptes/canalXHTML/releve/syntheseAssurancesEtComptes\.ea': CookiePage,
+ r'.*voscomptes/canalXHTML/releve/liste_comptes\.jsp': AccountList,
+ r'.*canalXHTML/relevesCCP/.*': AccountHistory,
+ r'.*canalXHTML/relevesEpargnes/.*': AccountHistory,
+ r'.*ost/messages\.CVS\.html\?param=0x132120c8.*' : BadLoginPage,
+ r'.*ost/messages\.CVS\.html\?param=0x132120cb.*' : AccountDesactivate,
- r'.*/virementsafran/aiguillage/saisieComptes\.ea.*': TransferChooseAccounts,
- r'.*/virementsafran/aiguillage/2-saisieComptes\.ea.*' : CompleteTransfer,
- r'.*/virementsafran/virementnational/2-virementNational\.ea.*' : TransferConfirm,
- r'.*/virementsafran/virementnational/4-virementNational\.ea.*' : TransferSummary,
- }
+ r'.*/virementsafran/aiguillage/saisieComptes\.ea.*': TransferChooseAccounts,
+ r'.*/virementsafran/aiguillage/2-saisieComptes\.ea.*' : CompleteTransfer,
+ r'.*/virementsafran/virementnational/2-virementNational\.ea.*' : TransferConfirm,
+ r'.*/virementsafran/virementnational/4-virementNational\.ea.*' : TransferSummary,
+ }
def home(self):
- self.location("https://voscomptesenligne.labanquepostale.fr/wsost/OstBrokerWeb/loginform?TAM_OP=login&ERROR_CODE=0x00000000&URL=%2Fvoscomptes%2FcanalXHTML%2Fidentif.ea%3Forigin%3Dparticuliers")
+ self.location('https://voscomptesenligne.labanquepostale.fr/wsost/OstBrokerWeb/loginform?TAM_OP=login&'
+ 'ERROR_CODE=0x00000000&URL=%2Fvoscomptes%2FcanalXHTML%2Fidentif.ea%3Forigin%3Dparticuliers')
def is_logged(self):
return not self.is_on_page(LoginPage)
def login(self):
if not self.is_on_page(LoginPage):
- self.location('https://voscomptesenligne.labanquepostale.fr/wsost/OstBrokerWeb/loginform?TAM_OP=login&ERROR_CODE=0x00000000&URL=%2Fvoscomptes%2FcanalXHTML%2Fidentif.ea%3Forigin%3Dparticuliers', no_login=True)
+ self.location('https://voscomptesenligne.labanquepostale.fr/wsost/OstBrokerWeb/loginform?TAM_OP=login&'
+ 'ERROR_CODE=0x00000000&URL=%2Fvoscomptes%2FcanalXHTML%2Fidentif.ea%3Forigin%3Dparticuliers',
+ no_login=True)
self.page.login(self.username, self.password)
-
if self.is_on_page(BadLoginPage):
raise BrowserIncorrectPassword()
if self.is_on_page(AccountDesactivate):
raise BrowserBanned()
def get_accounts_list(self):
- self.location("https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/authentification/liste_contrat_atos.ea")
- self.location("https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/releve/liste_comptes.jsp")
+ self.location('https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/authentification/'
+ 'liste_contrat_atos.ea')
+ self.location('https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/releve/liste_comptes.jsp')
return self.page.get_accounts_list()
def get_account(self, id):
-
if not self.is_on_page(AccountList):
- self.location("https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/authentification/liste_contrat_atos.ea")
- self.location("https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/releve/liste_comptes.jsp")
+ self.location('https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/authentification/'
+ 'liste_contrat_atos.ea')
+ self.location('https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/releve/liste_comptes.jsp')
return self.page.get_account(id)
-
def get_history(self, Account):
self.location(Account.link_id)
return self.page.get_history()
def make_transfer(self, from_account, to_account, amount):
- self.location("https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/virementsafran/aiguillage/saisieComptes.ea")
+ self.location('https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/virementsafran/aiguillage/'
+ 'saisieComptes.ea')
self.page.set_accouts(from_account, to_account)
#TODO: Check
diff --git a/weboob/backends/bp/pages/__init__.py b/weboob/backends/bp/pages/__init__.py
index f7aeebee..0b10136b 100644
--- a/weboob/backends/bp/pages/__init__.py
+++ b/weboob/backends/bp/pages/__init__.py
@@ -15,11 +15,13 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
from .login import LoginPage, LoggedPage, BadLoginPage, AccountDesactivate
from .cookie import CookiePage
from .accountlist import AccountList
from .accounthistory import AccountHistory
-
from .transfer import TransferChooseAccounts, CompleteTransfer, TransferConfirm, TransferSummary
-__all__ = ['LoginPage', 'LoggedPage', 'CookiePage', "AccountList", 'AccountHistory', 'BadLoginPage', 'AccountDesactivate', 'TransferChooseAccounts', 'CompleteTransfer', 'TransferConfirm', 'TransferSummary']
+
+__all__ = ['LoginPage', 'LoggedPage', 'CookiePage', "AccountList", 'AccountHistory', 'BadLoginPage',
+ 'AccountDesactivate', 'TransferChooseAccounts', 'CompleteTransfer', 'TransferConfirm', 'TransferSummary']
diff --git a/weboob/backends/bp/pages/accounthistory.py b/weboob/backends/bp/pages/accounthistory.py
index 2d18ae0e..893445fb 100644
--- a/weboob/backends/bp/pages/accounthistory.py
+++ b/weboob/backends/bp/pages/accounthistory.py
@@ -15,18 +15,22 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
import re
from weboob.capabilities.bank import Operation
from weboob.tools.browser import BasePage
+
__all__ = ['AccountHistory']
+
def remove_html_tags(data):
p = re.compile(r'<.*?>')
return p.sub(' ', data)
+
def remove_extra_spaces(data):
p = re.compile(r'\s+')
return p.sub(' ', data)
@@ -34,9 +38,10 @@ def remove_extra_spaces(data):
class AccountHistory(BasePage):
def on_loaded(self):
- if self.document.docinfo.doctype == '':
+ if self.document.docinfo.doctype == '':
self.browser.follow_link(url_regex="releve", tag="a")
-
+
def get_history(self):
mvt_table = self.document.xpath("//table[@id='mouvements']", smart_strings=False)[0]
mvt_ligne = mvt_table.xpath("./tbody/tr")
@@ -49,7 +54,6 @@ class AccountHistory(BasePage):
tp = mvt.xpath("./td")[1]
operation.label = remove_extra_spaces(remove_html_tags(self.browser.parser.tostring(tp)))
-
r = re.compile(r'\d+')
tp = mvt.xpath("./td/span")
amount = None
diff --git a/weboob/backends/bp/pages/accountlist.py b/weboob/backends/bp/pages/accountlist.py
index 3c7d02bb..d17ba77f 100644
--- a/weboob/backends/bp/pages/accountlist.py
+++ b/weboob/backends/bp/pages/accountlist.py
@@ -20,14 +20,15 @@ from weboob.capabilities.bank import Account, AccountNotFound
from weboob.tools.browser import BasePage
+
__all__ = ['AccountList']
+
class AccountList(BasePage):
def on_loaded(self):
- self.Account_List = []
+ self.account_list = []
def get_accounts_list(self):
-
#Parse CCP
compte_table = self.document.xpath("//table[@id='comptes']", smart_strings=False)[0]
compte_ligne = compte_table.xpath("./tbody/tr")
@@ -38,8 +39,8 @@ class AccountList(BasePage):
account.label = tp.text
account.link_id = tp.get("href")
account.id = compte.xpath("./td")[1].text
- account.balance = float(''.join( compte.xpath("./td/span")[0].text.replace('.','').replace(',','.').split() ))
- self.Account_List.append(account)
+ account.balance = float(''.join(compte.xpath("./td/span")[0].text.replace('.','').replace(',','.').split()))
+ self.account_list.append(account)
#Parse epargne
epargne_table = self.document.xpath("//table[@id='comptesEpargne']", smart_strings=False)[0]
@@ -51,16 +52,16 @@ class AccountList(BasePage):
account.label = tp.text
account.link_id = tp.get("href")
account.id = epargne.xpath("./td")[1].text
- account.balance = float(''.join( epargne.xpath("./td/span")[0].text.replace('.','').replace(',','.').split() ) )
- self.Account_List.append(account)
+ account.balance = float(''.join(epargne.xpath("./td/span")[0].text.replace('.','').replace(',','.').split()))
+ self.account_list.append(account)
- return self.Account_List
+ return self.account_list
def get_account(self, id):
- if not self.Account_List:
+ if not self.account_list:
self.get_accounts_list()
- for account in self.Account_List:
- if account.id == id:
- return account
+ for account in self.account_list:
+ if account.id == id:
+ return account
raise AccountNotFound('Unable to find account: %s' % id)
diff --git a/weboob/backends/bp/pages/cookie.py b/weboob/backends/bp/pages/cookie.py
index bd4e79cd..a200daaa 100644
--- a/weboob/backends/bp/pages/cookie.py
+++ b/weboob/backends/bp/pages/cookie.py
@@ -16,11 +16,11 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
from weboob.tools.browser import BasePage
+
__all__ = ['CookiePage']
+
class CookiePage(BasePage):
- def on_loaded(self):
- pass
+ pass
diff --git a/weboob/backends/bp/pages/login.py b/weboob/backends/bp/pages/login.py
index f7442e18..a38bc4a2 100644
--- a/weboob/backends/bp/pages/login.py
+++ b/weboob/backends/bp/pages/login.py
@@ -15,6 +15,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
import hashlib
from weboob.tools.browser import BasePage
@@ -35,26 +36,32 @@ class LoginPage(BasePage):
pass
def login(self, login, pwd):
- LOCAL_HASH = ['a02574d7bf67677d2a86b7bfc5e864fe', 'eb85e1cc45dd6bdb3cab65c002d7ac8a', '596e6fbd54d5b111fe5df8a4948e80a4', '9cdc989a4310554e7f5484d0d27a86ce', '0183943de6c0e331f3b9fc49c704ac6d', '291b9987225193ab1347301b241e2187', '163279f1a46082408613d12394e4042a', 'b0a9c740c4cada01eb691b4acda4daea', '3c4307ee92a1f3b571a3c542eafcb330', 'dbccecfa2206bfdb4ca891476404cc68']
- process = lambda i: md5(self.browser.retrieve(("https://voscomptesenligne.labanquepostale.fr/wsost/OstBrokerWeb/loginform?imgid=%d&0.25122230781963073" % i ))[0])
- Keypad = [ process(i) for i in range(10)]
+ LOCAL_HASH = ['a02574d7bf67677d2a86b7bfc5e864fe', 'eb85e1cc45dd6bdb3cab65c002d7ac8a',
+ '596e6fbd54d5b111fe5df8a4948e80a4', '9cdc989a4310554e7f5484d0d27a86ce',
+ '0183943de6c0e331f3b9fc49c704ac6d', '291b9987225193ab1347301b241e2187',
+ '163279f1a46082408613d12394e4042a', 'b0a9c740c4cada01eb691b4acda4daea',
+ '3c4307ee92a1f3b571a3c542eafcb330', 'dbccecfa2206bfdb4ca891476404cc68',
+ ]
+ process = lambda i: md5(self.browser.retrieve(('https://voscomptesenligne.labanquepostale.fr/wsost/OstBrokerWeb'
+ '/loginform?imgid=%d&0.25122230781963073' % i))[0])
+ keypad = [process(i) for i in range(10)]
+ correspondance = [keypad.index(i) for i in LOCAL_HASH]
+ newpassword = ''.join(str(correspondance[int(c)]) for c in pwd)
-
-
-
- correspondance = [ Keypad.index(i) for i in LOCAL_HASH]
- Newpassword = "".join([str(correspondance[int(c)]) for c in pwd])
-
- self.browser.select_form(name="formAccesCompte")
+ self.browser.select_form(name='formAccesCompte')
self.browser.set_all_readonly(False)
- self.browser["password"] = Newpassword
- self.browser["username"] = login
+ self.browser['password'] = newpassword
+ self.browser['username'] = login
self.browser.submit()
+
class LoggedPage(BasePage):
pass
+
class BadLoginPage(BasePage):
pass
+
+
class AccountDesactivate(BasePage):
pass
diff --git a/weboob/backends/bp/pages/transfer.py b/weboob/backends/bp/pages/transfer.py
index 20f7f364..a1bffe1c 100644
--- a/weboob/backends/bp/pages/transfer.py
+++ b/weboob/backends/bp/pages/transfer.py
@@ -16,17 +16,17 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+import re
+
from weboob.capabilities.bank import TransferError
from weboob.tools.browser import BasePage
from weboob.tools.misc import to_unicode
-import re
__all__ = ['TransferChooseAccounts', 'CompleteTransfer', 'TransferConfirm', 'TransferSummary']
class TransferChooseAccounts(BasePage):
-
def set_accouts(self, from_account, to_account):
self.browser.select_form(name="AiguillageForm")
self.browser["idxCompteEmetteur"] = [from_account.id]
@@ -35,16 +35,17 @@ class TransferChooseAccounts(BasePage):
class CompleteTransfer(BasePage):
-
def complete_transfer(self, amount):
self.browser.select_form(name="VirementNationalForm")
self.browser["montant"] = str(amount)
self.browser.submit()
-class TransferConfirm(BasePage):
+class TransferConfirm(BasePage):
def confirm(self):
- self.browser.location("https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/virementsafran/virementnational/4-virementNational.ea")
+ self.browser.location('https://voscomptesenligne.labanquepostale.fr/voscomptes/canalXHTML/virementsafran/'
+ 'virementnational/4-virementNational.ea')
+
class TransferSummary(BasePage):
def get_transfer_id(self):
@@ -56,7 +57,6 @@ class TransferSummary(BasePage):
except UnicodeDecodeError, error:
text = error.object.strip()
-
match = re.search("Votre virement N.+ ([0-9]+) ", text)
if match:
id_transfer = match.groups()[0]
diff --git a/weboob/backends/dlfp/backend.py b/weboob/backends/dlfp/backend.py
index ffa069be..53212f29 100644
--- a/weboob/backends/dlfp/backend.py
+++ b/weboob/backends/dlfp/backend.py
@@ -15,6 +15,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
from __future__ import with_statement
from weboob.tools.backend import BaseBackend
@@ -144,7 +145,8 @@ class DLFPBackend(BaseBackend, ICapMessages, ICapMessagesPost):
yield m
def set_message_read(self, message):
- self.storage.set('seen', message.thread.id, 'comments', self.storage.get('seen', message.thread.id, 'comments', default=[]) + [message.id])
+ self.storage.set('seen', message.thread.id, 'comments',
+ self.storage.get('seen', message.thread.id, 'comments', default=[]) + [message.id])
self.storage.save()
def post_message(self, message):
diff --git a/weboob/tools/application/qt/backendcfg.py b/weboob/tools/application/qt/backendcfg.py
index 913eee60..07eb31fb 100644
--- a/weboob/tools/application/qt/backendcfg.py
+++ b/weboob/tools/application/qt/backendcfg.py
@@ -15,6 +15,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
from PyQt4.QtGui import QDialog, QTreeWidgetItem, QLabel, QFormLayout, \
QMessageBox, QPixmap, QImage, QIcon, QHeaderView, \
QListWidgetItem, QTextDocument, QVBoxLayout, \
@@ -30,6 +31,7 @@ from weboob.tools.application.qt.backendcfg_ui import Ui_BackendCfg
from weboob.tools.ordereddict import OrderedDict
from .qt import QtValue
+
class BackendCfg(QDialog):
def __init__(self, weboob, caps=None, parent=None):
QDialog.__init__(self, parent)
@@ -69,8 +71,10 @@ class BackendCfg(QDialog):
self.loadConfiguredBackendsList()
- self.connect(self.ui.configuredBackendsList, SIGNAL('itemClicked(QTreeWidgetItem *, int)'), self.configuredBackendClicked)
- self.connect(self.ui.configuredBackendsList, SIGNAL('itemChanged(QTreeWidgetItem *, int)'), self.configuredBackendEnabled)
+ self.connect(self.ui.configuredBackendsList, SIGNAL('itemClicked(QTreeWidgetItem *, int)'),
+ self.configuredBackendClicked)
+ self.connect(self.ui.configuredBackendsList, SIGNAL('itemChanged(QTreeWidgetItem *, int)'),
+ self.configuredBackendEnabled)
self.connect(self.ui.backendsList, SIGNAL('itemSelectionChanged()'), self.backendSelectionChanged)
self.connect(self.ui.proxyBox, SIGNAL('toggled(bool)'), self.proxyEditEnabled)
self.connect(self.ui.addButton, SIGNAL('clicked()'), self.addEvent)
@@ -91,7 +95,8 @@ class BackendCfg(QDialog):
continue
item = QTreeWidgetItem(None, [instance_name, name])
- item.setCheckState(0, Qt.Checked if params.get('_enabled', '1').lower() in ('1', 'y', 'true') else Qt.Unchecked)
+ item.setCheckState(0, Qt.Checked if params.get('_enabled', '1').lower() in ('1', 'y', 'true') \
+ else Qt.Unchecked)
if backend.icon_path:
img = QImage(backend.icon_path)
@@ -136,8 +141,8 @@ class BackendCfg(QDialog):
bname = unicode(item.text(0))
reply = QMessageBox.question(self, self.tr('Remove a backend'),
- unicode(self.tr("Are you sure you want to remove the backend '%s'?")) % bname,
- QMessageBox.Yes|QMessageBox.No)
+ unicode(self.tr("Are you sure you want to remove the backend '%s'?")) % bname,
+ QMessageBox.Yes|QMessageBox.No)
if reply != QMessageBox.Yes:
return
@@ -197,7 +202,7 @@ class BackendCfg(QDialog):
if not selection:
QMessageBox.critical(self, self.tr('Unable to add a configured backend'),
- self.tr('Please select a backend'))
+ self.tr('Please select a backend'))
return
try:
@@ -207,26 +212,24 @@ class BackendCfg(QDialog):
if not backend:
QMessageBox.critical(self, self.tr('Unable to add a configured backend'),
- self.tr('The selected backend does not exist.'))
+ self.tr('The selected backend does not exist.'))
return
params = {}
if not bname:
- QMessageBox.critical(self, self.tr('Missing field'),
- self.tr('Please specify a backend name'))
+ QMessageBox.critical(self, self.tr('Missing field'), self.tr('Please specify a backend name'))
return
if self.ui.nameEdit.isEnabled() and not re.match(r'^[\w\-_]+$', bname):
QMessageBox.critical(self, self.tr('Invalid value'),
- self.tr('The backend name can only contain letters and digits'))
+ self.tr('The backend name can only contain letters and digits'))
return
if self.ui.proxyBox.isChecked():
params['_proxy'] = unicode(self.ui.proxyEdit.text())
if not params['_proxy']:
- QMessageBox.critical(self, self.tr('Missing field'),
- self.tr('Please specify a proxy URL'))
+ QMessageBox.critical(self, self.tr('Missing field'), self.tr('Please specify a proxy URL'))
return
for key, field in backend.config.iteritems():
@@ -235,9 +238,8 @@ class BackendCfg(QDialog):
try:
value = qtvalue.get_value()
except ValueError, e:
- QMessageBox.critical(self,
- self.tr('Invalid value'),
- unicode(self.tr('Invalid value for field "%s":
%s')) % (field.label, e))
+ QMessageBox.critical(self, self.tr('Invalid value'),
+ unicode(self.tr('Invalid value for field "%s":
%s')) % (field.label, e))
return
params[key] = value.value
@@ -270,26 +272,28 @@ class BackendCfg(QDialog):
if backend.icon_path:
img = QImage(backend.icon_path)
- self.ui.backendInfo.document().addResource(QTextDocument.ImageResource, QUrl('mydata://logo.png'), QVariant(img))
+ self.ui.backendInfo.document().addResource(QTextDocument.ImageResource, QUrl('mydata://logo.png'),
+ QVariant(img))
self.ui.backendInfo.setText(unicode(self.tr(
- '
' if backend.icon_path else '',
- backend.name.capitalize(),
- backend.version,
- backend.maintainer.replace('&', '&').replace('<', '<').replace('>', '>'),
- backend.license,
- (unicode(self.tr('Website: %s
' if backend.icon_path else '',
+ backend.name.capitalize(),
+ backend.version,
+ backend.maintainer.replace('&', '&').replace('<', '<').replace('>', '>'),
+ backend.license,
+ (unicode(self.tr('Website: %s