[Nym3-commit] r50 - trunk

nym3-devel@lists.noreply.org nym3-devel@lists.noreply.org
Sun, 01 Aug 2004 23:58:35 +0200


Author: laurent
Date: 2004-08-01 23:58:34 +0200 (Sun, 01 Aug 2004)
New Revision: 50

Modified:
   trunk/User.py
Log:
Add a function to clean used surbs.


Modified: trunk/User.py
===================================================================
--- trunk/User.py	2004-08-01 17:39:22 UTC (rev 49)
+++ trunk/User.py	2004-08-01 21:58:34 UTC (rev 50)
@@ -6,6 +6,8 @@
 import string
 import time
 
+surb_len = 2104
+
 class NoSuchUser(Exception): pass
 
 class User:
@@ -38,6 +40,7 @@
 
     def relay(self, msg):
 	fname = '/tmp/' + Mail.mid2filename(Mail.genMid())
+	# TODO : chose a temp file.
 	fname = string.strip(fname)
 	f = open(fname, 'w')
 	f.write(msg)
@@ -46,6 +49,33 @@
 	os.unlink(fname)
 	return ec
 
+    def clean_surbs(self):
+	"Inspect the surbs and delete the used/outdated"
+	fname = self.surbfile()
+	f = open(fname, "r")
+	buffer = f.read()
+	f.close()
+	surbs = []
+	while len(buffer) > 0:
+	    surbs.append(buffer[:surb_len])
+	    buffer = buffer[surb_len:]
+
+	goods = []
+	for surb in surbs:
+	    fname = '/tmp/' + Mail.mid2filename(Mail.genMid())
+	    fname = string.strip(fname)
+	    f = open(fname, 'w')
+	    f.write(surb)
+	    f.close()
+	    ec = os.system("mixminion inspect-surb " + fname + 
+			   " |grep 'Used: no'")
+	    os.unlink(fname)
+	    if ec == 0: goods.append(surb)
+	f = open(self.surbfile())
+	for surb in goods: f.write(surb)
+	f.close()
+	
+
     def store(self, msg):
 	"Store an incoming message"
 	syn = Mail.synopsize(msg)