Revision 14614
Added by Aaron Marcuse-Kubitza over 10 years ago
trunk/lib/csvs.py | ||
---|---|---|
150 | 150 |
|
151 | 151 |
def next(self): return self.reader.next() |
152 | 152 |
|
153 |
class Filter: |
|
153 |
class Filter(WrapReader):
|
|
154 | 154 |
'''Wraps a reader, filtering each row''' |
155 | 155 |
def __init__(self, filter_, reader): |
156 |
self.reader = reader
|
|
156 |
WrapReader.__init__(self, reader)
|
|
157 | 157 |
self.filter = filter_ |
158 | 158 |
|
159 |
def __iter__(self): return self |
|
160 |
|
|
161 |
def next(self): return self.filter(self.reader.next()) |
|
162 |
|
|
163 |
def close(self): pass # support using as a stream |
|
159 |
def next(self): return self.filter(WrapReader.next(self)) |
|
164 | 160 |
|
165 | 161 |
class MultiFilter(Filter): |
166 | 162 |
'''enables applying multiple filters by nesting |
Also available in: Unified diff
lib/csvs.py: Filter: inherit from WrapReader, which separates out the CSV-reader API code