Skip to main content

Context manager that will skip the body on a condition.

Project description

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!'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conditional_context-1.1.0.tar.gz (4.4 kB view hashes)

Uploaded Source

Built Distribution

conditional_context-1.1.0-py3-none-any.whl (7.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page