Project

General

Profile

« Previous | Next » 

Revision 14614

lib/csvs.py: Filter: inherit from WrapReader, which separates out the CSV-reader API code

View differences:

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