On Sun, Oct 2, 2016 at 5:07 AM, Neil Girdhar wrote:
> I suggest a more compact notation:
>
> with cm_function() as cm if condition:
> suite()
>
The simplest way would be to make a conditional version of the context manager.
@contextlib.contextmanager
def maybe_cm(state):
if state
Resending, because Google Groups messes up replying to the list :-(
On 1 October 2016 at 21:09, Paul Moore wrote:
> On 1 October 2016 at 19:07, Neil Girdhar wrote:
>> Sometimes, I want to conditionally enter a context manager. This simplest
>> (afaik) way of doing that is:
>>
>> with ExitSt
>
> > I think wasting of indentation levels for a single logical block should
> be
> > avoided if possible to make the code more legible, otherwise one hits the
> > suggested line length limit too fast - suppose this is now inside a
> method,
> > you already lose at least 8 char ...
>
> Hence gener
FYI: There is a null context manager: ExitStack().
On Sat, Oct 1, 2016 at 3:43 PM MRAB wrote:
> On 2016-10-01 19:07, Neil Girdhar wrote:
> > I'm just throwing this idea out there to get feedback.
> >
> > Sometimes, I want to conditionally enter a context manager. This
> > simplest (afaik) way o
On 2016-10-01 19:07, Neil Girdhar wrote:
I'm just throwing this idea out there to get feedback.
Sometimes, I want to conditionally enter a context manager. This
simplest (afaik) way of doing that is:
with ExitStack() as stack:
if condition:
cm = stack.enter_context(cm_f
I'm just throwing this idea out there to get feedback.
Sometimes, I want to conditionally enter a context manager. This simplest
(afaik) way of doing that is:
with ExitStack() as stack:
if condition:
cm = stack.enter_context(cm_function())
suite()
I suggest a mo