diff options
author | ptmcg <ptmcg@9bf210a0-9d2d-494c-87cf-cfb32e7dff7b> | 2016-08-11 07:55:00 +0000 |
---|---|---|
committer | ptmcg <ptmcg@9bf210a0-9d2d-494c-87cf-cfb32e7dff7b> | 2016-08-11 07:55:00 +0000 |
commit | 9851b10bd83a68b99f0ef9238171b27746729252 (patch) | |
tree | ef62563abbba9b202c9dfc560deac33db3bc290c | |
parent | 72aebb41c1bf060bb9356a609e2a521fc4601787 (diff) | |
download | pyparsing-9851b10bd83a68b99f0ef9238171b27746729252.tar.gz |
Undo removal of generator handling
git-svn-id: svn://svn.code.sf.net/p/pyparsing/code/trunk@408 9bf210a0-9d2d-494c-87cf-cfb32e7dff7b
-rw-r--r-- | src/pyparsing.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/pyparsing.py b/src/pyparsing.py index 0e1e4e8..b335f95 100644 --- a/src/pyparsing.py +++ b/src/pyparsing.py @@ -153,6 +153,8 @@ else: singleArgBuiltins.append(getattr(__builtin__,fname))
except AttributeError:
continue
+
+_generatorType = type((y for y in range(1)))
def _xml_escape(data):
"""Escape &, <, >, ", ', etc. in a string of data."""
@@ -349,7 +351,7 @@ class ParseResults(object): toklist = []
if isinstance(toklist, list):
self.__toklist = toklist[:]
- elif isinstance(toklist, collections.Iterable):
+ elif isinstance(toklist, _generatorType):
self.__toklist = list(toklist)
else:
self.__toklist = [toklist]
@@ -3085,6 +3087,8 @@ class ParseExpression(ParserElement): """
def __init__( self, exprs, savelist = False ):
super(ParseExpression,self).__init__(savelist)
+ if isinstance( exprs, _generatorType ):
+ exprs = list(exprs)
if isinstance( exprs, basestring ):
self.exprs = [ ParserElement._literalStringClass( exprs ) ]
|