fix / fix / fix.py

Zero Piraeus d61143b 

























"""Decorators."""

from functools import wraps


def fixture(create_fixture, **kwargs):
    """Decorate a callable with a fixture."""
    context = {}
    fixt = create_fixture(context, **kwargs)
    if isinstance(fixt, tuple):
        setup, teardown = fixt
    else:
        setup = fixt
        teardown = lambda: None

    def wrap(func):
        """Wrap the callable."""
        @wraps(func)
        def call():
            """Call `setup` and `teardown` before and after `func`."""
            setup()
            result = func(context)
            teardown()
            return result
        return call

    return wrap
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.