Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
import functools
import sys


# from jaraco.functools 4.1
def identity(x):
    return x


# from jaraco.functools 4.1
def apply(transform):
    def wrap(func):
        return functools.wraps(func)(compose(transform, func))

    return wrap


# from jaraco.functools 4.1
def compose(*funcs):
    def compose_two(f1, f2):
        return lambda *args, **kwargs: f1(f2(*args, **kwargs))

    return functools.reduce(compose_two, funcs)


def replace(pattern):
    r"""
    >>> replace(r'foo\z')
    'foo\\Z'
    """
    return pattern[:-2] + pattern[-2:].replace(r'\z', r'\Z')


legacy_end_marker = apply(replace) if sys.version_info < (3, 14) else identity