conditional-context

Context manager that will skip the body on a condition.


Keywords
conditional, context, skip
License
MIT
Install
pip install conditional-context==1.1.0

Documentation

conditional_context

Context manager that will skip the body on a condition.

All code is in conditional_context/__init__.py

Examples

Condition function example

from conditional_context import condition

print('start')
value = True
with condition(False):
    value = False
    print('here')  # Will not print
print('end')

assert value

Custom class replacing the should_skip method example

import conditional_context

class MyContext(conditional_context.ConditionalContext):
    def should_skip(self):
        return True

print('start')
value = True
with MyContext():
    value = False
    print('here')  # Will not print
print('end')

assert value

Replace the should_skip method with a decorator

import conditional_context

ctx = conditional_context.ConditionalContext()

@ctx.replace_should_skip
def my_should_skip():
    return True

print('start')
value = True
with ctx:
    value = False
    print('here')  # Will not print
print('end')

assert value, 'ConditionalContext class did not skip properly'

Breakout function to stop running the context without showing an error.

from conditional_context import condition

value1 = True
value2 = True
value3 = True
with condition() as ctx:
    value1 = False
    value2 = False
    ctx.breakout()  # Should raise an error to break out of the context.
    value3 = False

assert value1 is False
assert value2 is False
assert value3 is True, 'The breakout feature did not work as expected!'