Metadata-Version: 1.1
Name: conditional_context
Version: 1.1.0
Summary: Context manager that will skip the body on a condition.
Home-page: https://github.com/justengel/conditional_context
Author: Justin Engel
Author-email: jtengel08@gmail.com
License: MIT
Download-URL: https://github.com/justengel/conditional_context/archive/v1.1.0.tar.gz
Description: ===================
        conditional_context
        ===================
        
        Context manager that will skip the body on a condition.
        
        All code is in `conditional_context/__init__.py`
        
        Examples
        ========
        
        Condition function example
        
        .. code-block:: python
        
            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
        
        .. code-block:: python
        
            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
        
        .. code-block:: python
        
            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.
        
        .. code-block:: python
        
            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!'
        
Keywords: conditional context skip context
Platform: any
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
