[Nym3-commit] r48 - trunk

nym3-devel@lists.noreply.org nym3-devel@lists.noreply.org
Sun, 01 Aug 2004 19:29:04 +0200


Author: laurent
Date: 2004-08-01 19:29:00 +0200 (Sun, 01 Aug 2004)
New Revision: 48

Modified:
   trunk/User.py
Log:
Incoming message storing has a better chance to work now.


Modified: trunk/User.py
===================================================================
--- trunk/User.py	2004-08-01 15:54:36 UTC (rev 47)
+++ trunk/User.py	2004-08-01 17:29:00 UTC (rev 48)
@@ -4,6 +4,7 @@
 import Mail
 import pickle
 import string
+import time
 
 class NoSuchUser(Exception): pass
 
@@ -45,13 +46,16 @@
 	os.unlink(fname)
 	return ec
 
-    def store(msg):
+    def store(self, msg):
 	"Store an incoming message"
 	syn = Mail.synopsize(msg)
-	mbox = Config.path + os.sep + self.data.username + '.mbox'
-	f = open(mbox, 'r') # TODO : Locks?
-	self.mbox = pickle.load(f)
-	f.close()
+	mbox = Config.path + os.sep + self.data['username'] + '.mbox'
+	try:
+	    f = open(mbox, 'r') # TODO : Locks?
+	    self.mbox = pickle.load(f)
+	    f.close()
+	except IOError:
+	    self.mbox = {}
 	mid = Mail.genMid()
 	while self.mbox.has_key(mid): mid = Mail.genMid()
 	self.mbox[mid] = msg # TODO : this is where we're supposed to crypt.
@@ -59,10 +63,13 @@
 	pickle.dump(self.mbox, f)
 	f.close()
 
-	synbox = Config.path + os.sep + self.data.username + '.syn'
-	f = open(synbox, 'r') # TODO : Locks?
-	self.syn = pickle.load(f)
-	f.close()
+	synbox = Config.path + os.sep + self.data['username'] + '.syn'
+	try:
+	    f = open(synbox, 'r') # TODO : Locks?
+	    self.syn = pickle.load(f)
+	    f.close()
+	except IOError:
+	    self.syn = []
 	self.syn.append({'time' : int(time.time()), 'encrypted' : 0,
 			 'mid' : mid, 'synopsis' : syn})
 	f = open(synbox, 'w') # TODO : Locks?
@@ -71,6 +78,5 @@
 	
 if __name__ == '__main__':
     a = User('laurent')
-    import time
     ec = a.relay("NYM3 TEST : " + repr(time.time()))
     print "Errorcode is " + repr(ec)