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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1444f08877a96c0acacbe3f37a735e6103b54584f636e8ac8a497133e2a0ecd |
|
MD5 | 275de8388d7b8ac6b841239242d41bcb |
|
BLAKE2b-256 | 2647028490dd7124c8026a975691d5d464fc4d502115214b315d010d7aecfaca |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | d733345b41d1e163983183bff544e8f277a26ff6e28ddb062d1c9e15b11036d8 |
|
MD5 | 43a54f38955d2731fb21dd64746e3a26 |
|
BLAKE2b-256 | 03cbc38811d306cbf320c4057f871f51067d4f1e93a4b773c05b8e761d956899 |