--- a/log_source.py Wed Feb 11 02:07:07 2009 +0200
+++ b/log_source.py Wed Feb 11 02:16:11 2009 +0200
@@ -162,11 +162,13 @@
abstract
- def get_modified (self, dt=None) :
+ def get_modified (self, dt=None, after=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 the datetime is not given, *all* lines are returned.
+
+ If after is given, only lines after said date will be returned, regardless of modification.
The LogLines should be in time order.
"""
@@ -413,9 +415,11 @@
else :
raise
- def _iter_logfile_dates (self) :
+ def _iter_logfile_dates (self, after=None) :
"""
- Yields a series of naive datetime objects representing the logfiles that are available, in time order
+ 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
"""
# listdir
@@ -427,12 +431,21 @@
# iter files
for filename in filenames :
try :
- # parse date + yield
- yield datetime.datetime.strptime(filename, self.filename_fmt).replace(tzinfo=self.tz)
+ # parse date
+ date = datetime.datetime.strptime(filename, self.filename_fmt).replace(tzinfo=self.tz)
except :
# ignore
continue
+
+ else :
+ # ignore after?
+ if after and date < after :
+ continue
+
+ else :
+ # yield
+ yield date
def _iter_date_reverse (self, dt=None) :
"""
@@ -604,13 +617,13 @@
# valid
yield dt.date()
- def get_modified (self, dt=None) :
+ def get_modified (self, dt=None, after=None) :
"""
Returns the contents off all logfiles with mtimes past the given date
"""
-
- # iterate through all available logfiles in date order, as datetimes
- for log_date in self._iter_logfile_dates() :
+
+ # iterate through all available logfiles in date order, as datetimes, from the given date on
+ for log_date in self._iter_logfile_dates(after) :
# compare against dt?
if dt :
# stat