def load(self):
        self.currently_loading = True
        f = codecs.open(self.filename, 'r', 'utf-8')
        s = f.read()
        # Search for groups and load filters for each group
        start = 0
        end = 0
        while end >= 0:
            group_pos = s.find('#GROUP ', start)
            if group_pos >= 0:
                self._load_filter_group(s[start:group_pos], None)

                lines = s[group_pos:].splitlines()
                group = lines[0][7:]
                self.add_group(group, lines[1].strip() == '#EXCLUSIVE')

                end = s.find('#ENDGROUP', group_pos)
                if end >= 0:
                    self._load_filter_group(s[group_pos:end], group)
                else:
                    self._load_filter_group(s[group_pos:], group)
                start = end
            else:
                end = group_pos

        if start >= 0:
            self._load_filter_group(s[start:], None)

        f.close()
        self.currently_loading = False
Execute a N1QL statement providing a custom handler for rows.
dataset/ETHPy150Open rproepp/spykeviewer/spykeviewer/plugin_framework/filter_manager.py/FilterManager.load--crossover with--dataset/ETHPy150Open couchbase/couchbase-python-client/txcouchbase/bucket.py/RawBucket.n1qlQueryEx