Update of /cvsroot/mailman/mailman/Mailman
In directory sc8-pr-cvs1:/tmp/cvs-serv11657/Mailman

Modified Files:
      Tag: Release_2_1-maint
        Pending.py 
Log Message:
repend(): An interface for putting request data back into the request
database.


Index: Pending.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Pending.py,v
retrieving revision 2.9.2.2
retrieving revision 2.9.2.3
diff -u -d -r2.9.2.2 -r2.9.2.3
--- Pending.py  22 Sep 2003 02:58:13 -0000      2.9.2.2
+++ Pending.py  1 Dec 2003 00:56:11 -0000       2.9.2.3
@@ -62,10 +62,9 @@
     # It's a programming error if this assertion fails!  We do it this way so
     # the assert test won't fail if the sequence is empty.
     assert content[:1] in _ALLKEYS
-
     # Get a lock handle now, but only lock inside the loop.
-    lock = LockFile.LockFile(LOCKFILE,
-                             withlogging=mm_cfg.PENDINGDB_LOCK_DEBUGGING)
+    lock = LockFile.LockFile(
+        LOCKFILE, withlogging=mm_cfg.PENDINGDB_LOCK_DEBUGGING)
     # We try the main loop several times. If we get a lock error somewhere
     # (for instance because someone broke the lock) we simply try again.
     retries = mm_cfg.PENDINGDB_LOCK_ATTEMPTS
@@ -128,7 +127,6 @@
         if content is missing:
             return None
         return content
-
     # Get a lock handle now, but only lock inside the loop.
     lock = LockFile.LockFile(LOCKFILE,
                              withlogging=mm_cfg.PENDINGDB_LOCK_DEBUGGING)
@@ -166,6 +164,22 @@
 
 
 
+def repend(cookie, data):
+    # Get a lock
+    lock = LockFile.LockFile(
+        LOCKFILE, withlogging=mm_cfg.PENDINGDB_LOCK_DEBUGGING)
+    lock.lock()
+    try:
+        # Load the database
+        db = _load()
+        db[cookie] = data
+        db['evictions'][cookie] = time.time() + mm_cfg.PENDING_REQUEST_LIFE
+        _save(db, lock)
+    finally:
+        lock.unlock()
+
+
+
 def _load():
     # The list's lock must be acquired if you wish to alter data and save.
     #
@@ -190,6 +204,7 @@
             fp.close()
 
 
+
 def _save(db, lock):
     # Lock must be acquired before loading the data that is now being saved.
     if not lock.locked():



_______________________________________________
Mailman-checkins mailing list
[EMAIL PROTECTED]
Unsubscribe: http://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to