v2ex/babel/ext/bleach/__init__.py
def strip_wrapping_parentheses(fragment):
        """Strips wrapping parentheses.

        Returns a tuple of the following format::

            (string stripped from wrapping parentheses,
             count of stripped opening parentheses,
             count of stripped closing parentheses)
        """
        opening_parentheses = closing_parentheses = 0
        # Count consecutive opening parentheses
        # at the beginning of the fragment (string).
        for char in fragment:
            if char == '(':
                opening_parentheses += 1
            else:
                break

        if opening_parentheses:
            newer_frag = ''
            # Cut the consecutive opening brackets from the fragment.
            fragment = fragment[opening_parentheses:]
            # Reverse the fragment for easier detection of parentheses
            # inside the URL.
            reverse_fragment = fragment[::-1]
            skip = False
            for char in reverse_fragment:
                # Remove the closing parentheses if it has a matching
                # opening parentheses (they are balanced).
                if (char == ')' and
                        closing_parentheses < opening_parentheses and
                        not skip):
                    closing_parentheses += 1
                    continue
                # Do not remove ')' from the URL itself.
                elif char != ')':
                    skip = True
                newer_frag += char
            fragment = newer_frag[::-1]

        return fragment, opening_parentheses, closing_parentheses
Strips wrapping parentheses.

        Returns a tuple of the following format::

            (string stripped from wrapping parentheses,
             count of stripped opening parentheses,
             count of stripped closing parentheses)
        
Strips wrapping parentheses.
Returns a tuple of the following format:.

(string stripped from wrapping parentheses,
count of stripped opening parentheses,
count of stripped closing parentheses)
Strips wrapping parentheses . Returns a tuple of the following format : . ( string stripped from wrapping parentheses count of stripped opening parentheses count of stripped closing parentheses )
def strip_wrapping_parentheses(fragment):
        opening_parentheses = closing_parentheses = 0
        for char in fragment:
            if char == '(':
                opening_parentheses += 1
            else:
                break
        if opening_parentheses:
            newer_frag = ''
            fragment = fragment[opening_parentheses:]
            reverse_fragment = fragment[::-1]
            skip = False
            for char in reverse_fragment:
                if (char == ')' and
                        closing_parentheses < opening_parentheses and
                        not skip):
                    closing_parentheses += 1
                    continue
                elif char != ')':
                    skip = True
                newer_frag += char
            fragment = newer_frag[::-1]
        return fragment, opening_parentheses, closing_parentheses
def strip_wrapping_parentheses ( fragment ) : opening_parentheses = closing_parentheses = 0 for char in fragment : if char == '(' : opening_parentheses += 1 else : break if opening_parentheses : newer_frag = '' fragment = fragment [ opening_parentheses : ] reverse_fragment = fragment [ : : - 1 ] skip = False for char in reverse_fragment : if ( char == ')' and closing_parentheses < opening_parentheses and not skip ) : closing_parentheses += 1 continue elif char != ')' : skip = True newer_frag += char fragment = newer_frag [ : : - 1 ] return fragment , opening_parentheses , closing_parentheses
Strips wrapping parentheses.
Strips wrapping parentheses .
"""Strips wrapping parentheses.

        Returns a tuple of the following format::

            (string stripped from wrapping parentheses,
             count of stripped opening parentheses,
             count of stripped closing parentheses)
        """ # Count consecutive opening parentheses # at the beginning of the fragment (string). # Cut the consecutive opening brackets from the fragment. # Reverse the fragment for easier detection of parentheses # inside the URL. # Remove the closing parentheses if it has a matching # opening parentheses (they are balanced). # Do not remove ')' from the URL itself.
fragment