Skip to content

Commit 410b35f

Browse files
authored
Merge pull request Bitmessage#40 from navjotcis/newwork
worked on implementing sql query for sent and inbox on the bases of u…
2 parents 6cf9d40 + f3f6715 commit 410b35f

3 files changed

Lines changed: 44 additions & 47 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ docs/_*/*
1919
docs/autodoc/
2020
pyan/
2121
.buildozer/
22-
bin/
22+
bin/
23+
src/images/default_identicon/

src/bitmessagekivy/mpybit.py

Lines changed: 41 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def loadMessagelist(self, account, where="", what=""):
119119
'secondary_text': mail[5][:50] + '........' if len(
120120
mail[5]) >= 50 else (
121121
mail[5] + ',' + mail[3].replace('\n', ''))[0:50] + '........',
122-
'receivedTime': mail[6]})
122+
'msgid': mail[1]})
123123
for item in data:
124124
meny = TwoLineAvatarIconListItem(
125125
text=item['text'],
@@ -130,7 +130,7 @@ def loadMessagelist(self, account, where="", what=""):
130130
source='./images/text_images/{}.png'.format(
131131
avatarImageFirstLetter(item['secondary_text'].strip()))))
132132
meny.bind(on_press=partial(
133-
self.inbox_detail, item['receivedTime']))
133+
self.inbox_detail, item['msgid']))
134134
carousel = Carousel(direction='right')
135135
carousel.height = meny.height
136136
carousel.size_hint_y = None
@@ -141,13 +141,13 @@ def loadMessagelist(self, account, where="", what=""):
141141
del_btn.background_normal = ''
142142
del_btn.background_color = (1, 0, 0, 1)
143143
del_btn.bind(on_press=partial(
144-
self.delete, item['receivedTime']))
144+
self.delete, item['msgid']))
145145
carousel.add_widget(del_btn)
146146
carousel.add_widget(meny)
147147
ach_btn = Button(text='Achieve')
148148
ach_btn.background_color = (0, 1, 0, 1)
149149
ach_btn.bind(on_press=partial(
150-
self.archive, item['receivedTime']))
150+
self.archive, item['msgid']))
151151
carousel.add_widget(ach_btn)
152152
carousel.index = 1
153153
self.ids.ml.add_widget(carousel)
@@ -163,10 +163,10 @@ def loadMessagelist(self, account, where="", what=""):
163163
valign='top')
164164
self.ids.ml.add_widget(content)
165165

166-
def inbox_detail(self, receivedTime, *args):
166+
def inbox_detail(self, msg_id, *args):
167167
"""Load inbox page details."""
168168
state.detailPageType = 'inbox'
169-
state.sentMailTime = receivedTime
169+
state.mail_id = msg_id
170170
if self.manager:
171171
src_mng_obj = self.manager
172172
else:
@@ -178,7 +178,7 @@ def inbox_detail(self, receivedTime, *args):
178178
def delete(self, data_index, instance, *args):
179179
"""Delete inbox mail from inbox listing."""
180180
sqlExecute(
181-
"UPDATE inbox SET folder = 'trash' WHERE received = {};".format(
181+
"UPDATE inbox SET folder = 'trash' WHERE msgid = ?;",str(
182182
data_index))
183183
try:
184184
msg_count_objs = \
@@ -207,7 +207,7 @@ def delete(self, data_index, instance, *args):
207207
def archive(self, data_index, instance, *args):
208208
"""Archive inbox mail from inbox listing."""
209209
sqlExecute(
210-
"UPDATE inbox SET folder = 'trash' WHERE received = {};".format(
210+
"UPDATE inbox SET folder = 'trash' WHERE msgid = ?;",str(
211211
data_index))
212212
self.ids.ml.remove_widget(instance.parent.parent)
213213
self.update_trash()
@@ -465,15 +465,15 @@ def send(self, navApp): # pylint: disable=too-many-statements, inconsistent-
465465
if status == 'success':
466466
if state.detailPageType == 'draft' and state.send_draft_mail:
467467
sqlExecute(
468-
"UPDATE sent SET toaddress = '{0}' \
469-
, fromaddress ='{1}' , subject = '{2}'\
470-
, message = '{3}', folder = 'sent'\
471-
WHERE lastactiontime = '{4}';".format(
468+
"UPDATE sent SET toaddress = ? \
469+
, fromaddress = ? , subject = ?\
470+
, message = ?, folder = 'sent'\
471+
WHERE ackdata = ?;",
472472
toAddress,
473473
fromAddress,
474474
subject,
475475
message,
476-
state.send_draft_mail))
476+
str(state.send_draft_mail))
477477
self.parent.parent.screens[15].clear_widgets()
478478
self.parent.parent.screens[15].add_widget(Draft())
479479
state.detailPageType = ''
@@ -690,12 +690,12 @@ def generateaddress(self, navApp):
690690
label, 1, "", eighteenByteRipe,
691691
nonceTrialsPerByte,
692692
payloadLengthExtraBytes))
693-
self.manager.current = 'myaddress'
694693
self.ids.label.text = ''
695694
self.parent.parent.parent.parent.ids.toolbar.opacity = 1
696695
self.parent.parent.parent.parent.ids.toolbar.disabled = False
697696
self.parent.parent.parent.parent.ids.sc10.ids.ml.clear_widgets()
698697
self.parent.parent.parent.parent.ids.sc10.init_ui()
698+
self.manager.current = 'myaddress'
699699
toast('New address created')
700700

701701

@@ -752,7 +752,7 @@ def loadSent(self, account, where="", what=""):
752752
'secondary_text': mail[2][:50] + '........' if len(
753753
mail[2]) >= 50 else (
754754
mail[2] + ',' + mail[3].replace('\n', ''))[0:50] + '........',
755-
'lastactiontime': mail[6]})
755+
'ackdata': mail[5]})
756756
for item in data:
757757
meny = TwoLineAvatarIconListItem(
758758
text=item['text'],
@@ -763,7 +763,7 @@ def loadSent(self, account, where="", what=""):
763763
source='./images/text_images/{}.png'.format(
764764
avatarImageFirstLetter(item['secondary_text'].strip()))))
765765
meny.bind(on_press=partial(
766-
self.sent_detail, item['lastactiontime']))
766+
self.sent_detail, item['ackdata']))
767767
carousel = Carousel(direction='right')
768768
carousel.height = meny.height
769769
carousel.size_hint_y = None
@@ -774,13 +774,13 @@ def loadSent(self, account, where="", what=""):
774774
del_btn.background_normal = ''
775775
del_btn.background_color = (1, 0, 0, 1)
776776
del_btn.bind(on_press=partial(
777-
self.delete, item['lastactiontime']))
777+
self.delete, item['ackdata']))
778778
carousel.add_widget(del_btn)
779779
carousel.add_widget(meny)
780780
ach_btn = Button(text='Achieve')
781781
ach_btn.background_color = (0, 1, 0, 1)
782782
ach_btn.bind(on_press=partial(
783-
self.archive, item['lastactiontime']))
783+
self.archive, item['ackdata']))
784784
carousel.add_widget(ach_btn)
785785
carousel.index = 1
786786
self.ids.ml.add_widget(carousel)
@@ -796,10 +796,10 @@ def loadSent(self, account, where="", what=""):
796796
valign='top')
797797
self.ids.ml.add_widget(content)
798798

799-
def sent_detail(self, lastsenttime, *args):
799+
def sent_detail(self, ackdata, *args):
800800
"""Load sent mail details."""
801801
state.detailPageType = 'sent'
802-
state.sentMailTime = lastsenttime
802+
state.mail_id = ackdata
803803
if self.manager:
804804
src_mng_obj = self.manager
805805
else:
@@ -828,7 +828,7 @@ def delete(self, data_index, instance, *args):
828828
state.all_count = str(int(state.all_count) - 1)
829829
sqlExecute(
830830
"UPDATE sent SET folder = 'trash' \
831-
WHERE lastactiontime = {};".format(data_index))
831+
WHERE ackdata = ?;",str(data_index))
832832
self.ids.ml.remove_widget(instance.parent.parent)
833833
toast('Deleted')
834834
self.update_trash()
@@ -837,7 +837,7 @@ def archive(self, data_index, instance, *args):
837837
"""Archive sent mail from sent mail listing."""
838838
sqlExecute(
839839
"UPDATE sent SET folder = 'trash' \
840-
WHERE lastactiontime = {};".format(data_index))
840+
WHERE ackdata = ?;",str(data_index))
841841
self.ids.ml.remove_widget(instance.parent.parent)
842842
self.update_trash()
843843

@@ -1422,16 +1422,15 @@ def init_ui(self, dt=0):
14221422
if state.detailPageType == 'sent' or state.detailPageType == 'draft':
14231423
data = sqlQuery(
14241424
"select toaddress, fromaddress, subject, message, status, \
1425-
ackdata from sent where lastactiontime = {};".format(
1426-
state.sentMailTime))
1425+
ackdata from sent where ackdata = ?;", state.mail_id)
14271426
state.status = self
14281427
state.ackdata = data[0][5]
14291428
self.assign_mail_details(data)
14301429
state.kivyapp.set_mail_detail_header()
14311430
elif state.detailPageType == 'inbox':
14321431
data = sqlQuery(
14331432
"select toaddress, fromaddress, subject, message from inbox \
1434-
where received = {};".format(state.sentMailTime))
1433+
where msgid = ?;",str(state.mail_id))
14351434
self.assign_mail_details(data)
14361435
state.kivyapp.set_mail_detail_header()
14371436

@@ -1455,23 +1454,20 @@ def delete_mail(self):
14551454
if state.detailPageType == 'sent':
14561455
sqlExecute(
14571456
"UPDATE sent SET folder = 'trash' WHERE \
1458-
lastactiontime = {};".format(state.sentMailTime))
1457+
ackdata = ?;", str(state.mail_id))
14591458
msg_count_objs.send_cnt.badge_text = str(int(state.sent_count) - 1)
14601459
state.sent_count = str(int(state.sent_count) - 1)
14611460
self.parent.screens[3].ids.ml.clear_widgets()
14621461
self.parent.screens[3].loadSent(state.association)
14631462
elif state.detailPageType == 'inbox':
14641463
sqlExecute(
14651464
"UPDATE inbox SET folder = 'trash' WHERE \
1466-
received = {};".format(state.sentMailTime))
1467-
# msg_count_objs.inbox_cnt.badge_text = str(
1468-
# int(state.inbox_count) - 1)
1469-
# state.inbox_count = str(int(state.inbox_count) - 1)
1465+
msgid = ?;",str(state.mail_id))
14701466
self.parent.screens[0].ids.ml.clear_widgets()
14711467
self.parent.screens[0].loadMessagelist(state.association)
14721468
elif state.detailPageType == 'draft':
1473-
sqlExecute("DELETE FROM sent WHERE lastactiontime = '{}';".format(
1474-
state.sentMailTime))
1469+
sqlExecute("DELETE FROM sent WHERE ackdata = ?;",str(
1470+
state.mail_id))
14751471
msg_count_objs.draft_cnt.badge_text = str(int(state.draft_count) - 1)
14761472
state.draft_count = str(int(state.draft_count) - 1)
14771473
self.parent.screens[15].clear_widgets()
@@ -1494,7 +1490,7 @@ def inbox_reply(self):
14941490
"""Method used for replying inbox messages."""
14951491
data = sqlQuery(
14961492
"select toaddress, fromaddress, subject, message from inbox where \
1497-
received = {};".format(state.sentMailTime))
1493+
msgid = ?;",str(state.mail_id))
14981494
composer_obj = self.parent.screens[2].children[0].ids
14991495
composer_obj.ti.text = data[0][0]
15001496
composer_obj.btn.text = data[0][0]
@@ -1511,7 +1507,7 @@ def copy_sent_mail(self):
15111507

15121508
def write_msg(self, navApp):
15131509
"""Method used to write on draft mail."""
1514-
state.send_draft_mail = state.sentMailTime
1510+
state.send_draft_mail = state.mail_id
15151511
composer_ids = \
15161512
self.parent.parent.parent.parent.ids.sc3.children[0].ids
15171513
composer_ids.ti.text = state.write_msg['from_addr']
@@ -1662,7 +1658,7 @@ def loadDraft(self, account, where="", what=""):
16621658
mail[2]) > 10 else mail[2] + '\n' + " " + (
16631659
third_text[:25] + '...!') if len(
16641660
third_text) > 25 else third_text,
1665-
'lastactiontime': mail[6]})
1661+
'ackdata': mail[5]})
16661662
for item in self.data:
16671663
meny = TwoLineAvatarIconListItem(
16681664
text='Draft',
@@ -1672,7 +1668,7 @@ def loadDraft(self, account, where="", what=""):
16721668
meny.add_widget(AvatarSampleWidget(
16731669
source='./images/avatar.png'))
16741670
meny.bind(on_press=partial(
1675-
self.draft_detail, item['lastactiontime']))
1671+
self.draft_detail, item['ackdata']))
16761672
carousel = Carousel(direction='right')
16771673
carousel.height = meny.height
16781674
carousel.size_hint_y = None
@@ -1683,7 +1679,7 @@ def loadDraft(self, account, where="", what=""):
16831679
del_btn.background_normal = ''
16841680
del_btn.background_color = (1, 0, 0, 1)
16851681
del_btn.bind(on_press=partial(
1686-
self.delete_draft, item['lastactiontime']))
1682+
self.delete_draft, item['ackdata']))
16871683
carousel.add_widget(del_btn)
16881684
carousel.add_widget(meny)
16891685
carousel.index = 1
@@ -1699,10 +1695,10 @@ def loadDraft(self, account, where="", what=""):
16991695
valign='top')
17001696
self.ids.ml.add_widget(content)
17011697

1702-
def draft_detail(self, lastsenttime, *args):
1698+
def draft_detail(self, ackdata, *args):
17031699
"""Method used to show draft Details."""
17041700
state.detailPageType = 'draft'
1705-
state.sentMailTime = lastsenttime
1701+
state.mail_id = ackdata
17061702
if self.manager:
17071703
src_mng_obj = self.manager
17081704
else:
@@ -1713,7 +1709,7 @@ def draft_detail(self, lastsenttime, *args):
17131709

17141710
def delete_draft(self, data_index, instance, *args):
17151711
"""Method used to delete draft message permanently."""
1716-
sqlExecute("DELETE FROM sent WHERE lastactiontime = '{}';".format(
1712+
sqlExecute("DELETE FROM sent WHERE ackdata = ?;",str(
17171713
data_index))
17181714
try:
17191715
msg_count_objs = \
@@ -1815,11 +1811,11 @@ def mailaccounts(self):
18151811
def loadMessagelist(self, account, where="", what=""):
18161812
"""Load Inbox, Sent anf Draft list of messages."""
18171813
inbox = sqlQuery(
1818-
"SELECT toaddress, fromaddress, subject, message, folder, received from\
1814+
"SELECT toaddress, fromaddress, subject, message, folder, msgid from\
18191815
inbox WHERE folder = 'inbox' and toaddress = '{}';".format(
18201816
account))
18211817
sent_and_draft = sqlQuery(
1822-
"SELECT toaddress, fromaddress, subject, message, folder, lastactiontime from sent \
1818+
"SELECT toaddress, fromaddress, subject, message, folder, ackdata from sent \
18231819
WHERE folder = 'sent' and fromaddress = '{}';".format(
18241820
account))
18251821

@@ -1870,7 +1866,7 @@ def mail_detail(self, unique_id, folder, *args):
18701866
"""Load sent and inbox mail details."""
18711867
state.detailPageType = folder
18721868
state.is_allmail = True
1873-
state.sentMailTime = unique_id
1869+
state.mail_id = unique_id
18741870
if self.manager:
18751871
src_mng_obj = self.manager
18761872
else:
@@ -1883,11 +1879,11 @@ def swipe_delete(self, unique_id, folder, instance, *args):
18831879
"""Delete inbox mail from all mail listing listing."""
18841880
if folder == 'inbox':
18851881
sqlExecute(
1886-
"UPDATE inbox SET folder = 'trash' WHERE received = {};".format(
1882+
"UPDATE inbox SET folder = 'trash' WHERE msgid = ?;",str(
18871883
unique_id))
18881884
else:
18891885
sqlExecute(
1890-
"UPDATE sent SET folder = 'trash' WHERE lastactiontime = {};".format(
1886+
"UPDATE sent SET folder = 'trash' WHERE ackdata = ?;",str(
18911887
unique_id))
18921888
self.ids.ml.remove_widget(instance.parent.parent)
18931889
try:

src/state.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def resetNetworkProtocolAvailability():
6767

6868
navinstance = None
6969

70-
sentMailTime = 0
70+
mail_id = 0
7171

7272
myAddressObj = None
7373

0 commit comments

Comments
 (0)