This commit is contained in:
lakshyacis 2020-01-07 16:58:29 +05:30
parent 9e99bb6165
commit 03db10675e
No known key found for this signature in database
GPG Key ID: D2C539C8EC63E9EB
3 changed files with 54 additions and 21 deletions

View File

@ -59,8 +59,7 @@ def random_color(hash_string):
r = rgb[:split] r = rgb[:split]
g = rgb[split:2 * split] g = rgb[split:2 * split]
b = rgb[2 * split:3 * split] b = rgb[2 * split:3 * split]
color = (int(r, 16), int(g, 16), color = (int(r, 16), int(g, 16), int(b, 16), 0xFF)
int(b, 16), 0xFF)
return color return color
@ -78,6 +77,5 @@ def generate_image(image, color, hash_string):
if int(hash_string[index], 16) % 2 == 0: if int(hash_string[index], 16) % 2 == 0:
image.putpixel((x, y), color) image.putpixel((x, y), color)
image.putpixel((limit_x - x, y), color) image.putpixel((limit_x - x, y), color)
index = index + 1 index = index + 1
return image return image

View File

@ -7,22 +7,24 @@ from helper_sql import sqlQuery
def search_sql( def search_sql(
xAddress="toaddress", account=None, folder="inbox", where=None, xAddress="toaddress", account=None, folder="inbox", where=None,
what=None, unreadOnly=False, start_indx=0, end_indx=20): what=None, unreadOnly=False, start_indx=0, end_indx=20):
"""Method helping for searching mails"""
# pylint: disable=too-many-arguments, too-many-branches # pylint: disable=too-many-arguments, too-many-branches
"""Method helping for searching mails"""
if what is not None and what != "": if what is not None and what != "":
what = "%" + what + "%" what = "%" + what + "%"
else: else:
what = None what = None
if folder == "sent" or folder == "draft": if folder in ("sent", "draft"):
sqlStatementBase = ( sqlStatementBase = (
'''SELECT toaddress, fromaddress, subject, message, status,''' '''SELECT toaddress, fromaddress, subject, message, status,'''
''' ackdata, lastactiontime FROM sent ''') ''' ackdata, lastactiontime FROM sent '''
)
elif folder == "addressbook": elif folder == "addressbook":
sqlStatementBase = '''SELECT label, address From addressbook ''' sqlStatementBase = '''SELECT label, address From addressbook '''
else: else:
sqlStatementBase = ( sqlStatementBase = (
'''SELECT folder, msgid, toaddress, message, fromaddress,''' '''SELECT folder, msgid, toaddress, message, fromaddress,'''
''' subject, received, read FROM inbox ''') ''' subject, received, read FROM inbox '''
)
sqlStatementParts = [] sqlStatementParts = []
sqlArguments = [] sqlArguments = []
if account is not None: if account is not None:
@ -59,7 +61,7 @@ def search_sql(
if sqlStatementParts: if sqlStatementParts:
sqlStatementBase += "WHERE " + " AND ".join(sqlStatementParts) sqlStatementBase += "WHERE " + " AND ".join(sqlStatementParts)
# if folder in ("sent", "draft"): # if folder in ("sent", "draft"):
if folder == "sent" or folder == "draft": if folder in ("sent", "draft"):
sqlStatementBase += \ sqlStatementBase += \
"ORDER BY lastactiontime DESC limit {0}, {1}".format( "ORDER BY lastactiontime DESC limit {0}, {1}".format(
start_indx, end_indx) start_indx, end_indx)

View File

@ -81,6 +81,7 @@ class Navigatorss(MDNavigationDrawer):
class Inbox(Screen): class Inbox(Screen):
"""Inbox Screen uses screen to show widgets of screens""" """Inbox Screen uses screen to show widgets of screens"""
queryreturn = ListProperty() queryreturn = ListProperty()
has_refreshed = True has_refreshed = True
account = StringProperty() account = StringProperty()
@ -301,6 +302,7 @@ class Inbox(Screen):
class MyAddress(Screen): class MyAddress(Screen):
"""MyAddress screen uses screen to show widgets of screens""" """MyAddress screen uses screen to show widgets of screens"""
addresses_list = ListProperty() addresses_list = ListProperty()
has_refreshed = True has_refreshed = True
is_add_created = False is_add_created = False
@ -316,7 +318,10 @@ class MyAddress(Screen):
self.addresses_list = state.kivyapp.variable_1 self.addresses_list = state.kivyapp.variable_1
if state.searcing_text: if state.searcing_text:
self.ids.refresh_layout.scroll_y = 1.0 self.ids.refresh_layout.scroll_y = 1.0
filtered_list = [x for x in BMConfigParser().addresses() if self.filter_address(x)] filtered_list = [
x for x in BMConfigParser().addresses()
if self.filter_address(x)
]
self.addresses_list = filtered_list self.addresses_list = filtered_list
self.addresses_list = [obj for obj in reversed(self.addresses_list)] self.addresses_list = [obj for obj in reversed(self.addresses_list)]
self.ids.identi_tag.children[0].text = '' self.ids.identi_tag.children[0].text = ''
@ -419,6 +424,7 @@ class MyAddress(Screen):
class AddressBook(Screen): class AddressBook(Screen):
"""AddressBook Screen uses screen to show widgets of screens""" """AddressBook Screen uses screen to show widgets of screens"""
queryreturn = ListProperty() queryreturn = ListProperty()
has_refreshed = True has_refreshed = True
@ -530,6 +536,7 @@ class SelectableRecycleBoxLayout(
FocusBehavior, LayoutSelectionBehavior, RecycleBoxLayout): FocusBehavior, LayoutSelectionBehavior, RecycleBoxLayout):
"""Adds selection and focus behaviour to the view""" """Adds selection and focus behaviour to the view"""
# pylint: disable = duplicate-bases # pylint: disable = duplicate-bases
pass pass
@ -573,6 +580,7 @@ class RV(RecycleView):
class DropDownWidget(BoxLayout): class DropDownWidget(BoxLayout):
"""Adding Dropdown Widget""" """Adding Dropdown Widget"""
# pylint: disable=too-many-statements # pylint: disable=too-many-statements
txt_input = ObjectProperty() txt_input = ObjectProperty()
rv = ObjectProperty() rv = ObjectProperty()
@ -613,7 +621,9 @@ class DropDownWidget(BoxLayout):
statusIconColor = 'red' statusIconColor = 'red'
if (addressVersionNumber > 4) or ( if (addressVersionNumber > 4) or (
addressVersionNumber <= 1): addressVersionNumber <= 1):
print("addressVersionNumber > 4 or addressVersionNumber <= 1") print(
"addressVersionNumber > 4"
" or addressVersionNumber <= 1")
if streamNumber > 1 or streamNumber == 0: if streamNumber > 1 or streamNumber == 0:
print("streamNumber > 1 or streamNumber == 0") print("streamNumber > 1 or streamNumber == 0")
if statusIconColor == 'red': if statusIconColor == 'red':
@ -648,7 +658,8 @@ class DropDownWidget(BoxLayout):
if state.detailPageType == 'draft' \ if state.detailPageType == 'draft' \
and state.send_draft_mail: and state.send_draft_mail:
state.draft_count = str(int(state.draft_count) - 1) state.draft_count = str(int(state.draft_count) - 1)
state.msg_counter_objs.draft_cnt.badge_text = state.draft_count state.msg_counter_objs.draft_cnt.badge_text = (
state.draft_count)
state.detailPageType = '' state.detailPageType = ''
state.send_draft_mail = None state.send_draft_mail = None
# self.parent.parent.screens[0].ids.ml.clear_widgets() # self.parent.parent.screens[0].ids.ml.clear_widgets()
@ -766,6 +777,7 @@ class Payment(Screen):
class Credits(Screen): class Credits(Screen):
"""Credits Method""" """Credits Method"""
available_credits = StringProperty( available_credits = StringProperty(
'{0}'.format('0')) '{0}'.format('0'))
@ -778,13 +790,15 @@ class Login(Screen):
class NetworkStat(Screen): class NetworkStat(Screen):
"""Method used to show network stat""" """Method used to show network stat"""
text_variable_1 = StringProperty( text_variable_1 = StringProperty(
'{0}::{1}'.format('Total Connections', '0')) '{0}::{1}'.format('Total Connections', '0'))
text_variable_2 = StringProperty( text_variable_2 = StringProperty(
'Processed {0} per-to-per messages'.format('0')) 'Processed {0} per-to-per messages'.format('0'))
text_variable_3 = StringProperty( text_variable_3 = StringProperty(
'Processed {0} brodcast messages'.format('0')) 'Processed {0} brodcast messages'.format('0'))
text_variable_4 = StringProperty('Processed {0} public keys'.format('0')) text_variable_4 = StringProperty(
'Processed {0} public keys'.format('0'))
text_variable_5 = StringProperty( text_variable_5 = StringProperty(
'Processed {0} object to be synced'.format('0')) 'Processed {0} object to be synced'.format('0'))
@ -812,11 +826,13 @@ class NetworkStat(Screen):
class ContentNavigationDrawer(Navigatorss): class ContentNavigationDrawer(Navigatorss):
"""Navigate Content Drawer""" """Navigate Content Drawer"""
pass pass
class Random(Screen): class Random(Screen):
"""Generates Random Address""" """Generates Random Address"""
is_active = BooleanProperty(False) is_active = BooleanProperty(False)
checked = StringProperty("") checked = StringProperty("")
@ -877,6 +893,7 @@ class Random(Screen):
class Sent(Screen): class Sent(Screen):
"""Sent Screen uses screen to show widgets of screens""" """Sent Screen uses screen to show widgets of screens"""
queryreturn = ListProperty() queryreturn = ListProperty()
has_refreshed = True has_refreshed = True
account = StringProperty() account = StringProperty()
@ -1100,6 +1117,7 @@ class Sent(Screen):
class Trash(Screen): class Trash(Screen):
"""Trash Screen uses screen to show widgets of screens""" """Trash Screen uses screen to show widgets of screens"""
trash_messages = ListProperty() trash_messages = ListProperty()
has_refreshed = True has_refreshed = True
# delete_index = StringProperty() # delete_index = StringProperty()
@ -1231,9 +1249,11 @@ class Trash(Screen):
"""Deleting message from trash""" """Deleting message from trash"""
self.children[1].active = True self.children[1].active = True
if self.table_name == 'inbox': if self.table_name == 'inbox':
sqlExecute("DELETE FROM inbox WHERE msgid = ?;", self.delete_index) sqlExecute(
"DELETE FROM inbox WHERE msgid = ?;", self.delete_index)
elif self.table_name == 'sent': elif self.table_name == 'sent':
sqlExecute("DELETE FROM sent WHERE ackdata = ?;", self.delete_index) sqlExecute(
"DELETE FROM sent WHERE ackdata = ?;", self.delete_index)
msg_count_objs = state.kivyapp.root.children[2].children[0].ids msg_count_objs = state.kivyapp.root.children[2].children[0].ids
if int(state.trash_count) > 0: if int(state.trash_count) > 0:
msg_count_objs.trash_cnt.badge_text = str( msg_count_objs.trash_cnt.badge_text = str(
@ -1271,6 +1291,7 @@ class Setting(Screen):
class NavigateApp(App): class NavigateApp(App):
"""Navigation Layout of class""" """Navigation Layout of class"""
# pylint: disable=too-many-public-methods # pylint: disable=too-many-public-methods
theme_cls = ThemeManager() theme_cls = ThemeManager()
previous_date = ObjectProperty() previous_date = ObjectProperty()
obj_1 = ObjectProperty() obj_1 = ObjectProperty()
@ -1742,6 +1763,7 @@ class NavigateApp(App):
class GrashofPopup(Popup): class GrashofPopup(Popup):
"""Moule for save contacts and error messages""" """Moule for save contacts and error messages"""
valid = False valid = False
def __init__(self, **kwargs): def __init__(self, **kwargs):
@ -1834,7 +1856,9 @@ class GrashofPopup(Popup):
elif status == 'missingbm': elif status == 'missingbm':
text = "The address should start with ''BM-''" text = "The address should start with ''BM-''"
elif status == 'checksumfailed': elif status == 'checksumfailed':
text = "The address is not typed or copied correctly(the checksum failed)." text = (
"The address is not typed or copied correctly"
" (the checksum failed).")
elif status == 'versiontoohigh': elif status == 'versiontoohigh':
text = ( text = (
"The version number of this address is higher than this" "The version number of this address is higher than this"
@ -1896,6 +1920,7 @@ class NavigationDrawerTwoLineListItem(
class MailDetail(Screen): class MailDetail(Screen):
"""MailDetail Screen uses to show the detail of mails""" """MailDetail Screen uses to show the detail of mails"""
to_addr = StringProperty() to_addr = StringProperty()
from_addr = StringProperty() from_addr = StringProperty()
subject = StringProperty() subject = StringProperty()
@ -2043,6 +2068,7 @@ class MailDetail(Screen):
class MyaddDetailPopup(Popup): class MyaddDetailPopup(Popup):
"""MyaddDetailPopup pop is used for showing my address detail""" """MyaddDetailPopup pop is used for showing my address detail"""
address_label = StringProperty() address_label = StringProperty()
address = StringProperty() address = StringProperty()
@ -2075,6 +2101,7 @@ class MyaddDetailPopup(Popup):
class AddbookDetailPopup(Popup): class AddbookDetailPopup(Popup):
"""AddbookDetailPopup pop is used for showing my address detail""" """AddbookDetailPopup pop is used for showing my address detail"""
address_label = StringProperty() address_label = StringProperty()
address = StringProperty() address = StringProperty()
@ -2154,6 +2181,7 @@ class ShowQRCode(Screen):
class Draft(Screen): class Draft(Screen):
"""Draft screen is used to show the list of draft messages""" """Draft screen is used to show the list of draft messages"""
data = ListProperty() data = ListProperty()
account = StringProperty() account = StringProperty()
queryreturn = ListProperty() queryreturn = ListProperty()
@ -2284,10 +2312,12 @@ class Draft(Screen):
sqlExecute("DELETE FROM sent WHERE ackdata = ?;", data_index) sqlExecute("DELETE FROM sent WHERE ackdata = ?;", data_index)
try: try:
msg_count_objs = ( msg_count_objs = (
self.parent.parent.parent.parent.parent.children[2].children[0].ids) self.parent.parent.parent.parent.parent.children[
2].children[0].ids)
except Exception: except Exception:
msg_count_objs = self.parent.parent.parent.parent.parent.parent.children[ msg_count_objs = (
2].children[0].ids self.parent.parent.parent.parent.parent.parent.children[
2].children[0].ids)
# msg_count_objs = self.parent.parent.parent.parent.parent.children[ # msg_count_objs = self.parent.parent.parent.parent.parent.children[
# 2].children[0].ids # 2].children[0].ids
if int(state.draft_count) > 0: if int(state.draft_count) > 0:
@ -2354,6 +2384,7 @@ class CustomSpinner(Spinner):
class Allmails(Screen): class Allmails(Screen):
"""All mails Screen uses screen to show widgets of screens""" """All mails Screen uses screen to show widgets of screens"""
data = ListProperty() data = ListProperty()
has_refreshed = True has_refreshed = True
all_mails = ListProperty() all_mails = ListProperty()
@ -2489,8 +2520,9 @@ class Allmails(Screen):
2].children[0].ids 2].children[0].ids
nav_lay_obj = self.parent.parent.parent.parent.parent.ids nav_lay_obj = self.parent.parent.parent.parent.parent.ids
except Exception: except Exception:
msg_count_objs = self.parent.parent.parent.parent.parent.parent.children[ msg_count_objs = (
2].children[0].ids self.parent.parent.parent.parent.parent.parent.children[
2].children[0].ids)
nav_lay_obj = self.parent.parent.parent.parent.parent.parent.ids nav_lay_obj = self.parent.parent.parent.parent.parent.parent.ids
if folder == 'inbox': if folder == 'inbox':
msg_count_objs.inbox_cnt.badge_text = str( msg_count_objs.inbox_cnt.badge_text = str(
@ -2584,4 +2616,5 @@ class LoadingPopup(Popup):
class AddressDropdown(OneLineIconListItem): class AddressDropdown(OneLineIconListItem):
"""AddressDropdown showns all the addresses""" """AddressDropdown showns all the addresses"""
pass pass