36 lines
955 B
Python
36 lines
955 B
Python
|
import time
|
||
|
class BasicNotebook:
|
||
|
def __init__(self):
|
||
|
self.messages = {}
|
||
|
|
||
|
def _addToNotes(self,touser,msgformat):
|
||
|
if touser in self.messages:
|
||
|
self.messages[touser].append(msgformat)
|
||
|
else:
|
||
|
self.messages[touser]=[msgformat]
|
||
|
|
||
|
def addNote(self,touser,fromuser,msg):
|
||
|
self._addToNotes(touser,[fromuser,msg])
|
||
|
|
||
|
def _readNotes(self,user,fmtstr):
|
||
|
if not self.checkNotes(user):
|
||
|
return []
|
||
|
ret = []
|
||
|
for messageI in self.messages[user]:
|
||
|
ret.append(fmtstr.format(*messageI))
|
||
|
del self.messages[user]
|
||
|
return ret
|
||
|
|
||
|
def readNotes(self,user):
|
||
|
return self._readNotes(user,"{0} left a message: {1}")
|
||
|
|
||
|
def checkNotes(self,user):
|
||
|
return user in self.messages.keys()
|
||
|
|
||
|
class DatedNotebook(BasicNotebook):
|
||
|
def addNote(self,touser,fromuser,msg):
|
||
|
self._addToNotes(touser,[fromuser,msg,time.strftime("%H:%M:%S"),time.strftime("%A, %B %d, %Y")])
|
||
|
|
||
|
def readNotes(self,user):
|
||
|
return self._readNotes(user,"{0} left a message at {2} on {3}: {1}")
|