summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorptmcg <ptmcg@9bf210a0-9d2d-494c-87cf-cfb32e7dff7b>2016-10-02 23:16:58 +0000
committerptmcg <ptmcg@9bf210a0-9d2d-494c-87cf-cfb32e7dff7b>2016-10-02 23:16:58 +0000
commit80b2dcbf152a6c5dd539db3fba8f99a19ddd1a56 (patch)
tree5c75c34a1ebb5f834b0e4e295470bbd12c9c2e6b
parent8a30afc12d6f3b93e56238ea791251bcccc87a82 (diff)
downloadpyparsing-80b2dcbf152a6c5dd539db3fba8f99a19ddd1a56.tar.gz
Fix all bare 'except:' statements in pyparsing; add more 'n-or-more' unit tests
git-svn-id: svn://svn.code.sf.net/p/pyparsing/code/trunk@445 9bf210a0-9d2d-494c-87cf-cfb32e7dff7b
-rw-r--r--src/pyparsing.py20
-rw-r--r--src/unitTests.py7
2 files changed, 16 insertions, 11 deletions
diff --git a/src/pyparsing.py b/src/pyparsing.py
index e1648b5..516e804 100644
--- a/src/pyparsing.py
+++ b/src/pyparsing.py
@@ -61,7 +61,7 @@ The pyparsing module handles some of the problems that are typically vexing when
"""
__version__ = "2.1.10"
-__versionTime__ = "28 Sep 2016 00:47 UTC"
+__versionTime__ = "02 Oct 2016 23:15 UTC"
__author__ = "Paul McGuire <ptmcg@users.sourceforge.net>"
import string
@@ -2660,7 +2660,7 @@ class Word(Token):
self.reString = r"\b"+self.reString+r"\b"
try:
self.re = re.compile( self.reString )
- except:
+ except Exception:
self.re = None
def parseImpl( self, instring, loc, doActions=True ):
@@ -2701,7 +2701,7 @@ class Word(Token):
def __str__( self ):
try:
return super(Word,self).__str__()
- except:
+ except Exception:
pass
@@ -2785,7 +2785,7 @@ class Regex(Token):
def __str__( self ):
try:
return super(Regex,self).__str__()
- except:
+ except Exception:
pass
if self.strRepr is None:
@@ -2922,7 +2922,7 @@ class QuotedString(Token):
def __str__( self ):
try:
return super(QuotedString,self).__str__()
- except:
+ except Exception:
pass
if self.strRepr is None:
@@ -2991,7 +2991,7 @@ class CharsNotIn(Token):
def __str__( self ):
try:
return super(CharsNotIn, self).__str__()
- except:
+ except Exception:
pass
if self.strRepr is None:
@@ -3259,7 +3259,7 @@ class ParseExpression(ParserElement):
def __str__( self ):
try:
return super(ParseExpression,self).__str__()
- except:
+ except Exception:
pass
if self.strRepr is None:
@@ -3731,7 +3731,7 @@ class ParseElementEnhance(ParserElement):
def __str__( self ):
try:
return super(ParseElementEnhance,self).__str__()
- except:
+ except Exception:
pass
if self.strRepr is None and self.expr is not None:
@@ -4585,7 +4585,7 @@ def oneOf( strs, caseless=False, useRegex=True ):
return Regex( "[%s]" % "".join(_escapeRegexRangeChars(sym) for sym in symbols) ).setName(' | '.join(symbols))
else:
return Regex( "|".join(re.escape(sym) for sym in symbols) ).setName(' | '.join(symbols))
- except:
+ except Exception:
warnings.warn("Exception creating Regex for oneOf, building MatchFirst",
SyntaxWarning, stacklevel=2)
@@ -4731,7 +4731,7 @@ def srange(s):
_expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1))
try:
return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body)
- except:
+ except Exception:
return ""
def matchOnlyAtCol(n):
diff --git a/src/unitTests.py b/src/unitTests.py
index 8eaade5..04aa5d8 100644
--- a/src/unitTests.py
+++ b/src/unitTests.py
@@ -3423,11 +3423,16 @@ class MiscellaneousParserTests(ParseTestCase):
print(pyparsing.OneOrMore(stmt)('tests').parseString('test test').tests)
print(pyparsing.Optional(pyparsing.OneOrMore(stmt)('tests')).parseString('test test').tests)
print(pyparsing.Optional(pyparsing.OneOrMore(stmt))('tests').parseString('test test').tests)
- assert False, "testing..."
+ print(pyparsing.Optional(pyparsing.delimitedList(stmt))('tests').parseString('test,test').tests)
assert len(pyparsing.ZeroOrMore(stmt)('tests').parseString('test test').tests) == 2, "ZeroOrMore failure with setResultsName"
assert len(pyparsing.OneOrMore(stmt)('tests').parseString('test test').tests) == 2, "OneOrMore failure with setResultsName"
assert len(pyparsing.Optional(pyparsing.OneOrMore(stmt)('tests')).parseString('test test').tests) == 2, "OneOrMore failure with setResultsName"
assert len(pyparsing.Optional(pyparsing.OneOrMore(stmt))('tests').parseString('test test').tests) == 2, "OneOrMore failure with setResultsName"
+ assert len(pyparsing.Optional(pyparsing.delimitedList(stmt))('tests').parseString('test,test').tests) == 2, "delimitedList failure with setResultsName"
+ assert len((stmt*2)('tests').parseString('test test').tests) == 2, "multiplied(1) failure with setResultsName"
+ assert len((stmt*(None,2))('tests').parseString('test test').tests) == 2, "multiplied(2) failure with setResultsName"
+ assert len((stmt*(1,))('tests').parseString('test test').tests) == 2, "multipled(3) failure with setResultsName"
+ assert len((stmt*(2,))('tests').parseString('test test').tests) == 2, "multipled(3) failure with setResultsName"
def makeTestSuite():
import inspect