diff options
author | Tim Peters <tim.peters@gmail.com> | 2006-02-28 18:44:41 +0000 |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2006-02-28 18:44:41 +0000 |
commit | 400cbc3a4490d2d8358fcec394fed43affb3ee9c (patch) | |
tree | 203891ad3a4bb4a46ae153809e1eb9ca685f3961 /Lib/test/contextmanager.py | |
parent | 85b1052efe2112cdc36aeb9df03ea4d07d703e7e (diff) | |
download | cpython-git-400cbc3a4490d2d8358fcec394fed43affb3ee9c.tar.gz |
Set EOL style to native.
Diffstat (limited to 'Lib/test/contextmanager.py')
-rw-r--r-- | Lib/test/contextmanager.py | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/Lib/test/contextmanager.py b/Lib/test/contextmanager.py index e8b0894619..07fe61ccad 100644 --- a/Lib/test/contextmanager.py +++ b/Lib/test/contextmanager.py @@ -1,33 +1,33 @@ -class GeneratorContextManager(object):
- def __init__(self, gen):
- self.gen = gen
-
- def __context__(self):
- return self
-
- def __enter__(self):
- try:
- return self.gen.next()
- except StopIteration:
- raise RuntimeError("generator didn't yield")
-
- def __exit__(self, type, value, traceback):
- if type is None:
- try:
- self.gen.next()
- except StopIteration:
- return
- else:
- raise RuntimeError("generator didn't stop")
- else:
- try:
- self.gen.throw(type, value, traceback)
- except (type, StopIteration):
- return
- else:
- raise RuntimeError("generator caught exception")
-
-def contextmanager(func):
- def helper(*args, **kwds):
- return GeneratorContextManager(func(*args, **kwds))
- return helper
+class GeneratorContextManager(object): + def __init__(self, gen): + self.gen = gen + + def __context__(self): + return self + + def __enter__(self): + try: + return self.gen.next() + except StopIteration: + raise RuntimeError("generator didn't yield") + + def __exit__(self, type, value, traceback): + if type is None: + try: + self.gen.next() + except StopIteration: + return + else: + raise RuntimeError("generator didn't stop") + else: + try: + self.gen.throw(type, value, traceback) + except (type, StopIteration): + return + else: + raise RuntimeError("generator caught exception") + +def contextmanager(func): + def helper(*args, **kwds): + return GeneratorContextManager(func(*args, **kwds)) + return helper |