diff --git a/checkdeps.py b/checkdeps.py index 03782037..c1bb7d7b 100755 --- a/checkdeps.py +++ b/checkdeps.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#! /usr/bin/env python2 """ Check dependendies and give recommendations about how to satisfy them @@ -12,7 +12,9 @@ Limitations: import os import sys + from distutils.errors import CompileError + try: from setuptools.dist import Distribution from setuptools.extension import Extension @@ -25,8 +27,7 @@ except ImportError: EXTRAS_REQUIRE = {} from importlib import import_module - -from src.depends import detectOS, PACKAGES, PACKAGE_MANAGER +from src.depends import detect_os, PACKAGES, PACKAGE_MANAGER COMPILING = { @@ -72,15 +73,15 @@ def prereqToPackages(): if not detectPrereqs(): return print("%s %s" % ( - PACKAGE_MANAGER[detectOS()], " ".join( - PACKAGES[x][detectOS()] for x in detectPrereqs()))) + PACKAGE_MANAGER[detect_os()], " ".join( + PACKAGES[x][detect_os()] for x in detectPrereqs()))) def compilerToPackages(): - if not detectOS() in COMPILING: + if not detect_os() in COMPILING: return print("%s %s" % ( - PACKAGE_MANAGER[detectOS.result], COMPILING[detectOS.result])) + PACKAGE_MANAGER[detect_os.result], COMPILING[detect_os.result])) def testCompiler(): @@ -112,11 +113,11 @@ def testCompiler(): prereqs = detectPrereqs() compiler = testCompiler() -if (not compiler or prereqs) and detectOS() in PACKAGE_MANAGER: +if (not compiler or prereqs) and detect_os() in PACKAGE_MANAGER: print( "It looks like you're using %s. " "It is highly recommended to use the package manager\n" - "to install the missing dependencies." % detectOS.result) + "to install the missing dependencies." % detect_os.result) if not compiler: print( @@ -134,7 +135,7 @@ if prereqs: print(PACKAGES[package].get('description')) # Install the system dependencies of optional extras_require components -OPSYS = detectOS() +OPSYS = detect_os() CMD = PACKAGE_MANAGER[OPSYS] if OPSYS in PACKAGE_MANAGER else 'UNKNOWN_INSTALLER' for lhs, rhs in EXTRAS_REQUIRE.items(): if OPSYS is None: diff --git a/setup.py b/setup.py index e3f97bac..ff892fea 100644 --- a/setup.py +++ b/setup.py @@ -95,11 +95,11 @@ if __name__ == "__main__": long_description=README, license='MIT', # TODO: add author info - #author='', - #author_email='', + # author='', + # author_email='', url='https://bitmessage.org', # TODO: add keywords - #keywords='', + # keywords='', install_requires=installRequires, tests_require=requirements, extras_require=EXTRAS_REQUIRE, diff --git a/src/bitmessagekivy/kivy_helper_search.py b/src/bitmessagekivy/kivy_helper_search.py index 684a1722..14106e6c 100644 --- a/src/bitmessagekivy/kivy_helper_search.py +++ b/src/bitmessagekivy/kivy_helper_search.py @@ -8,38 +8,38 @@ def search_sql(xAddress="toaddress", account=None, folder="inbox", where=None, w what = None if folder == "sent": - sqlStatementBase = ''' + sql_statement_base = ''' SELECT toaddress, fromaddress, subject, status, ackdata, lastactiontime FROM sent ''' else: - sqlStatementBase = '''SELECT folder, msgid, toaddress, fromaddress, subject, received, read + sql_statement_base = '''SELECT folder, msgid, toaddress, fromaddress, subject, received, read FROM inbox ''' - sqlStatementParts = [] + sql_statement_parts = [] sqlArguments = [] if account is not None: if xAddress == 'both': - sqlStatementParts.append("(fromaddress = ? OR toaddress = ?)") + sql_statement_parts.append("(fromaddress = ? OR toaddress = ?)") sqlArguments.append(account) sqlArguments.append(account) else: - sqlStatementParts.append(xAddress + " = ? ") + sql_statement_parts.append(xAddress + " = ? ") sqlArguments.append(account) if folder is not None: if folder == "new": folder = "inbox" unreadOnly = True - sqlStatementParts.append("folder = ? ") + sql_statement_parts.append("folder = ? ") sqlArguments.append(folder) else: - sqlStatementParts.append("folder != ?") + sql_statement_parts.append("folder != ?") sqlArguments.append("trash") if what is not None: - sqlStatementParts.append("%s LIKE ?" % (where)) + sql_statement_parts.append("%s LIKE ?" % (where)) sqlArguments.append(what) if unreadOnly: - sqlStatementParts.append("read = 0") - if len(sqlStatementParts) > 0: - sqlStatementBase += "WHERE " + " AND ".join(sqlStatementParts) + sql_statement_parts.append("read = 0") + if len(sql_statement_parts) > 0: + sql_statement_base += "WHERE " + " AND ".join(sql_statement_parts) if folder == "sent": - sqlStatementBase += " ORDER BY lastactiontime" - return sqlQuery(sqlStatementBase, sqlArguments) + sql_statement_base += " ORDER BY lastactiontime" + return sqlQuery(sql_statement_base, sqlArguments) diff --git a/src/bitmessagekivy/mpybit.py b/src/bitmessagekivy/mpybit.py index 3f9b198b..9bdd817e 100644 --- a/src/bitmessagekivy/mpybit.py +++ b/src/bitmessagekivy/mpybit.py @@ -1,9 +1,9 @@ -import kivy_helper_search import os import queues import shutdown import state import time +import kivy_helper_search from kivy.app import App from kivy.lang import Builder @@ -14,7 +14,6 @@ from kivy.properties import ObjectProperty, StringProperty, ListProperty from kivy.uix.screenmanager import Screen from kivy.uix.textinput import TextInput from kivymd.theming import ThemeManager -from kivymd.toolbar import Toolbar from bmconfigparser import BMConfigParser from helper_ackPayload import genAckPayload from addresses import decodeAddress, addBMIfNotPresent diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py index 8286e6e8..916e75d2 100644 --- a/src/bitmessageqt/__init__.py +++ b/src/bitmessageqt/__init__.py @@ -28,9 +28,9 @@ import namecoin from messageview import MessageView from migrationwizard import Ui_MigrationWizard from foldertree import ( - AccountMixin, Ui_FolderWidget, Ui_AddressWidget, Ui_SubscriptionWidget, - MessageList_AddressWidget, MessageList_SubjectWidget, - Ui_AddressBookWidgetItemLabel, Ui_AddressBookWidgetItemAddress) + AccountMixin, UiFolderWidget, UiAddressWidget, UiSubscriptionWidget, + MessageListAddressWidget, MessageListSubjectWidget, + UiAddressBookWidgetItemLabel, UiAddressBookWidgetItemAddress) from settings import Ui_settingsDialog import settingsmixin import support @@ -404,7 +404,7 @@ class MyForm(settingsmixin.SMainWindow): def rerenderTabTreeSubscriptions(self): treeWidget = self.ui.treeWidgetSubscriptions - folders = Ui_FolderWidget.folderWeight.keys() + folders = UiFolderWidget.folderWeight.keys() folders.remove("new") # sort ascending when creating @@ -440,7 +440,7 @@ class MyForm(settingsmixin.SMainWindow): while j < widget.childCount(): subwidget = widget.child(j) try: - subwidget.setUnreadCount(db[toAddress][subwidget.folderName]['count']) + subwidget.set_unread_count(db[toAddress][subwidget.folderName]['count']) unread += db[toAddress][subwidget.folderName]['count'] db[toAddress].pop(subwidget.folderName, None) except: @@ -454,9 +454,9 @@ class MyForm(settingsmixin.SMainWindow): j = 0 for f, c in db[toAddress].iteritems(): try: - subwidget = Ui_FolderWidget(widget, j, toAddress, f, c['count']) + subwidget = UiFolderWidget(widget, j, toAddress, f, c['count']) except KeyError: - subwidget = Ui_FolderWidget(widget, j, toAddress, f, 0) + subwidget = UiFolderWidget(widget, j, toAddress, f, 0) j += 1 widget.setUnreadCount(unread) db.pop(toAddress, None) @@ -464,17 +464,17 @@ class MyForm(settingsmixin.SMainWindow): i = 0 for toAddress in db: - widget = Ui_SubscriptionWidget(treeWidget, i, toAddress, db[toAddress]["inbox"]['count'], db[toAddress]["inbox"]['label'], db[toAddress]["inbox"]['enabled']) + widget = UiSubscriptionWidget(treeWidget, i, toAddress, db[toAddress]["inbox"]['count'], db[toAddress]["inbox"]['label'], db[toAddress]["inbox"]['enabled']) j = 0 unread = 0 for folder in folders: try: - subwidget = Ui_FolderWidget(widget, j, toAddress, folder, db[toAddress][folder]['count']) + subwidget = UiFolderWidget(widget, j, toAddress, folder, db[toAddress][folder]['count']) unread += db[toAddress][folder]['count'] except KeyError: - subwidget = Ui_FolderWidget(widget, j, toAddress, folder, 0) + subwidget = UiFolderWidget(widget, j, toAddress, folder, 0) j += 1 - widget.setUnreadCount(unread) + widget.set_unread_count(unread) i += 1 treeWidget.setSortingEnabled(True) @@ -491,7 +491,7 @@ class MyForm(settingsmixin.SMainWindow): treeWidget = self.ui.treeWidgetYourIdentities elif tab == 'chan': treeWidget = self.ui.treeWidgetChans - folders = Ui_FolderWidget.folderWeight.keys() + folders = UiFolderWidget.folderWeight.keys() # sort ascending when creating if treeWidget.topLevelItemCount() == 0: @@ -559,7 +559,7 @@ class MyForm(settingsmixin.SMainWindow): while j < widget.childCount(): subwidget = widget.child(j) try: - subwidget.setUnreadCount(db[toAddress][subwidget.folderName]) + subwidget.set_unread_count(db[toAddress][subwidget.folderName]) if subwidget.folderName not in ["new", "trash", "sent"]: unread += db[toAddress][subwidget.folderName] db[toAddress].pop(subwidget.folderName, None) @@ -575,7 +575,7 @@ class MyForm(settingsmixin.SMainWindow): for f, c in db[toAddress].iteritems(): if toAddress is not None and tab == 'messages' and folder == "new": continue - subwidget = Ui_FolderWidget(widget, j, toAddress, f, c) + subwidget = UiFolderWidget(widget, j, toAddress, f, c) if subwidget.folderName not in ["new", "trash", "sent"]: unread += c j += 1 @@ -585,17 +585,17 @@ class MyForm(settingsmixin.SMainWindow): i = 0 for toAddress in db: - widget = Ui_AddressWidget(treeWidget, i, toAddress, db[toAddress]["inbox"], enabled[toAddress]) + widget = UiAddressWidget(treeWidget, i, toAddress, db[toAddress]["inbox"], enabled[toAddress]) j = 0 unread = 0 for folder in folders: if toAddress is not None and tab == 'messages' and folder == "new": continue - subwidget = Ui_FolderWidget(widget, j, toAddress, folder, db[toAddress][folder]) + subwidget = UiFolderWidget(widget, j, toAddress, folder, db[toAddress][folder]) if subwidget.folderName not in ["new", "trash", "sent"]: unread += db[toAddress][folder] j += 1 - widget.setUnreadCount(unread) + widget.set_unread_count(unread) i += 1 treeWidget.setSortingEnabled(True) @@ -693,7 +693,7 @@ class MyForm(settingsmixin.SMainWindow): "itemChanged(QTableWidgetItem *)"), self.tableWidgetAddressBookItemChanged) # This is necessary for the completer to work if multiple recipients QtCore.QObject.connect(self.ui.lineEditTo, QtCore.SIGNAL( - "cursorPositionChanged(int, int)"), self.ui.lineEditTo.completer().onCursorPositionChanged) + "cursorPositionChanged(int, int)"), self.ui.lineEditTo.completer().on_cursor_position_changed) # show messages from message list QtCore.QObject.connect(self.ui.tableWidgetInbox, QtCore.SIGNAL( @@ -957,7 +957,7 @@ class MyForm(settingsmixin.SMainWindow): font.setBold(not status) widget.item(row, 3).setFont(font) for col in (0, 1, 2): - widget.item(row, col).setUnread(not status) + widget.item(row, col).set_unread(not status) try: related.item(rrow, 3).setFont(font) @@ -965,7 +965,7 @@ class MyForm(settingsmixin.SMainWindow): pass else: for col in (0, 1, 2): - related.item(rrow, col).setUnread(not status) + related.item(rrow, col).set_unread(not status) # Here we need to update unread count for: # - all widgets if there is no args @@ -1023,7 +1023,7 @@ class MyForm(settingsmixin.SMainWindow): except KeyError: newCount = 0 if newCount != addressItem.unreadCount: - addressItem.setUnreadCount(newCount) + addressItem.set_unread_count(newCount) for j in range(addressItem.childCount()): folderItem = addressItem.child(j) folderName = folderItem.folderName @@ -1043,7 +1043,7 @@ class MyForm(settingsmixin.SMainWindow): except KeyError: newCount = 0 if newCount != folderItem.unreadCount: - folderItem.setUnreadCount(newCount) + folderItem.set_unread_count(newCount) def addMessageListItem(self, tableWidget, items): sortingEnabled = tableWidget.isSortingEnabled() @@ -1062,9 +1062,9 @@ class MyForm(settingsmixin.SMainWindow): acct.parseMessage(toAddress, fromAddress, subject, "") items = [] - MessageList_AddressWidget(items, str(toAddress), unicode(acct.toLabel, 'utf-8')) - MessageList_AddressWidget(items, str(fromAddress), unicode(acct.fromLabel, 'utf-8')) - MessageList_SubjectWidget(items, str(subject), unicode(acct.subject, 'utf-8', 'replace')) + MessageListAddressWidget(items, str(toAddress), unicode(acct.toLabel, 'utf-8')) + MessageListAddressWidget(items, str(fromAddress), unicode(acct.fromLabel, 'utf-8')) + MessageListSubjectWidget(items, str(subject), unicode(acct.subject, 'utf-8', 'replace')) if status == 'awaitingpubkey': statusText = _translate( @@ -1133,11 +1133,11 @@ class MyForm(settingsmixin.SMainWindow): items = [] #to - MessageList_AddressWidget(items, toAddress, unicode(acct.toLabel, 'utf-8'), not read) + MessageListAddressWidget(items, toAddress, unicode(acct.toLabel, 'utf-8'), not read) # from - MessageList_AddressWidget(items, fromAddress, unicode(acct.fromLabel, 'utf-8'), not read) + MessageListAddressWidget(items, fromAddress, unicode(acct.fromLabel, 'utf-8'), not read) # subject - MessageList_SubjectWidget(items, str(subject), unicode(acct.subject, 'utf-8', 'replace'), not read) + MessageListSubjectWidget(items, str(subject), unicode(acct.subject, 'utf-8', 'replace'), not read) # time received time_item = myTableWidgetItem(l10n.formatTimestamp(received)) time_item.setToolTip(l10n.formatTimestamp(received)) @@ -1835,19 +1835,19 @@ class MyForm(settingsmixin.SMainWindow): def rerenderMessagelistFromLabels(self): for messagelist in (self.ui.tableWidgetInbox, self.ui.tableWidgetInboxChans, self.ui.tableWidgetInboxSubscriptions): for i in range(messagelist.rowCount()): - messagelist.item(i, 1).setLabel() + messagelist.item(i, 1).set_label() def rerenderMessagelistToLabels(self): for messagelist in (self.ui.tableWidgetInbox, self.ui.tableWidgetInboxChans, self.ui.tableWidgetInboxSubscriptions): for i in range(messagelist.rowCount()): - messagelist.item(i, 0).setLabel() + messagelist.item(i, 0).set_label() def rerenderAddressBook(self): def addRow (address, label, type): self.ui.tableWidgetAddressBook.insertRow(0) - newItem = Ui_AddressBookWidgetItemLabel(address, unicode(label, 'utf-8'), type) + newItem = UiAddressBookWidgetItemLabel(address, unicode(label, 'utf-8'), type) self.ui.tableWidgetAddressBook.setItem(0, 0, newItem) - newItem = Ui_AddressBookWidgetItemAddress(address, unicode(label, 'utf-8'), type) + newItem = UiAddressBookWidgetItemAddress(address, unicode(label, 'utf-8'), type) self.ui.tableWidgetAddressBook.setItem(0, 1, newItem) oldRows = {} @@ -2233,7 +2233,7 @@ class MyForm(settingsmixin.SMainWindow): address = str(self.ui.comboBoxSendFrom.itemData( i, QtCore.Qt.UserRole).toString()) self.ui.comboBoxSendFrom.setItemData( - i, AccountColor(address).accountColor(), + i, AccountColor(address).account_color(), QtCore.Qt.ForegroundRole) self.ui.comboBoxSendFrom.insertItem(0, '', '') if(self.ui.comboBoxSendFrom.count() == 2): @@ -2256,7 +2256,7 @@ class MyForm(settingsmixin.SMainWindow): address = str(self.ui.comboBoxSendFromBroadcast.itemData( i, QtCore.Qt.UserRole).toString()) self.ui.comboBoxSendFromBroadcast.setItemData( - i, AccountColor(address).accountColor(), + i, AccountColor(address).account_color(), QtCore.Qt.ForegroundRole) self.ui.comboBoxSendFromBroadcast.insertItem(0, '', '') if(self.ui.comboBoxSendFromBroadcast.count() == 2): @@ -2649,7 +2649,7 @@ class MyForm(settingsmixin.SMainWindow): account_item = self.getCurrentItem() if not account_item: return - self.ui.lineEditTo.setText(account_item.accountString()) + self.ui.lineEditTo.setText(account_item.account_string()) self.ui.tabWidget.setCurrentIndex( self.ui.tabWidget.indexOf(self.ui.send) ) @@ -2710,9 +2710,9 @@ class MyForm(settingsmixin.SMainWindow): for i in range(0, idCount): msgids.append(str(tableWidget.item( i, 3).data(QtCore.Qt.UserRole).toPyObject())) - tableWidget.item(i, 0).setUnread(False) - tableWidget.item(i, 1).setUnread(False) - tableWidget.item(i, 2).setUnread(False) + tableWidget.item(i, 0).set_unread(False) + tableWidget.item(i, 1).set_unread(False) + tableWidget.item(i, 2).set_unread(False) tableWidget.item(i, 3).setFont(font) markread = sqlExecuteChunked( @@ -3140,7 +3140,7 @@ class MyForm(settingsmixin.SMainWindow): self.ui.lineEditTo.setText(str(acct.fromAddress)) else: self.ui.lineEditTo.setText( - tableWidget.item(currentInboxRow, column_from).accountString() + tableWidget.item(currentInboxRow, column_from).account_string() ) # If the previous message was to a chan then we should send our @@ -3155,7 +3155,7 @@ class MyForm(settingsmixin.SMainWindow): self.ui.lineEditTo.setText(str(toAddressAtCurrentInboxRow)) else: self.ui.lineEditTo.setText( - tableWidget.item(currentInboxRow, column_to).accountString() + tableWidget.item(currentInboxRow, column_to).account_string() ) self.setSendFromComboBox(toAddressAtCurrentInboxRow) @@ -3408,7 +3408,7 @@ class MyForm(settingsmixin.SMainWindow): addresses_string = unicode( self.ui.lineEditTo.text().toUtf8(), 'utf-8') for item in selected_items: - address_string = item.accountString() + address_string = item.account_string() if not addresses_string: addresses_string = address_string else: @@ -3496,7 +3496,7 @@ class MyForm(settingsmixin.SMainWindow): '''update subscriptions set enabled=1 WHERE address=?''', address) account = self.getCurrentItem() - account.setEnabled(True) + account.set_enabled(True) self.rerenderAddressBook() shared.reloadBroadcastSendersForWhichImWatching() @@ -3506,14 +3506,14 @@ class MyForm(settingsmixin.SMainWindow): '''update subscriptions set enabled=0 WHERE address=?''', address) account = self.getCurrentItem() - account.setEnabled(False) + account.set_enabled(False) self.rerenderAddressBook() shared.reloadBroadcastSendersForWhichImWatching() def on_context_menuSubscriptions(self, point): currentItem = self.getCurrentItem() self.popMenuSubscriptions = QtGui.QMenu(self) - if isinstance(currentItem, Ui_AddressWidget): + if isinstance(currentItem, UiAddressWidget): self.popMenuSubscriptions.addAction(self.actionsubscriptionsNew) self.popMenuSubscriptions.addAction(self.actionsubscriptionsDelete) self.popMenuSubscriptions.addSeparator() @@ -3740,7 +3740,7 @@ class MyForm(settingsmixin.SMainWindow): addressAtCurrentRow = self.getCurrentAccount() self.enableIdentity(addressAtCurrentRow) account = self.getCurrentItem() - account.setEnabled(True) + account.set_enabled(True) def enableIdentity(self, address): BMConfigParser().set(address, 'enabled', 'true') @@ -3752,7 +3752,7 @@ class MyForm(settingsmixin.SMainWindow): address = self.getCurrentAccount() self.disableIdentity(address) account = self.getCurrentItem() - account.setEnabled(False) + account.set_enabled(False) def disableIdentity(self, address): BMConfigParser().set(str(address), 'enabled', 'false') @@ -3925,7 +3925,7 @@ class MyForm(settingsmixin.SMainWindow): def on_context_menuYourIdentities(self, point): currentItem = self.getCurrentItem() self.popMenuYourIdentities = QtGui.QMenu(self) - if isinstance(currentItem, Ui_AddressWidget): + if isinstance(currentItem, UiAddressWidget): self.popMenuYourIdentities.addAction(self.actionNewYourIdentities) self.popMenuYourIdentities.addSeparator() self.popMenuYourIdentities.addAction(self.actionClipboardYourIdentities) @@ -3954,7 +3954,7 @@ class MyForm(settingsmixin.SMainWindow): def on_context_menuChan(self, point): currentItem = self.getCurrentItem() self.popMenu = QtGui.QMenu(self) - if isinstance(currentItem, Ui_AddressWidget): + if isinstance(currentItem, UiAddressWidget): self.popMenu.addAction(self.actionNew) self.popMenu.addAction(self.actionDelete) self.popMenu.addSeparator() @@ -4077,10 +4077,10 @@ class MyForm(settingsmixin.SMainWindow): if column != 0: return # only account names of normal addresses (no chans/mailinglists) - if (not isinstance(item, Ui_AddressWidget)) or (not self.getCurrentTreeWidget()) or self.getCurrentTreeWidget().currentItem() is None: + if (not isinstance(item, UiAddressWidget)) or (not self.getCurrentTreeWidget()) or self.getCurrentTreeWidget().currentItem() is None: return # not visible - if (not self.getCurrentItem()) or (not isinstance (self.getCurrentItem(), Ui_AddressWidget)): + if (not self.getCurrentItem()) or (not isinstance (self.getCurrentItem(), UiAddressWidget)): return # only currently selected item if item.address != self.getCurrentAccount(): @@ -4090,7 +4090,7 @@ class MyForm(settingsmixin.SMainWindow): return newLabel = unicode(item.text(0), 'utf-8', 'ignore') - oldLabel = item.defaultLabel() + oldLabel = item.default_label() # unchanged, do not do anything either if newLabel == oldLabel: @@ -4284,12 +4284,12 @@ class settingsDialog(QtGui.QDialog): 'bitmessagesettings', 'sockslisten')) if str(BMConfigParser().get('bitmessagesettings', 'socksproxytype')) == 'none': self.ui.comboBoxProxyType.setCurrentIndex(0) - self.ui.lineEditSocksHostname.setEnabled(False) - self.ui.lineEditSocksPort.setEnabled(False) - self.ui.lineEditSocksUsername.setEnabled(False) - self.ui.lineEditSocksPassword.setEnabled(False) - self.ui.checkBoxAuthentication.setEnabled(False) - self.ui.checkBoxSocksListen.setEnabled(False) + self.ui.lineEditSocksHostname.set_enabled(False) + self.ui.lineEditSocksPort.set_enabled(False) + self.ui.lineEditSocksUsername.set_enabled(False) + self.ui.lineEditSocksPassword.set_enabled(False) + self.ui.checkBoxAuthentication.set_enabled(False) + self.ui.checkBoxSocksListen.set_enabled(False) elif str(BMConfigParser().get('bitmessagesettings', 'socksproxytype')) == 'SOCKS4a': self.ui.comboBoxProxyType.setCurrentIndex(1) elif str(BMConfigParser().get('bitmessagesettings', 'socksproxytype')) == 'SOCKS5': @@ -4326,9 +4326,9 @@ class settingsDialog(QtGui.QDialog): # OpenCL if openclpow.openclAvailable(): - self.ui.comboBoxOpenCL.setEnabled(True) + self.ui.comboBoxOpenCL.set_enabled(True) else: - self.ui.comboBoxOpenCL.setEnabled(False) + self.ui.comboBoxOpenCL.set_enabled(False) self.ui.comboBoxOpenCL.clear() self.ui.comboBoxOpenCL.addItem("None") self.ui.comboBoxOpenCL.addItems(openclpow.vendors) @@ -4353,10 +4353,10 @@ class settingsDialog(QtGui.QDialog): self.ui.radioButtonNamecoinNamecoind.setChecked(True) elif nmctype == "nmcontrol": self.ui.radioButtonNamecoinNmcontrol.setChecked(True) - self.ui.lineEditNamecoinUser.setEnabled(False) - self.ui.labelNamecoinUser.setEnabled(False) - self.ui.lineEditNamecoinPassword.setEnabled(False) - self.ui.labelNamecoinPassword.setEnabled(False) + self.ui.lineEditNamecoinUser.set_enabled(False) + self.ui.labelNamecoinUser.set_enabled(False) + self.ui.lineEditNamecoinPassword.set_enabled(False) + self.ui.labelNamecoinPassword.set_enabled(False) else: assert False @@ -4396,20 +4396,20 @@ class settingsDialog(QtGui.QDialog): def comboBoxProxyTypeChanged(self, comboBoxIndex): if comboBoxIndex == 0: - self.ui.lineEditSocksHostname.setEnabled(False) - self.ui.lineEditSocksPort.setEnabled(False) - self.ui.lineEditSocksUsername.setEnabled(False) - self.ui.lineEditSocksPassword.setEnabled(False) - self.ui.checkBoxAuthentication.setEnabled(False) - self.ui.checkBoxSocksListen.setEnabled(False) + self.ui.lineEditSocksHostname.set_enabled(False) + self.ui.lineEditSocksPort.set_enabled(False) + self.ui.lineEditSocksUsername.set_enabled(False) + self.ui.lineEditSocksPassword.set_enabled(False) + self.ui.checkBoxAuthentication.set_enabled(False) + self.ui.checkBoxSocksListen.set_enabled(False) elif comboBoxIndex == 1 or comboBoxIndex == 2: - self.ui.lineEditSocksHostname.setEnabled(True) - self.ui.lineEditSocksPort.setEnabled(True) - self.ui.checkBoxAuthentication.setEnabled(True) - self.ui.checkBoxSocksListen.setEnabled(True) + self.ui.lineEditSocksHostname.set_enabled(True) + self.ui.lineEditSocksPort.set_enabled(True) + self.ui.checkBoxAuthentication.set_enabled(True) + self.ui.checkBoxSocksListen.set_enabled(True) if self.ui.checkBoxAuthentication.isChecked(): - self.ui.lineEditSocksUsername.setEnabled(True) - self.ui.lineEditSocksPassword.setEnabled(True) + self.ui.lineEditSocksUsername.set_enabled(True) + self.ui.lineEditSocksPassword.set_enabled(True) # Check status of namecoin integration radio buttons and translate # it to a string as in the options. @@ -4426,10 +4426,10 @@ class settingsDialog(QtGui.QDialog): assert nmctype == "namecoind" or nmctype == "nmcontrol" isNamecoind = (nmctype == "namecoind") - self.ui.lineEditNamecoinUser.setEnabled(isNamecoind) - self.ui.labelNamecoinUser.setEnabled(isNamecoind) - self.ui.lineEditNamecoinPassword.setEnabled(isNamecoind) - self.ui.labelNamecoinPassword.setEnabled(isNamecoind) + self.ui.lineEditNamecoinUser.set_enabled(isNamecoind) + self.ui.labelNamecoinUser.set_enabled(isNamecoind) + self.ui.lineEditNamecoinPassword.set_enabled(isNamecoind) + self.ui.labelNamecoinPassword.set_enabled(isNamecoind) if isNamecoind: self.ui.lineEditNamecoinPort.setText(defaults.namecoinDefaultRpcPort) diff --git a/src/bitmessageqt/account.py b/src/bitmessageqt/account.py index 50ea3548..99004324 100644 --- a/src/bitmessageqt/account.py +++ b/src/bitmessageqt/account.py @@ -13,14 +13,15 @@ import inspect import re import sys import time +import queues from PyQt4 import QtGui -import queues from addresses import decodeAddress from bmconfigparser import BMConfigParser from helper_ackPayload import genAckPayload from helper_sql import sqlQuery, sqlExecute + from .foldertree import AccountMixin from .utils import str_broadcast_subscribers diff --git a/src/bitmessageqt/address_dialogs.py b/src/bitmessageqt/address_dialogs.py index 60c10369..f60237e8 100644 --- a/src/bitmessageqt/address_dialogs.py +++ b/src/bitmessageqt/address_dialogs.py @@ -6,11 +6,11 @@ src/bitmessageqt/address_dialogs.py # pylint: disable=attribute-defined-outside-init import hashlib +import queues +import widgets from PyQt4 import QtCore, QtGui -import queues -import widgets from account import AccountMixin, GatewayAccount, MailchuckAccount, accountClass, getSortedAccounts from addresses import addBMIfNotPresent, decodeAddress, encodeVarint from inventory import Inventory @@ -27,20 +27,20 @@ class AddressCheckMixin(object): QtCore.QObject.connect( # pylint: disable=no-member self.lineEditAddress, QtCore.SIGNAL("textChanged(QString)"), - self.addressChanged) + self.address_changed) def _onSuccess(self, addressVersion, streamNumber, ripe): pass - def addressChanged(self, QString): + def address_changed(self, q_string): """Address validation callback, performs validation and gives feedback""" - status, addressVersion, streamNumber, ripe = decodeAddress( - str(QString)) + status, address_version, stream_number, ripe = decodeAddress( + str(q_string)) self.valid = status == 'success' if self.valid: self.labelAddressCheck.setText( _translate("MainWindow", "Address is valid.")) - self._onSuccess(addressVersion, streamNumber, ripe) + self._onSuccess(address_version, stream_number, ripe) elif status == 'missingbm': self.labelAddressCheck.setText(_translate( "MainWindow", # dialog name should be here @@ -135,14 +135,14 @@ class NewAddressDialog(QtGui.QDialog, RetranslateMixin): # self.buttonBox.enabled = False if self.radioButtonRandomAddress.isChecked(): if self.radioButtonMostAvailable.isChecked(): - streamNumberForAddress = 1 + stream_number_for_address = 1 else: # User selected 'Use the same stream as an existing # address.' - streamNumberForAddress = decodeAddress( + stream_number_for_address = decodeAddress( self.comboBoxExisting.currentText())[2] queues.addressGeneratorQueue.put(( - 'createRandomAddress', 4, streamNumberForAddress, + 'createRandomAddress', 4, stream_number_for_address, str(self.newaddresslabel.text().toUtf8()), 1, "", self.checkBoxEighteenByteRipe.isChecked() )) @@ -165,9 +165,9 @@ class NewAddressDialog(QtGui.QDialog, RetranslateMixin): else: # this will eventually have to be replaced by logic # to determine the most available stream number. - streamNumberForAddress = 1 + stream_number_for_address = 1 queues.addressGeneratorQueue.put(( - 'createDeterministicAddresses', 4, streamNumberForAddress, + 'createDeterministicAddresses', 4, stream_number_for_address, "unused deterministic address", self.spinBoxNumberOfAddressesToMake.value(), self.lineEditPassphrase.text().toUtf8(), @@ -183,8 +183,8 @@ class NewSubscriptionDialog(AddressDataDialog, RetranslateMixin): widgets.load('newsubscriptiondialog.ui', self) AddressCheckMixin.__init__(self) - def _onSuccess(self, addressVersion, streamNumber, ripe): - if addressVersion <= 3: + def _onSuccess(self, address_version, stream_number, ripe): + if address_version <= 3: self.checkBoxDisplayMessagesAlreadyInInventory.setText(_translate( "MainWindow", "Address is an old type. We cannot display its past" @@ -192,11 +192,11 @@ class NewSubscriptionDialog(AddressDataDialog, RetranslateMixin): )) else: Inventory().flush() - doubleHashOfAddressData = hashlib.sha512(hashlib.sha512( - encodeVarint(addressVersion) + - encodeVarint(streamNumber) + ripe + double_hash_of_address_data = hashlib.sha512(hashlib.sha512( + encodeVarint(address_version) + + encodeVarint(stream_number) + ripe ).digest()).digest() - tag = doubleHashOfAddressData[32:] + tag = double_hash_of_address_data[32:] self.recent = Inventory().by_type_and_tag(3, tag) count = len(self.recent) if count == 0: @@ -207,7 +207,7 @@ class NewSubscriptionDialog(AddressDataDialog, RetranslateMixin): " to display." )) else: - self.checkBoxDisplayMessagesAlreadyInInventory.setEnabled(True) + self.checkBoxDisplayMessagesAlreadyInInventory.set_enabled(True) self.checkBoxDisplayMessagesAlreadyInInventory.setText( _translate( "MainWindow", @@ -257,12 +257,12 @@ class SpecialAddressBehaviorDialog(QtGui.QDialog, RetranslateMixin): else: self.radioButtonBehaveNormalAddress.click() try: - mailingListName = config.get( + mailing_list_name = config.get( self.address, 'mailinglistname') except: - mailingListName = '' + mailing_list_name = '' self.lineEditMailingListName.setText( - unicode(mailingListName, 'utf-8') + unicode(mailing_list_name, 'utf-8') ) QtGui.QWidget.resize(self, QtGui.QWidget.sizeHint(self)) @@ -325,11 +325,11 @@ class EmailGatewayDialog(QtGui.QDialog, RetranslateMixin): if "@" in label: self.lineEditEmail.setText(label) if isinstance(self.acct, GatewayAccount): - self.radioButtonUnregister.setEnabled(True) - self.radioButtonStatus.setEnabled(True) + self.radioButtonUnregister.set_enabled(True) + self.radioButtonStatus.set_enabled(True) self.radioButtonStatus.setChecked(True) - self.radioButtonSettings.setEnabled(True) - self.lineEditEmail.setEnabled(False) + self.radioButtonSettings.set_enabled(True) + self.lineEditEmail.set_enabled(False) else: self.acct = MailchuckAccount(address) self.lineEditEmail.setFocus() diff --git a/src/bitmessageqt/addressvalidator.py b/src/bitmessageqt/addressvalidator.py index f9de70a2..599d1f6b 100644 --- a/src/bitmessageqt/addressvalidator.py +++ b/src/bitmessageqt/addressvalidator.py @@ -27,7 +27,7 @@ class AddressPassPhraseValidatorMixin(): self.feedBackObject.setText(string) self.isValid = False if self.buttonBox: - self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(False) + self.buttonBox.button(QtGui.QDialogButtonBox.Ok).set_enabled(False) if string is not None and self.feedBackObject is not None: self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setText(_translate("AddressValidator", "Invalid")) else: @@ -42,7 +42,7 @@ class AddressPassPhraseValidatorMixin(): self.feedBackObject.setText(string) self.isValid = True if self.buttonBox: - self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(True) + self.buttonBox.button(QtGui.QDialogButtonBox.Ok).set_enabled(True) self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setText(self.okButtonLabel) def checkQueue(self): diff --git a/src/bitmessageqt/bitmessageui.py b/src/bitmessageqt/bitmessageui.py index 30d054d0..a2483f72 100644 --- a/src/bitmessageqt/bitmessageui.py +++ b/src/bitmessageqt/bitmessageui.py @@ -86,7 +86,7 @@ class Ui_MainWindow(object): self.verticalSplitter_12.setStretchFactor(1, 0) self.verticalSplitter_12.setCollapsible(0, False) self.verticalSplitter_12.setCollapsible(1, False) - self.verticalSplitter_12.handle(1).setEnabled(False) + self.verticalSplitter_12.handle(1).set_enabled(False) self.horizontalSplitter_3.addWidget(self.verticalSplitter_12) self.verticalSplitter_7 = settingsmixin.SSplitter() self.verticalSplitter_7.setObjectName(_fromUtf8("verticalSplitter_7")) @@ -105,7 +105,7 @@ class Ui_MainWindow(object): self.inboxSearchOption.addItem(_fromUtf8("")) self.inboxSearchOption.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents) self.horizontalSplitterSearch.addWidget(self.inboxSearchOption) - self.horizontalSplitterSearch.handle(1).setEnabled(False) + self.horizontalSplitterSearch.handle(1).set_enabled(False) self.horizontalSplitterSearch.setStretchFactor(0, 1) self.horizontalSplitterSearch.setStretchFactor(1, 0) self.verticalSplitter_7.addWidget(self.horizontalSplitterSearch) @@ -146,7 +146,7 @@ class Ui_MainWindow(object): self.verticalSplitter_7.setCollapsible(0, False) self.verticalSplitter_7.setCollapsible(1, False) self.verticalSplitter_7.setCollapsible(2, False) - self.verticalSplitter_7.handle(1).setEnabled(False) + self.verticalSplitter_7.handle(1).set_enabled(False) self.horizontalSplitter_3.addWidget(self.verticalSplitter_7) self.horizontalSplitter_3.setStretchFactor(0, 0) self.horizontalSplitter_3.setStretchFactor(1, 1) @@ -205,8 +205,8 @@ class Ui_MainWindow(object): self.verticalSplitter_2.setCollapsible(0, False) self.verticalSplitter_2.setCollapsible(1, False) self.verticalSplitter_2.setCollapsible(2, False) - self.verticalSplitter_2.handle(1).setEnabled(False) - self.verticalSplitter_2.handle(2).setEnabled(False) + self.verticalSplitter_2.handle(1).set_enabled(False) + self.verticalSplitter_2.handle(2).set_enabled(False) self.horizontalSplitter.addWidget(self.verticalSplitter_2) self.verticalSplitter = settingsmixin.SSplitter() self.verticalSplitter.setObjectName(_fromUtf8("verticalSplitter")) @@ -253,7 +253,7 @@ class Ui_MainWindow(object): self.verticalSplitter_5.setStretchFactor(1, 1) self.verticalSplitter_5.setCollapsible(0, False) self.verticalSplitter_5.setCollapsible(1, False) - self.verticalSplitter_5.handle(1).setEnabled(False) + self.verticalSplitter_5.handle(1).set_enabled(False) self.gridLayout_8.addWidget(self.verticalSplitter_5, 0, 0, 1, 1) self.tabWidgetSend.addTab(self.sendDirect, _fromUtf8("")) self.sendBroadcast = QtGui.QWidget() @@ -289,7 +289,7 @@ class Ui_MainWindow(object): self.verticalSplitter_6.setStretchFactor(1, 1) self.verticalSplitter_6.setCollapsible(0, False) self.verticalSplitter_6.setCollapsible(1, False) - self.verticalSplitter_6.handle(1).setEnabled(False) + self.verticalSplitter_6.handle(1).set_enabled(False) self.gridLayout_9.addWidget(self.verticalSplitter_6, 0, 0, 1, 1) self.tabWidgetSend.addTab(self.sendBroadcast, _fromUtf8("")) self.verticalSplitter.addWidget(self.tabWidgetSend) @@ -350,7 +350,7 @@ class Ui_MainWindow(object): self.verticalSplitter.setStretchFactor(0, 1) self.verticalSplitter.setCollapsible(0, False) self.verticalSplitter.setCollapsible(1, False) - self.verticalSplitter.handle(1).setEnabled(False) + self.verticalSplitter.handle(1).set_enabled(False) self.horizontalSplitter.addWidget(self.verticalSplitter) self.horizontalSplitter.setStretchFactor(0, 0) self.horizontalSplitter.setStretchFactor(1, 1) @@ -387,7 +387,7 @@ class Ui_MainWindow(object): self.verticalSplitter_3.setStretchFactor(1, 0) self.verticalSplitter_3.setCollapsible(0, False) self.verticalSplitter_3.setCollapsible(1, False) - self.verticalSplitter_3.handle(1).setEnabled(False) + self.verticalSplitter_3.handle(1).set_enabled(False) self.horizontalSplitter_4.addWidget(self.verticalSplitter_3) self.verticalSplitter_4 = settingsmixin.SSplitter() self.verticalSplitter_4.setObjectName(_fromUtf8("verticalSplitter_4")) @@ -406,7 +406,7 @@ class Ui_MainWindow(object): self.inboxSearchOptionSubscriptions.addItem(_fromUtf8("")) self.inboxSearchOptionSubscriptions.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents) self.horizontalSplitter_2.addWidget(self.inboxSearchOptionSubscriptions) - self.horizontalSplitter_2.handle(1).setEnabled(False) + self.horizontalSplitter_2.handle(1).set_enabled(False) self.horizontalSplitter_2.setStretchFactor(0, 1) self.horizontalSplitter_2.setStretchFactor(1, 0) self.verticalSplitter_4.addWidget(self.horizontalSplitter_2) @@ -447,7 +447,7 @@ class Ui_MainWindow(object): self.verticalSplitter_4.setCollapsible(0, False) self.verticalSplitter_4.setCollapsible(1, False) self.verticalSplitter_4.setCollapsible(2, False) - self.verticalSplitter_4.handle(1).setEnabled(False) + self.verticalSplitter_4.handle(1).set_enabled(False) self.horizontalSplitter_4.addWidget(self.verticalSplitter_4) self.horizontalSplitter_4.setStretchFactor(0, 0) self.horizontalSplitter_4.setStretchFactor(1, 1) @@ -486,7 +486,7 @@ class Ui_MainWindow(object): self.verticalSplitter_17.setStretchFactor(1, 0) self.verticalSplitter_17.setCollapsible(0, False) self.verticalSplitter_17.setCollapsible(1, False) - self.verticalSplitter_17.handle(1).setEnabled(False) + self.verticalSplitter_17.handle(1).set_enabled(False) self.horizontalSplitter_7.addWidget(self.verticalSplitter_17) self.verticalSplitter_8 = settingsmixin.SSplitter() self.verticalSplitter_8.setObjectName(_fromUtf8("verticalSplitter_8")) @@ -505,7 +505,7 @@ class Ui_MainWindow(object): self.inboxSearchOptionChans.addItem(_fromUtf8("")) self.inboxSearchOptionChans.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents) self.horizontalSplitter_6.addWidget(self.inboxSearchOptionChans) - self.horizontalSplitter_6.handle(1).setEnabled(False) + self.horizontalSplitter_6.handle(1).set_enabled(False) self.horizontalSplitter_6.setStretchFactor(0, 1) self.horizontalSplitter_6.setStretchFactor(1, 0) self.verticalSplitter_8.addWidget(self.horizontalSplitter_6) @@ -546,7 +546,7 @@ class Ui_MainWindow(object): self.verticalSplitter_8.setCollapsible(0, False) self.verticalSplitter_8.setCollapsible(1, False) self.verticalSplitter_8.setCollapsible(2, False) - self.verticalSplitter_8.handle(1).setEnabled(False) + self.verticalSplitter_8.handle(1).set_enabled(False) self.horizontalSplitter_7.addWidget(self.verticalSplitter_8) self.horizontalSplitter_7.setStretchFactor(0, 0) self.horizontalSplitter_7.setStretchFactor(1, 1) diff --git a/src/bitmessageqt/foldertree.py b/src/bitmessageqt/foldertree.py index 2e7e735f..e6daea08 100644 --- a/src/bitmessageqt/foldertree.py +++ b/src/bitmessageqt/foldertree.py @@ -30,7 +30,7 @@ class AccountMixin(object): SUBSCRIPTION = 4 BROADCAST = 5 - def accountColor(self): + def account_color(self): """QT UI color for an account""" if not self.isEnabled: return QtGui.QColor(128, 128, 128) @@ -40,25 +40,25 @@ class AccountMixin(object): return QtGui.QColor(137, 4, 177) return QtGui.QApplication.palette().text().color() - def folderColor(self): + def folder_color(self): """QT UI color for a folder""" if not self.parent().isEnabled: return QtGui.QColor(128, 128, 128) return QtGui.QApplication.palette().text().color() - def accountBrush(self): + def account_brush(self): """Account brush (for QT UI)""" - brush = QtGui.QBrush(self.accountColor()) + brush = QtGui.QBrush(self.account_color()) brush.setStyle(QtCore.Qt.NoBrush) return brush - def folderBrush(self): + def folder_brush(self): """Folder brush (for QT UI)""" - brush = QtGui.QBrush(self.folderColor()) + brush = QtGui.QBrush(self.folder_color()) brush.setStyle(QtCore.Qt.NoBrush) return brush - def accountString(self): + def account_string(self): """Account string suitable for use in To: field: label
""" label = self._getLabel() return ( @@ -66,14 +66,11 @@ class AccountMixin(object): else '%s <%s>' % (label, self.address) ) - def setAddress(self, address): + def set_address(self, address): """Set bitmessage address of the object""" - if address is None: - self.address = None - else: - self.address = str(address) + self.address = None if address is None else str(address) - def setUnreadCount(self, cnt): + def set_unread_count(self, cnt): """Set number of unread messages""" try: if self.unreadCount == int(cnt): @@ -84,17 +81,17 @@ class AccountMixin(object): if isinstance(self, QtGui.QTreeWidgetItem): self.emitDataChanged() - def setEnabled(self, enabled): + def set_enabled(self, enabled): """Set account enabled (QT UI)""" self.isEnabled = enabled try: self.setExpanded(enabled) except AttributeError: pass - if isinstance(self, Ui_AddressWidget): + if isinstance(self, UiAddressWidget): for i in range(self.childCount()): - if isinstance(self.child(i), Ui_FolderWidget): - self.child(i).setEnabled(enabled) + if isinstance(self.child(i), UiFolderWidget): + self.child(i).set_enabled(enabled) if isinstance(self, QtGui.QTreeWidgetItem): self.emitDataChanged() @@ -114,7 +111,7 @@ class AccountMixin(object): else: self.type = self.NORMAL - def defaultLabel(self): + def default_label(self): """Default label (in case no label is set manually)""" queryreturn = None retval = None @@ -131,7 +128,7 @@ class AccountMixin(object): queryreturn = sqlQuery( '''select label from subscriptions where address=?''', self.address) if queryreturn is not None: - if queryreturn != []: + if queryreturn: for row in queryreturn: retval, = row retval = unicode(retval, 'utf-8') @@ -145,25 +142,25 @@ class AccountMixin(object): class BMTreeWidgetItem(QtGui.QTreeWidgetItem, AccountMixin): """A common abstract class for Tree widget item""" - def __init__(self, parent, pos, address, unreadCount): + def __init__(self, parent, pos, address, unread_count): super(QtGui.QTreeWidgetItem, self).__init__() - self.setAddress(address) - self.setUnreadCount(unreadCount) + self.set_address(address) + self.set_unread_count(unread_count) self._setup(parent, pos) - def _getAddressBracket(self, unreadCount=False): + def _get_address_bracket(self, unreadCount=False): return " (" + str(self.unreadCount) + ")" if unreadCount else "" def data(self, column, role): """Override internal QT method for returning object data""" if column == 0: if role == QtCore.Qt.DisplayRole: - return self._getLabel() + self._getAddressBracket( + return self._getLabel() + self._get_address_bracket( self.unreadCount > 0) elif role == QtCore.Qt.EditRole: return self._getLabel() elif role == QtCore.Qt.ToolTipRole: - return self._getLabel() + self._getAddressBracket(False) + return self._getLabel() + self._get_address_bracket(False) elif role == QtCore.Qt.FontRole: font = QtGui.QFont() font.setBold(self.unreadCount > 0) @@ -171,35 +168,35 @@ class BMTreeWidgetItem(QtGui.QTreeWidgetItem, AccountMixin): return super(BMTreeWidgetItem, self).data(column, role) -class Ui_FolderWidget(BMTreeWidgetItem): +class UiFolderWidget(BMTreeWidgetItem): """Item in the account/folder tree representing a folder""" folderWeight = {"inbox": 1, "new": 2, "sent": 3, "trash": 4} def __init__( - self, parent, pos=0, address="", folderName="", unreadCount=0): - self.setFolderName(folderName) - super(Ui_FolderWidget, self).__init__( - parent, pos, address, unreadCount) + self, parent, pos=0, address="", folder_name="", unread_count=0): + self.set_folder_name(folder_name) + super(UiFolderWidget, self).__init__( + parent, pos, address, unread_count) def _setup(self, parent, pos): parent.insertChild(pos, self) - def _getLabel(self): + def _get_label(self): return _translate("MainWindow", self.folderName) - def setFolderName(self, fname): + def set_folder_name(self, fname): """Set folder name (for QT UI)""" self.folderName = str(fname) def data(self, column, role): """Override internal QT method for returning object data""" if column == 0 and role == QtCore.Qt.ForegroundRole: - return self.folderBrush() - return super(Ui_FolderWidget, self).data(column, role) + return self.folder_brush() + return super(UiFolderWidget, self).data(column, role) # inbox, sent, thrash first, rest alphabetically def __lt__(self, other): - if isinstance(other, Ui_FolderWidget): + if isinstance(other, UiFolderWidget): if self.folderName in self.folderWeight: x = self.folderWeight[self.folderName] else: @@ -217,18 +214,18 @@ class Ui_FolderWidget(BMTreeWidgetItem): return super(QtGui.QTreeWidgetItem, self).__lt__(other) -class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin): +class UiAddressWidget(BMTreeWidgetItem, SettingsMixin): """Item in the account/folder tree representing an account""" - def __init__(self, parent, pos=0, address=None, unreadCount=0, enabled=True): - super(Ui_AddressWidget, self).__init__( - parent, pos, address, unreadCount) - self.setEnabled(enabled) + def __init__(self, parent, pos=0, address=None, unread_count=0, enabled=True): + super(UiAddressWidget, self).__init__( + parent, pos, address, unread_count) + self.set_enabled(enabled) def _setup(self, parent, pos): self.setType() parent.insertTopLevelItem(pos, self) - def _getLabel(self): + def _get_label(self): if self.address is None: return unicode(_translate( "MainWindow", "All accounts").toUtf8(), 'utf-8', 'ignore') @@ -240,11 +237,11 @@ class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin): except: return unicode(self.address, 'utf-8') - def _getAddressBracket(self, unreadCount=False): + def _get_address_bracket(self, unread_count=False): ret = "" if self.isExpanded() \ - else super(Ui_AddressWidget, self)._getAddressBracket(unreadCount) + else super(UiAddressWidget, self)._get_address_bracket(unread_count) if self.address is not None: - ret += " (" + self.address + ")" + ret += " (%s)" % self.address return ret def data(self, column, role): @@ -252,10 +249,10 @@ class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin): if column == 0: if role == QtCore.Qt.DecorationRole: return avatarize( - self.address or self._getLabel().encode('utf8')) + self.address or self._get_label().encode('utf8')) elif role == QtCore.Qt.ForegroundRole: - return self.accountBrush() - return super(Ui_AddressWidget, self).data(column, role) + return self.account_brush() + return super(UiAddressWidget, self).data(column, role) def setData(self, column, role, value): """Save account label (if you edit in the the UI, this will be triggered and will save it to keys.dat)""" @@ -268,42 +265,42 @@ class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin): else value.encode('utf-8') ) BMConfigParser().save() - return super(Ui_AddressWidget, self).setData(column, role, value) + return super(UiAddressWidget, self).setData(column, role, value) - def setAddress(self, address): + def set_address(self, address): """Set address to object (for QT UI)""" - super(Ui_AddressWidget, self).setAddress(address) + super(UiAddressWidget, self).set_address(address) self.setData(0, QtCore.Qt.UserRole, self.address) - def _getSortRank(self): + def _get_sort_rank(self): return self.type if self.isEnabled else (self.type + 100) # label (or address) alphabetically, disabled at the end def __lt__(self, other): # pylint: disable=protected-access - if isinstance(other, Ui_AddressWidget): + if isinstance(other, UiAddressWidget): reverse = QtCore.Qt.DescendingOrder == \ self.treeWidget().header().sortIndicatorOrder() - if self._getSortRank() == other._getSortRank(): - x = self._getLabel().lower() - y = other._getLabel().lower() + if self._get_sort_rank() == other._get_sort_rank(): + x = self._get_label().lower() + y = other._get_label().lower() return x < y return ( not reverse - if self._getSortRank() < other._getSortRank() else reverse + if self._get_sort_rank() < other._get_sort_rank() else reverse ) return super(QtGui.QTreeWidgetItem, self).__lt__(other) -class Ui_SubscriptionWidget(Ui_AddressWidget): +class UiSubscriptionWidget(UiAddressWidget): """Special treating of subscription addresses""" # pylint: disable=unused-argument - def __init__(self, parent, pos=0, address="", unreadCount=0, label="", enabled=True): - super(Ui_SubscriptionWidget, self).__init__( - parent, pos, address, unreadCount, enabled) + def __init__(self, parent, pos=0, address="", unread_count=0, label="", enabled=True): + super(UiSubscriptionWidget, self).__init__( + parent, pos, address, unread_count, enabled) - def _getLabel(self): + def _get_label(self): queryreturn = sqlQuery( '''select label from subscriptions where address=?''', self.address) if queryreturn != []: @@ -314,7 +311,7 @@ class Ui_SubscriptionWidget(Ui_AddressWidget): def setType(self): """Set account type""" - super(Ui_SubscriptionWidget, self).setType() # sets it editable + super(UiSubscriptionWidget, self).setType() # sets it editable self.type = AccountMixin.SUBSCRIPTION # overrides type def setData(self, column, role, value): @@ -328,7 +325,7 @@ class Ui_SubscriptionWidget(Ui_AddressWidget): sqlExecute( '''UPDATE subscriptions SET label=? WHERE address=?''', label, self.address) - return super(Ui_SubscriptionWidget, self).setData(column, role, value) + return super(UiSubscriptionWidget, self).setData(column, role, value) class BMTableWidgetItem(QtGui.QTableWidgetItem, SettingsMixin): @@ -336,17 +333,17 @@ class BMTableWidgetItem(QtGui.QTableWidgetItem, SettingsMixin): def __init__(self, parent=None, label=None, unread=False): super(QtGui.QTableWidgetItem, self).__init__() - self.setLabel(label) - self.setUnread(unread) + self.set_label(label) + self.set_unread(unread) self._setup() if parent is not None: parent.append(self) - def setLabel(self, label): + def set_label(self, label): """Set object label""" self.label = label - def setUnread(self, unread): + def set_unread(self, unread): """Set/unset read state of an item""" self.unread = unread @@ -367,9 +364,9 @@ class BMAddressWidget(BMTableWidgetItem, AccountMixin): """A common class for Table widget item with account""" def _setup(self): - self.setEnabled(True) + self.set_enabled(True) - def _getLabel(self): + def _get_label(self): return self.label def data(self, role): @@ -381,33 +378,33 @@ class BMAddressWidget(BMTableWidgetItem, AccountMixin): 'bitmessagesettings', 'useidenticons'): return avatarize(self.address or self.label) elif role == QtCore.Qt.ForegroundRole: - return self.accountBrush() + return self.account_brush() return super(BMAddressWidget, self).data(role) -class MessageList_AddressWidget(BMAddressWidget): +class MessageListAddressWidget(BMAddressWidget): """Address item in a messagelist""" def __init__(self, parent, address=None, label=None, unread=False): - self.setAddress(address) - super(MessageList_AddressWidget, self).__init__(parent, label, unread) + self.set_address(address) + super(MessageListAddressWidget, self).__init__(parent, label, unread) def _setup(self): self.isEnabled = True self.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) self.setType() - def setLabel(self, label=None): + def set_label(self, label=None): """Set label""" - super(MessageList_AddressWidget, self).setLabel(label) + super(MessageListAddressWidget, self).set_label(label) if label is not None: return - newLabel = self.address + new_label = self.address queryreturn = None if self.type in ( AccountMixin.NORMAL, AccountMixin.CHAN, AccountMixin.MAILINGLIST): try: - newLabel = unicode( + new_label = unicode( BMConfigParser().get(self.address, 'label'), 'utf-8', 'ignore') except: @@ -418,39 +415,39 @@ class MessageList_AddressWidget(BMAddressWidget): '''select label from subscriptions where address=?''', self.address) if queryreturn: for row in queryreturn: - newLabel = unicode(row[0], 'utf-8', 'ignore') + new_label = unicode(row[0], 'utf-8', 'ignore') - self.label = newLabel + self.label = new_label def data(self, role): """Return object data (QT UI)""" if role == QtCore.Qt.UserRole: return self.address - return super(MessageList_AddressWidget, self).data(role) + return super(MessageListAddressWidget, self).data(role) def setData(self, role, value): """Set object data""" if role == QtCore.Qt.EditRole: - self.setLabel() - return super(MessageList_AddressWidget, self).setData(role, value) + self.set_label() + return super(MessageListAddressWidget, self).setData(role, value) # label (or address) alphabetically, disabled at the end def __lt__(self, other): - if isinstance(other, MessageList_AddressWidget): + if isinstance(other, MessageListAddressWidget): return self.label.lower() < other.label.lower() return super(QtGui.QTableWidgetItem, self).__lt__(other) -class MessageList_SubjectWidget(BMTableWidgetItem): +class MessageListSubjectWidget(BMTableWidgetItem): """Message list subject item""" def __init__(self, parent, subject=None, label=None, unread=False): - self.setSubject(subject) - super(MessageList_SubjectWidget, self).__init__(parent, label, unread) + self.set_subject(subject) + super(MessageListSubjectWidget, self).__init__(parent, label, unread) def _setup(self): self.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) - def setSubject(self, subject): + def set_subject(self, subject): """Set subject""" self.subject = subject @@ -460,27 +457,27 @@ class MessageList_SubjectWidget(BMTableWidgetItem): return self.subject if role == QtCore.Qt.ToolTipRole: return escape(unicode(self.subject, 'utf-8')) - return super(MessageList_SubjectWidget, self).data(role) + return super(MessageListSubjectWidget, self).data(role) # label (or address) alphabetically, disabled at the end def __lt__(self, other): - if isinstance(other, MessageList_SubjectWidget): + if isinstance(other, MessageListSubjectWidget): return self.label.lower() < other.label.lower() return super(QtGui.QTableWidgetItem, self).__lt__(other) -class Ui_AddressBookWidgetItem(BMAddressWidget): +class UiAddressBookWidgetItem(BMAddressWidget): """Addressbook item""" # pylint: disable=unused-argument def __init__(self, label=None, acc_type=AccountMixin.NORMAL): self.type = acc_type - super(Ui_AddressBookWidgetItem, self).__init__(label=label) + super(UiAddressBookWidgetItem, self).__init__(label=label) def data(self, role): """Return object data""" if role == QtCore.Qt.UserRole: return self.type - return super(Ui_AddressBookWidgetItem, self).data(role) + return super(UiAddressBookWidgetItem, self).data(role) def setData(self, role, value): """Set data""" @@ -502,10 +499,10 @@ class Ui_AddressBookWidgetItem(BMAddressWidget): sqlExecute('''UPDATE subscriptions set label=? WHERE address=?''', self.label, self.address) else: pass - return super(Ui_AddressBookWidgetItem, self).setData(role, value) + return super(UiAddressBookWidgetItem, self).setData(role, value) def __lt__(self, other): - if isinstance(other, Ui_AddressBookWidgetItem): + if isinstance(other, UiAddressBookWidgetItem): reverse = QtCore.Qt.DescendingOrder == \ self.tableWidget().horizontalHeader().sortIndicatorOrder() @@ -515,22 +512,22 @@ class Ui_AddressBookWidgetItem(BMAddressWidget): return super(QtGui.QTableWidgetItem, self).__lt__(other) -class Ui_AddressBookWidgetItemLabel(Ui_AddressBookWidgetItem): +class UiAddressBookWidgetItemLabel(UiAddressBookWidgetItem): """Addressbook label item""" def __init__(self, address, label, acc_type): - super(Ui_AddressBookWidgetItemLabel, self).__init__(label, acc_type) + super(UiAddressBookWidgetItemLabel, self).__init__(label, acc_type) self.address = address def data(self, role): """Return object data""" - self.label = self.defaultLabel() - return super(Ui_AddressBookWidgetItemLabel, self).data(role) + self.label = self.default_label() + return super(UiAddressBookWidgetItemLabel, self).data(role) -class Ui_AddressBookWidgetItemAddress(Ui_AddressBookWidgetItem): +class UiAddressBookWidgetItemAddress(UiAddressBookWidgetItem): """Addressbook address item""" def __init__(self, address, label, acc_type): - super(Ui_AddressBookWidgetItemAddress, self).__init__(address, acc_type) + super(UiAddressBookWidgetItemAddress, self).__init__(address, acc_type) self.address = address self.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled) @@ -540,7 +537,7 @@ class Ui_AddressBookWidgetItemAddress(Ui_AddressBookWidgetItem): return self.address if role == QtCore.Qt.DecorationRole: return None - return super(Ui_AddressBookWidgetItemAddress, self).data(role) + return super(UiAddressBookWidgetItemAddress, self).data(role) class AddressBookCompleter(QtGui.QCompleter): @@ -550,7 +547,7 @@ class AddressBookCompleter(QtGui.QCompleter): super(AddressBookCompleter, self).__init__() self.cursorPos = -1 - def onCursorPositionChanged(self, oldPos, newPos): # pylint: disable=unused-argument + def on_cursor_position_changed(self, oldPos, newPos): # pylint: disable=unused-argument """Callback for cursor position change""" if oldPos != self.cursorPos: self.cursorPos = -1 @@ -562,7 +559,7 @@ class AddressBookCompleter(QtGui.QCompleter): def pathFromIndex(self, index): """Perform autocompletion (reimplemented QCompleter method)""" - autoString = unicode( + auto_string = unicode( index.data(QtCore.Qt.EditRole).toString().toUtf8(), 'utf-8') text = unicode(self.widget().text().toUtf8(), 'utf-8') @@ -573,28 +570,28 @@ class AddressBookCompleter(QtGui.QCompleter): self.cursorPos = self.widget().cursorPosition() # Get current prosition - curIndex = self.widget().cursorPosition() + cur_index = self.widget().cursorPosition() # prev_delimiter_index should actually point at final white space # AFTER the delimiter # Get index of last delimiter before current position - prevDelimiterIndex = text[0:curIndex].rfind(";") - while text[prevDelimiterIndex + 1] == " ": - prevDelimiterIndex += 1 + prev_delimiter_index = text[0:cur_index].rfind(";") + while text[prev_delimiter_index + 1] == " ": + prev_delimiter_index += 1 # Get index of first delimiter after current position # (or EOL if no delimiter after cursor) - nextDelimiterIndex = text.find(";", curIndex) - if nextDelimiterIndex == -1: - nextDelimiterIndex = len(text) + next_delimiter_index = text.find(";", cur_index) + if next_delimiter_index == -1: + next_delimiter_index = len(text) # Get part of string that occurs before cursor - part1 = text[0:prevDelimiterIndex + 1] + part1 = text[0:prev_delimiter_index + 1] # Get string value from before auto finished string is selected - # pre = text[prevDelimiterIndex + 1:curIndex - 1] + # pre = text[prev_delimiter_index + 1:cur_index - 1] # Get part of string that occurs AFTER cursor - part2 = text[nextDelimiterIndex:] + part2 = text[next_delimiter_index:] - return part1 + autoString + part2 + return part1 + auto_string + part2 diff --git a/src/depends.py b/src/depends.py index 0114ec94..50e5d3c3 100755 --- a/src/depends.py +++ b/src/depends.py @@ -4,6 +4,10 @@ and suggest how it may be installed """ import sys +import logging +import os + +from importlib import import_module # Only really old versions of Python don't have sys.hexversion. We don't # support them. The logging module was introduced in Python 2.3 @@ -14,10 +18,6 @@ if not hasattr(sys, 'hexversion') or sys.hexversion < 0x20300F0: % sys.version ) -import logging -import os -from importlib import import_module - # We can now use logging so set up a simple configuration formatter = logging.Formatter('%(levelname)s: %(message)s') handler = logging.StreamHandler(sys.stdout) @@ -112,39 +112,39 @@ PACKAGES = { } -def detectOS(): - if detectOS.result is not None: - return detectOS.result +def detect_os(): + if detect_os.result is not None: + return detect_os.result if sys.platform.startswith('openbsd'): - detectOS.result = "OpenBSD" + detect_os.result = "OpenBSD" elif sys.platform.startswith('freebsd'): - detectOS.result = "FreeBSD" + detect_os.result = "FreeBSD" elif sys.platform.startswith('win'): - detectOS.result = "Windows" + detect_os.result = "Windows" elif os.path.isfile("/etc/os-release"): - detectOSRelease() + detect_os_release() elif os.path.isfile("/etc/config.scm"): - detectOS.result = "Guix" - return detectOS.result + detect_os.result = "Guix" + return detect_os.result -detectOS.result = None +detect_os.result = None -def detectOSRelease(): +def detect_os_release(): with open("/etc/os-release", 'r') as osRelease: version = None for line in osRelease: if line.startswith("NAME="): - detectOS.result = OS_RELEASE.get( + detect_os.result = OS_RELEASE.get( line.replace('"', '').split("=")[-1].strip().lower()) elif line.startswith("VERSION_ID="): try: version = float(line.split("=")[1].replace("\"", "")) except ValueError: pass - if detectOS.result == "Ubuntu" and version < 14: - detectOS.result = "Ubuntu 12" + if detect_os.result == "Ubuntu" and version < 14: + detect_os.result = "Ubuntu 12" def try_import(module, log_extra=False): @@ -155,7 +155,7 @@ def try_import(module, log_extra=False): logger.error('The %s module is not available.', module) if log_extra: logger.error(log_extra) - dist = detectOS() + dist = detect_os() logger.error( 'On %s, try running "%s %s" as root.', dist, PACKAGE_MANAGER[dist], PACKAGES[module][dist])