def apply(self, source):
        """
        Performs filtration logic
        @rtype : iter
        @param source: iterable of strings, that represents content for filtration
        @return: iterable of strings, result of applying logic of filtration
        """
        previous_line_suitable = False

        result = []

        for line in source:
            if is_line_separate_record(line):
                for template in self.settings.templates:
                    if template in line:
                        result.append(line)
                        previous_line_suitable = True
                        break
                    previous_line_suitable = False
            else:
                if self.settings.multiple_lines_support and previous_line_suitable:
                    result.append(line)
                    previous_line_suitable = True
                else:
                    previous_line_suitable = False

        return result
Exemple #2
0
    def apply(self, source):
        result = []
        first_date = self.settings.first_date

        moment_found = False
        for line in source:
            if moment_found:
                result.append(line)
            elif is_line_separate_record(line):
                date_from_line = get_date_from_line(line)
                if date_from_line >= first_date:
                    moment_found = True
                    result.append(line)

        return result
    def apply(self, source):
        result = []
        first_date = self.settings.first_date

        moment_found = False
        for line in source:
            if moment_found:
                result.append(line)
            elif is_line_separate_record(line):
                date_from_line = get_date_from_line(line)
                if date_from_line >= first_date:
                    moment_found = True
                    result.append(line)

        return result
    def apply(self, source):
        result = []

        previous_date = datetime.datetime.now()

        for line in source:
            if is_line_separate_record(line):
                current_date = TimeFilter.get_date_from_line(line)
                delta_date = current_date - previous_date
                #print("delta_date:" + str(delta_date))
                #print("time_delta:" + str(self.settings.time_delta))
                #print("")
                if delta_date > self.settings.time_delta:
                    #print("add separator")
                    result.append(self.settings.separator)
                    result.append("\n")
                previous_date = current_date
            result.append(line)

        return result
    def apply(self, source):
        result = []

        previous_date = datetime.datetime.now()

        for line in source:
            if is_line_separate_record(line):
                current_date = TimeFilter.get_date_from_line(line)
                delta_date = current_date - previous_date
                #print("delta_date:" + str(delta_date))
                #print("time_delta:" + str(self.settings.time_delta))
                #print("")
                if delta_date > self.settings.time_delta:
                    #print("add separator")
                    result.append(self.settings.separator)
                    result.append("\n")
                previous_date = current_date
            result.append(line)

        return result