From 9fcc469afa01fc9ea42e4cbb96c5b195c5bcd371 Mon Sep 17 00:00:00 2001 From: Tom Date: Wed, 11 Jan 2012 17:00:30 +0100 Subject: all reupped --- Src/PyCatcher/src/filters.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Src/PyCatcher/src/filters.py (limited to 'Src/PyCatcher/src/filters.py') diff --git a/Src/PyCatcher/src/filters.py b/Src/PyCatcher/src/filters.py new file mode 100644 index 0000000..6247aac --- /dev/null +++ b/Src/PyCatcher/src/filters.py @@ -0,0 +1,31 @@ +class Filter: + def __init__(self): + self.is_active = False + self.params = {} + + def execute(self, station_list): + raise NotImplementedError('Filter not yet implemented') + +class ARFCNFilter(Filter): + def execute(self, station_list): + filtered_list = [] + low = self.params['from'] + high = self.params['to'] + for station in station_list: + if station.arfcn <= high and station.arfcn >= low: + filtered_list.append(station) + return filtered_list + +class ProviderFilter(Filter): + def execute(self, station_list): + filtered_list = [] + providers = [x.strip() for x in self.params['providers'].split(',')] + for station in station_list: + if station.provider in providers: + filtered_list.append(station) + return filtered_list + +#FIXME: provide extra abstraction for parameterless filters (on/off filters) +class FoundFilter(Filter): + def execute(self, station_list): + pass \ No newline at end of file -- cgit v1.2.3-55-g7522