From 829bc71f841c777dcc906c7dfaa06807402a7d1d Mon Sep 17 00:00:00 2001 From: Tiago Montes Date: Sat, 16 Jul 2016 13:33:44 +0200 Subject: [PATCH 1/2] Removing code from decorator challenge in context_manager.py --- challenges/context_managers.py | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/challenges/context_managers.py b/challenges/context_managers.py index 81509c5..e6dc014 100644 --- a/challenges/context_managers.py +++ b/challenges/context_managers.py @@ -43,30 +43,3 @@ def release_lock(lock_name): to the lock file, for debugging purposes, when they're "inside" the context manager... ''' - - - -from datetime import datetime - -def my_program(): - main_screen_turn_on() - if somebody_set_us_up_the_bomb(): - take_off_every_zig() - -def main_screen_turn_on(): - print('\n'.join(['*' * 80] * 25)) - - - -def somebody_set_us_up_the_bomb(): - if datetime.now().microsecond % 7 == 0: - return True - return False - - -def take_off_every_zig(): - for i in range(1, 10001): - if datetime.now().microsecond % 42 == 0: - raise Exception('all your base!') - print('Go {}! '.format(i), end='') - From d1c21316fa2bb3d9c21c657c1d0061c6649e2921 Mon Sep 17 00:00:00 2001 From: Tiago Montes Date: Sat, 16 Jul 2016 17:52:32 +0200 Subject: [PATCH 2/2] Added reference to contextlib in std lib to the context manager challenge --- challenges/context_managers.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/challenges/context_managers.py b/challenges/context_managers.py index e6dc014..e5811dc 100644 --- a/challenges/context_managers.py +++ b/challenges/context_managers.py @@ -42,4 +42,9 @@ def release_lock(lock_name): For bonus points: make it so that the user can also write to the lock file, for debugging purposes, when they're "inside" the context manager... + +Try to implement it with a custom class and the appropriate +__magic__ methods. Then checkout contextlib in the standard +library and try to build your context manager with the +contextlib.contextmanager decorator. '''