Update of /cvsroot/tmda/tmda/TMDA
In directory sc8-pr-cvs1:/tmp/cvs-serv15861/TMDA

Modified Files:
        Pending.py 
Log Message:
Add a set of methods to list pendings based on their
delivery status. i.e,

- only pending (undelivered) messages.
- only delivered messages.
- only messages delivered by confirmation.
- only messages delivered by release.


Index: Pending.py
===================================================================
RCS file: /cvsroot/tmda/tmda/TMDA/Pending.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Pending.py  25 Nov 2002 18:45:10 -0000      1.3
+++ Pending.py  25 Nov 2002 19:31:56 -0000      1.4
@@ -125,10 +125,33 @@
             self.stdout.write('\n')
         else:
             return
-    
+
     def listIds(self):
-        """Retrun the list of message identifiers."""
+        """Return the full list of message identifiers (both pending
+        and delivered)."""
         return self.msgs
+
+    def listConfirmedIds(self):
+        """Return the list of messages delivered by confirmation."""
+        return filter(lambda x: x.endswith(',C'), self.listIds())
+
+    def listReleasedIds(self):
+        """Return the list of messages delivered by release."""
+        return filter(lambda x: x.endswith(',R'), self.listIds())
+
+    def listDeliveredIds(self):
+        """Return the list of delivered (i.e, confirmed or released)
+        messages."""
+        return self.listConfirmedIds() + self.listReleasedIds()
+
+    def listPendingIds(self):
+        """Return the list of still pending (i.e, not yet confirmed or
+        released) messages."""
+        return filter(lambda x:
+                      x not in self.listDeliveredIds(), self.listIds()) + \
+               filter(lambda x:
+                      x not in self.listIds(), self.listDeliveredIds())
+        
     
     ## Cache related functions (-C option)
     def _loadCache(self):

_______________________________________
tmda-cvs mailing list
http://tmda.net/lists/listinfo/tmda-cvs

Reply via email to