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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file conditional_context-1.1.0.tar.gz.

File metadata

  • Download URL: conditional_context-1.1.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for conditional_context-1.1.0.tar.gz
Algorithm Hash digest
SHA256 a1444f08877a96c0acacbe3f37a735e6103b54584f636e8ac8a497133e2a0ecd
MD5 275de8388d7b8ac6b841239242d41bcb
BLAKE2b-256 2647028490dd7124c8026a975691d5d464fc4d502115214b315d010d7aecfaca

See more details on using hashes here.

File details

Details for the file conditional_context-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: conditional_context-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8

File hashes

Hashes for conditional_context-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d733345b41d1e163983183bff544e8f277a26ff6e28ddb062d1c9e15b11036d8
MD5 43a54f38955d2731fb21dd64746e3a26
BLAKE2b-256 03cbc38811d306cbf320c4057f871f51067d4f1e93a4b773c05b8e761d956899

See more details on using hashes here.

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