third_party/blink/renderer/bindings/scripts/utilities.py
def format_remove_duplicates(text, patterns):
    """Removes duplicated line-basis patterns.

    Based on simple pattern matching, removes duplicated lines in a block
    of lines.  Lines that match with a same pattern are considered as
    duplicates.

    Designed to be used as a filter function for Jinja2.

    Args:
        text: A str of multi-line text.
        patterns: A list of str where each str represents a simple
            pattern.  The patterns are not considered as regexp, and
            exact match is applied.

    Returns:
        A formatted str with duplicates removed.
    """
    pattern_founds = [False] * len(patterns)
    output = []
    for line in text.split('\n'):
        to_be_removed = False
        for i, pattern in enumerate(patterns):
            if pattern not in line:
                continue
            if pattern_founds[i]:
                to_be_removed = True
            else:
                pattern_founds[i] = True
        if to_be_removed:
            continue
        output.append(line)

    # Let |'\n'.join| emit the last newline.
    if output:
        output.append('')

    return '\n'.join(output)
Removes duplicated line-basis patterns.

    Based on simple pattern matching, removes duplicated lines in a block
    of lines.  Lines that match with a same pattern are considered as
    duplicates.

    Designed to be used as a filter function for Jinja2.

    Args:
        text: A str of multi-line text.
        patterns: A list of str where each str represents a simple
            pattern.  The patterns are not considered as regexp, and
            exact match is applied.

    Returns:
        A formatted str with duplicates removed.
    
Removes duplicated line-basis patterns.
Based on simple pattern matching, removes duplicated lines in a block
of lines.  Lines that match with a same pattern are considered as
duplicates.

Designed to be used as a filter function for Jinja2.
Removes duplicated line - basis patterns . Based on simple pattern matching removes duplicated lines in a block of lines . Lines that match with a same pattern are considered as duplicates . Designed to be used as a filter function for Jinja2 .
def format_remove_duplicates(text, patterns):
    pattern_founds = [False] * len(patterns)
    output = []
    for line in text.split('\n'):
        to_be_removed = False
        for i, pattern in enumerate(patterns):
            if pattern not in line:
                continue
            if pattern_founds[i]:
                to_be_removed = True
            else:
                pattern_founds[i] = True
        if to_be_removed:
            continue
        output.append(line)
    if output:
        output.append('')
    return '\n'.join(output)
def format_remove_duplicates ( text , patterns ) : pattern_founds = [ False ] * len ( patterns ) output = [ ] for line in text . split ( '\n' ) : to_be_removed = False for i , pattern in enumerate ( patterns ) : if pattern not in line : continue if pattern_founds [ i ] : to_be_removed = True else : pattern_founds [ i ] = True if to_be_removed : continue output . append ( line ) if output : output . append ( '' ) return '\n' . join ( output )
Removes duplicated line-basis patterns.
Removes duplicated line - basis patterns .
"""Removes duplicated line-basis patterns.

    Based on simple pattern matching, removes duplicated lines in a block
    of lines.  Lines that match with a same pattern are considered as
    duplicates.

    Designed to be used as a filter function for Jinja2.

    Args:
        text: A str of multi-line text.
        patterns: A list of str where each str represents a simple
            pattern.  The patterns are not considered as regexp, and
            exact match is applied.

    Returns:
        A formatted str with duplicates removed.
    """ # Let |'\n'.join| emit the last newline.
A formatted str with duplicates removed.
A formatted str with duplicates removed .
text
A str of multi-line text.
A str of multi - line text .
patterns
A list of str where each str represents a simple
pattern.  The patterns are not considered as regexp, and
exact match is applied.
A list of str where each str represents a simple pattern . The patterns are not considered as regexp and exact match is applied .