Skip to content
Snippets Groups Projects
Commit 05272a5b authored by Piotr Maślanka's avatar Piotr Maślanka
Browse files

minor fixes

parent 6ab4153c
No related branches found
No related tags found
No related merge requests found
import typing as tp import typing as tp
def chain(*args): def chain(*args) -> tp.Iterator:
""" """
Construct an iterator out of provided elements. Construct an iterator out of provided elements.
...@@ -17,7 +17,7 @@ def chain(*args): ...@@ -17,7 +17,7 @@ def chain(*args):
yield elem yield elem
def exhaust(iterator: tp.Iterator): def exhaust(iterator: tp.Iterator) -> None:
""" """
Iterate till the end of the iterator, discarding values as they go Iterate till the end of the iterator, discarding values as they go
...@@ -46,15 +46,15 @@ class SelfClosingGenerator: ...@@ -46,15 +46,15 @@ class SelfClosingGenerator:
def __init__(self, generator: tp.Generator): def __init__(self, generator: tp.Generator):
self.generator = generator self.generator = generator
self.stopped = False self.stopped = False # type: bool
def __iter__(self): def __iter__(self) -> 'SelfClosingGenerator':
return self return self
def __call__(self, *args, **kwargs): def __call__(self, *args, **kwargs):
return SelfClosingGenerator(self.generator(*args, **kwargs)) return SelfClosingGenerator(self.generator(*args, **kwargs))
def send(self, obj: tp.Any): def send(self, obj: tp.Any) -> None:
self.generator.send(obj) self.generator.send(obj)
def __next__(self): def __next__(self):
...@@ -64,14 +64,14 @@ class SelfClosingGenerator: ...@@ -64,14 +64,14 @@ class SelfClosingGenerator:
self.stopped = True self.stopped = True
raise raise
def __enter__(self): def __enter__(self) -> 'SelfClosingGenerator':
return self return self
def __exit__(self, exc_type, exc_val, exc_tb): def __exit__(self, exc_type, exc_val, exc_tb) -> bool:
self.close() self.close()
return False return False
def close(self): def close(self) -> None:
if not self.stopped: if not self.stopped:
try: try:
exhaust(self.generator) exhaust(self.generator)
...@@ -109,7 +109,7 @@ class hint_with_length: ...@@ -109,7 +109,7 @@ class hint_with_length:
def send(self, obj): def send(self, obj):
return self.generator.send(obj) return self.generator.send(obj)
def __iter__(self): def __iter__(self) -> tp.Generator:
return self.generator return self.generator
def __next__(self): def __next__(self):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment