grim/pyparser

added an option to ignore blank lines

2014-06-18, Gary Kramlich
974357691a81
Parents 97408b5490da
Children 99ba5a889d5a
added an option to ignore blank lines
--- a/src/pyparser/__init__.py Wed Jun 18 14:58:45 2014 -0500
+++ b/src/pyparser/__init__.py Wed Jun 18 15:00:14 2014 -0500
@@ -21,8 +21,9 @@
__metaclass__ = abc.ABCMeta
- def __init__(self, strip=False):
+ def __init__(self, strip=False, ignore_blanks=True):
self.strip = strip
+ self.ignore_blanks = ignore_blanks
self.data = None
self.parsing = False
@@ -65,9 +66,15 @@
for line in iterable:
if self.strip:
line = line.strip()
+
+ if self.ignore_blanks and line == '':
+ continue
else: # remove newlines
line = line.rstrip('\r\n')
+ if self.ignore_blanks and line.strip() == '':
+ continue
+
self.process(line)
self.finish()
--- a/src/pyparser/delimiter.py Wed Jun 18 14:58:45 2014 -0500
+++ b/src/pyparser/delimiter.py Wed Jun 18 15:00:14 2014 -0500
@@ -12,13 +12,13 @@
for splitting the line.
This is useful for comma, tab, or any other separated input.
- """
+ """
__metaclass__ = abc.ABCMeta
- def __init__(self, delimiter=None, max_splits=-1, strip=False):
- Parser.__init__(self, strip)
+ def __init__(self, delimiter=None, max_splits=-1, strip=False, ignore_blanks=False):
+ super(DelimiterParser, self).__init__(strip=strip, ignore_blanks=ignore_blanks)
self.delimiter = delimiter
self.max_splits = max_splits
--- a/src/pyparser/regex.py Wed Jun 18 14:58:45 2014 -0500
+++ b/src/pyparser/regex.py Wed Jun 18 15:00:14 2014 -0500
@@ -82,8 +82,8 @@
self.processor[attribute] = value
"""
- def __init__(self, strip=False, kwargs=False, handle_errors=True):
- Parser.__init__(self, strip)
+ def __init__(self, strip=False, kwargs=False, handle_errors=True, ignore_blanks=False):
+ super(RegexParser, self).__init__(strip=string, ignore_blanks=ignore_blanks)
self.kwargs = kwargs
self.regexes = {}