--- 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