#-------------------------------------------------------------------------------
# Name: module2
# Purpose:
#
# Author: penglaixy
#
# Created: 31/08/2013
# Copyright: (c) penglaixy 2013
# Licence: <your licence>
#-------------------------------------------------------------------------------
class SMS_store:
def __init__(self):
self.message_list = []
pass
def add_new_arrival(self,from_number, time_arrived, text_of_SMS):
'''
Makes new SMS tuple, inserts it after other messages
in the store, When creating this message, its has_been_viewed status is
set False
'''
self.message_list.append((False,from_number,time_arrived, text_of_SMS))
def message_count(self):
'''
Returns the number of sms messages in my_inbox
'''
return len(self.message_list)
def get_unread_indexes(self):
'''
Returns list of indexes of all not-yet-viewed SMS message.
'''
ret_list = []
for (idx,mes) in enumerate(self.message_list):
if mes[0] == False:
ret_list.append(idx)
return ret_list
def get_message(self, i):
'''
Return (from_number, time_arrived, text_of_sms) for message[i]
Also change its state to "has been viewed".
If there is no meesage at position i, return None
'''
if i >= len(self.message_list):
return None
from_number = self.message_list[i][1]
time_arrived = self.message_list[i][2]
text_of_SMS = self.message_list[i][3]
if self.message_list[i][0] == False:
self.message_list[i] = (True, from_number, time_arrived, text_of_SMS)
return (from_number, time_arrived, text_of_SMS)
def clear(self):
'''
Delete all messages from inbox
'''
self.message_list = []
return
def delete(self, i):
'''
Delete the message at index i
'''
if i >= len(self.message_list):
return
self.message_list.pop(i)
return
def main():
my_inbox = SMS_store()
my_inbox.add_new_arrival("13008842985", "13:30","I miss you!")
my_inbox.add_new_arrival("13675852509", "14:30","I love you!")
my_inbox.add_new_arrival("13675825216", "14:30","Si pang zi!")
print my_inbox.message_list
print "My_inbox message number is {0}.".format(my_inbox.message_count())
print "In my_inbox message unread message index list are : {0}.\
".format(my_inbox.get_unread_indexes())
print my_inbox.get_message(1)
print my_inbox.message_list
print "In my_inbox message unread message index list are : {0}.\
".format(my_inbox.get_unread_indexes())
my_inbox.delete(1)
print my_inbox.message_list
my_inbox.clear()
print my_inbox.message_list
if __name__ == '__main__':
main()
[(False, '13008842985', '13:30', 'I miss you!'), (False, '13675852509', '14:30', 'I love you!'), (False, '13675825216', '14:30', 'Si pang zi!')]
My_inbox message number is 3.
In my_inbox message unread message index list are : [0, 1, 2].
('13675852509', '14:30', 'I love you!')
[(False, '13008842985', '13:30', 'I miss you!'), (True, '13675852509', '14:30', 'I love you!'), (False, '13675825216', '14:30', 'Si pang zi!')]
In my_inbox message unread message index list are : [0, 2].
[(False, '13008842985', '13:30', 'I miss you!'), (False, '13675825216', '14:30', 'Si pang zi!')]
[]