diff --git a/src/api.py b/src/api.py index bfbe45fa..428cf637 100644 --- a/src/api.py +++ b/src/api.py @@ -31,7 +31,7 @@ import shared import shutdown import state -from addresses import addBMIfNotPresent, calculateInventoryHash, decodeAddress, decodeVarint, varintDecodeError +from addresses import addBMIfNotPresent, calculateInventoryHash, decodeAddress, decodeVarint, varintDecodeError from bmconfigparser import BMConfigParser from debug import logger from helper_ackPayload import genAckPayload diff --git a/src/bitmessagekivy/mpybit.py b/src/bitmessagekivy/mpybit.py index 3779e004..0a483621 100644 --- a/src/bitmessagekivy/mpybit.py +++ b/src/bitmessagekivy/mpybit.py @@ -47,12 +47,8 @@ from kivymd.uix.list import ( ILeftBodyTouch, IRightBodyTouch, TwoLineAvatarIconListItem, - TwoLineListItem, OneLineIconListItem, - OneLineAvatarListItem, - IRightBody, OneLineAvatarIconListItem, - IRightBodyTouch, OneLineListItem ) # from kivymd.uix.navigationdrawer import ( @@ -60,7 +56,6 @@ from kivymd.uix.list import ( # NavigationDrawerHeaderBase # ) from kivymd.uix.selectioncontrol import MDCheckbox -from kivymd.theming import ThemeManager import queues from semaphores import kivyuisignaler @@ -69,10 +64,12 @@ import state from addresses import decodeAddress -KVFILES = ['settings', 'popup', 'allmails', 'draft', - 'maildetail', 'common_widgets', 'addressbook', - 'myaddress', 'composer', 'payment', 'sent', - 'network', 'login', 'credits', 'trash', 'inbox'] +KVFILES = [ + 'settings', 'popup', 'allmails', 'draft', + 'maildetail', 'common_widgets', 'addressbook', + 'myaddress', 'composer', 'payment', 'sent', + 'network', 'login', 'credits', 'trash', 'inbox' +] def toast(text): @@ -151,7 +148,7 @@ class Inbox(Screen): valign='top') self.ids.ml.add_widget(content) - def set_inboxCount(self, msgCnt): + def set_inboxCount(self, msgCnt): # pylint: disable=no-self-use """This method is used to sent inbox message count""" src_mng_obj = state.kivyapp.root.ids.content_drawer.ids.inbox_cnt src_mng_obj.children[0].children[0].text = showLimitedCnt(int(msgCnt)) @@ -386,7 +383,7 @@ class MyAddress(Screen): def refresh_callback(interval): """Method used for loading the myaddress screen data""" state.searcing_text = '' - #state.kivyapp.root.ids.sc10.children[2].active = False + # state.kivyapp.root.ids.sc10.children[2].active = False # self.children[2].children[2].ids.search_field.text = '' self.children[3].children[2].ids.search_field.text = '' self.has_refreshed = True @@ -539,7 +536,7 @@ class SelectableLabel(RecycleDataViewBehavior, Label): return super(SelectableLabel, self).refresh_view_attrs( rv, index, data) - def on_touch_down(self, touch): + def on_touch_down(self, touch): # pylint: disable=inconsistent-return-statements """Add selection on touch down""" if super(SelectableLabel, self).on_touch_down(touch): return True @@ -1136,7 +1133,7 @@ class Trash(Screen): " ORDER BY actionTime DESC limit {1}, {2}".format( state.association, start_indx, end_indx)) - def set_TrashCnt(self, Count): + def set_TrashCnt(self, Count): # pylint: disable=no-self-use """This method is used to set trash message count""" trashCnt_obj = state.kivyapp.root.ids.content_drawer.ids.trash_cnt trashCnt_obj.children[0].children[0].text = showLimitedCnt(int(Count)) @@ -1284,7 +1281,7 @@ class NavigateApp(MDApp): """Method builds the widget""" for kv_file in KVFILES: Builder.load_file( - os.path.join(os.path.dirname(__file__),f"kv/{kv_file}.kv")) + os.path.join(os.path.dirname(__file__), f"kv/{kv_file}.kv")) self.obj_1 = AddressBook() kivysignalthread = UIkivySignaler() kivysignalthread.daemon = True @@ -1408,6 +1405,7 @@ class NavigateApp(MDApp): return False def on_key(self, window, key, *args): + # pylint: disable=inconsistent-return-statements """Method is used for going on previous screen""" if key == 27: if state.in_search_mode and self.root.ids.scr_mngr.current != ( @@ -1469,7 +1467,7 @@ class NavigateApp(MDApp): def loadMyAddressScreen(self, action): """loadMyAddressScreen method spin the loader""" - if len(self.root.ids.sc10.children) <=3: + if len(self.root.ids.sc10.children) <= 3: self.root.ids.sc10.children[1].active = action else: self.root.ids.sc10.children[2].active = action @@ -1681,7 +1679,7 @@ class NavigateApp(MDApp): """Show identicon in address spinner""" img = identiconGeneration.generate(text) self.root.children[0].children[0].ids.btn.children[1].texture = (img.texture) - #below line is for displaing logo + # below line is for displaing logo self.root.ids.content_drawer.ids.top_box.children[0].texture = (img.texture) def set_mail_detail_header(self): @@ -1735,11 +1733,11 @@ class NavigateApp(MDApp): except Exception: self.root.ids.sc17.children[0].children[1].active = False - def on_request_close(self, *args): + def on_request_close(self, *args): # pylint: disable=no-self-use """This method is for app closing request""" AppClosingPopup().open() return True - + class GrashofPopup(Popup): """Moule for save contacts and error messages""" @@ -1874,7 +1872,6 @@ class IconRightSampleWidget(IRightBodyTouch, MDCheckbox): pass - class MailDetail(Screen): """MailDetail Screen uses to show the detail of mails""" @@ -2128,8 +2125,8 @@ class ShowQRCode(Screen): from kivy.garden.qrcode import QRCodeWidget try: address = self.manager.get_parent_window().children[0].address - except Exception as e: - address = self.manager.get_parent_window().children[1].address + except Exception: + address = self.manager.get_parent_window().children[1].address self.ids.qr.add_widget(QRCodeWidget(data=address)) toast('Show QR code') @@ -2189,7 +2186,7 @@ class Draft(Screen): xAddress, self.account, "draft", where, what, False, start_indx, end_indx) - def set_draftCnt(self, Count): + def set_draftCnt(self, Count): # pylint: disable=no-self-use """This method set the count of draft mails""" draftCnt_obj = state.kivyapp.root.ids.content_drawer.ids.draft_cnt draftCnt_obj.children[0].children[0].text = showLimitedCnt(int(Count)) @@ -2270,8 +2267,8 @@ class Draft(Screen): # msg_count_objs = ( # self.parent.parent.parent.parent.parent.parent.children[ # 2].children[0].ids) - # msg_count_objs = self.parent.parent.parent.parent.parent.children[ - # 2].children[0].ids + # msg_count_objs = self.parent.parent.parent.parent.parent.children[ + # 2].children[0].ids if int(state.draft_count) > 0: # msg_count_objs.draft_cnt.badge_text = str( # int(state.draft_count) - 1) @@ -2394,7 +2391,7 @@ class Allmails(Screen): " ORDER BY actionTime DESC limit {1}, {2}".format( self.account, start_indx, end_indx)) - def set_AllmailCnt(self, Count): + def set_AllmailCnt(self, Count): # pylint: disable=no-self-use """This method is used to set allmails message count""" allmailCnt_obj = state.kivyapp.root.ids.content_drawer.ids.allmail_cnt allmailCnt_obj.children[0].children[0].text = showLimitedCnt(int(Count)) @@ -2565,6 +2562,7 @@ class AddressDropdown(OneLineIconListItem): class BadgeText(IRightBodyTouch, MDLabel): + """Class for badgetext""" pass @@ -2610,10 +2608,11 @@ class AppClosingPopup(Popup): super(AppClosingPopup, self).__init__(**kwargs) def closingAction(self, text): + """Action on closing window""" if text == 'Yes': print("*******************EXITING FROM APPLICATION*******************") import shutdown shutdown.doCleanShutdown() else: self.dismiss() - toast(text) \ No newline at end of file + toast(text) diff --git a/src/bitmessagemain.py b/src/bitmessagemain.py index a2522053..65afbe7f 100755 --- a/src/bitmessagemain.py +++ b/src/bitmessagemain.py @@ -371,6 +371,7 @@ class Main(object): elif state.kivy: config.remove_option('bitmessagesettings', 'dontconnect') + # pylint: disable=no-member, import-error from bitmessagekivy.mpybit import NavigateApp state.kivyapp = NavigateApp() state.kivyapp.run() diff --git a/src/knownnodes.py b/src/knownnodes.py index f8007bb6..a2327625 100644 --- a/src/knownnodes.py +++ b/src/knownnodes.py @@ -126,7 +126,7 @@ def readKnownNodes(): except ValueError: source.seek(0) pickle_deserialize_old_knownnodes(source) - except (IOError, OSError, KeyError, EOFError,pickle.UnpicklingError): + except (IOError, OSError, KeyError, EOFError, pickle.UnpicklingError): logger.debug( 'Failed to read nodes from knownnodes.dat', exc_info=True) createDefaultKnownNodes() diff --git a/src/messagetypes/__init__.py b/src/messagetypes/__init__.py index ee4ae048..ef8b7f18 100644 --- a/src/messagetypes/__init__.py +++ b/src/messagetypes/__init__.py @@ -16,7 +16,7 @@ logger = logging.getLogger('default') class MsgBase(object): # pylint: disable=too-few-public-methods """Base class for message types""" def __init__(self): - self.data = {"": lower(type(self).__name__)} + self.data = {"": (type(self).__name__).lower()} def constructObject(data): diff --git a/src/network/connectionpool.py b/src/network/connectionpool.py index 82bf20a5..5e59d99d 100644 --- a/src/network/connectionpool.py +++ b/src/network/connectionpool.py @@ -326,7 +326,7 @@ class BMConnectionPool(object): try: if type(chosen.host) == bytes: - onion= '.onion'.encode() + onion = '.onion'.encode() else: onion = '.onion' if chosen.host.endswith(onion) and Proxy.onion_proxy: diff --git a/src/protocol.py b/src/protocol.py index 6fa989a3..8b6a71d8 100644 --- a/src/protocol.py +++ b/src/protocol.py @@ -105,7 +105,9 @@ def encodeHost(host): colon = ':' full_stop = '.' if host.find(onion) > -1: - return '\xfd\x87\xd8\x7e\xeb\x43'.encode('raw_unicode_escape') + base64.b32decode(host.split(full_stop)[0], True) + return '\xfd\x87\xd8\x7e\xeb\x43'.encode( + 'raw_unicode_escape') + base64.b32decode( + host.split(full_stop)[0], True) elif host.find(colon) == -1: return '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF'.encode('raw_unicode_escape') + \ socket.inet_aton(host) @@ -286,7 +288,7 @@ def isProofOfWorkSufficient( def CreatePacket(command, payload=''): """Construct and return a number of bytes from a payload""" - payload = payload if type(payload) in [bytes,bytearray] else payload.encode() + payload = payload if type(payload) in [bytes, bytearray] else payload.encode() payload_length = len(payload) checksum = hashlib.sha512(payload).digest()[0:4] byte = bytearray(Header.size + payload_length) @@ -332,7 +334,7 @@ def assembleVersionMessage(remoteHost, remotePort, participatingStreams, server= (NODE_DANDELION if state.dandelion else 0) ) # = 127.0.0.1. This will be ignored by the remote host. The actual remote connected IP will be used. - #python3 need to check + # python3 need to check payload += '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xFF\xFF'.encode('raw_unicode_escape') + pack('>L', 2130706433) # we have a separate extPort and incoming over clearnet diff --git a/src/pyelliptic/arithmetic.py b/src/pyelliptic/arithmetic.py index 71bb9d5a..566be794 100644 --- a/src/pyelliptic/arithmetic.py +++ b/src/pyelliptic/arithmetic.py @@ -51,6 +51,7 @@ def encode(val, base, minlen=0): result = code_string[0] * (minlen - len(result)) + result return result + def decode(string, base): """Returns the decoded string""" code_string = get_code_string(base) diff --git a/src/pyelliptic/openssl.py b/src/pyelliptic/openssl.py index 73cc87f0..d1234cf7 100644 --- a/src/pyelliptic/openssl.py +++ b/src/pyelliptic/openssl.py @@ -699,7 +699,7 @@ def loadOpenSSL(): path.join(sys._MEIPASS, 'libssl.so'), path.join(sys._MEIPASS, 'libcrypto.so.1.1.0'), path.join(sys._MEIPASS, 'libssl.so.1.1.0'), - path.join(sys._MEIPASS, 'libcrypto.so.1.0.2'), + path.join(sys._MEIPASS, 'libcrypto.so.1.0.2'), path.join(sys._MEIPASS, 'libssl.so.1.0.2'), path.join(sys._MEIPASS, 'libcrypto.so.1.0.1'), path.join(sys._MEIPASS, 'libssl.so.1.0.1'),