bxlab / bx-python

Tools for manipulating biological data, particularly multiple sequence alignments
MIT License
145 stars 53 forks source link

StopIteration fix #57

Closed mvdbeek closed 4 years ago

mvdbeek commented 4 years ago

Fixes #56

nsoranzo commented 4 years ago

I think this would be a better fix:

diff --git a/lib/bx/intervals/io.py b/lib/bx/intervals/io.py
index aedc720..1a3b6a8 100644
--- a/lib/bx/intervals/io.py
+++ b/lib/bx/intervals/io.py
@@ -207,8 +207,7 @@ class NiceReaderWrapper(GenomicIntervalReader):
         GenomicIntervalReader.__init__(self, reader, **kwargs)
         self.outstream = kwargs.get("outstream", None)
         self.print_delegate = kwargs.get("print_delegate", None)
-        self.input_wrapper = iter(self.input)
-        self.input_iter = self.iterwrapper()
+        self.input_iter = iter(self.input)
         self.skipped = 0
         self.skipped_lines = []

@@ -229,11 +228,6 @@ class NiceReaderWrapper(GenomicIntervalReader):
                 if self.skipped < 10:
                     self.skipped_lines.append((self.linenum, self.current_line, str(e)))

-    def iterwrapper(self):
-        while True:
-            self.current_line = next(self.input_wrapper)
-            yield self.current_line
-

 class BitsetSafeReaderWrapper(NiceReaderWrapper):
     def __init__(self, reader, lens={}):

Should I push that to your branch?

mvdbeek commented 4 years ago

sure!

nsoranzo commented 4 years ago

@mvdbeek Need a new bx-python release?

mvdbeek commented 4 years ago

that would be great!