log_source.py
changeset 103 0e829e6275dc
parent 102 e396613bc873
child 106 0690d715385d
--- a/log_source.py	Wed Feb 11 04:04:55 2009 +0200
+++ b/log_source.py	Wed Feb 11 04:14:22 2009 +0200
@@ -162,13 +162,14 @@
 
         abstract
     
-    def get_modified (self, dt=None, after=None) :
+    def get_modified (self, dt=None, after=None, until=None) :
         """
             Returns a sequence of LogLines that may have been *modified* from their old values since the given datetime.
 
             If the datetime is not given, *all* lines are returned.
 
             If after is given, only lines after said date will be returned, regardless of modification.
+            If until is given, only lines up to said date will be returned, regardless of modification.
 
             The LogLines should be in time order.
         """
@@ -415,11 +416,12 @@
             else :
                 raise
     
-    def _iter_logfile_dates (self, after=None) :
+    def _iter_logfile_dates (self, after=None, until=None) :
         """
             Yields a series of naive datetime objects representing the logfiles that are available, in time order.
 
             If after is given, only dates after said date will be returned
+            If until is given, only dates up to said date will be returned
         """
 
         # listdir
@@ -439,8 +441,12 @@
                 continue
 
             else :
+                # ignore before?
+                if after and date < after :
+                    continue
+                
                 # ignore after?
-                if after and date < after :
+                if until and date > until :
                     continue
 
                 else :
@@ -617,13 +623,13 @@
                 # valid
                 yield dt.date()
 
-    def get_modified (self, dt=None, after=None) :
+    def get_modified (self, dt=None, after=None, until=None) :
         """
             Returns the contents off all logfiles with mtimes past the given date
         """
 
         # iterate through all available logfiles in date order, as datetimes, from the given date on
-        for log_date in self._iter_logfile_dates(after) :
+        for log_date in self._iter_logfile_dates(after, until) :
             # compare against dt?
             if dt :
                 # stat