commit
c08f196ad0
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
toast(text)
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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'),
|
||||
|
|
Reference in New Issue
Block a user