summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorptmcg <ptmcg@austin.rr.com>2021-11-02 03:32:43 -0500
committerptmcg <ptmcg@austin.rr.com>2021-11-02 03:32:43 -0500
commit08bdeebe71d019e8be3e5a8b3d348ec44daf9e17 (patch)
tree5675f4ed8d79c17cea5d7b0d697d3c89c27de302
parente269b0a3d067e66ef718b8508a4a82927c7606d0 (diff)
downloadpyparsing-git-08bdeebe71d019e8be3e5a8b3d348ec44daf9e17.tar.gz
Added type hints for col, line, and lineno public methods; plus black
-rw-r--r--pyparsing/core.py12
-rw-r--r--pyparsing/helpers.py10
-rw-r--r--pyparsing/util.py30
3 files changed, 34 insertions, 18 deletions
diff --git a/pyparsing/core.py b/pyparsing/core.py
index 786256b..6fb8f92 100644
--- a/pyparsing/core.py
+++ b/pyparsing/core.py
@@ -3660,7 +3660,11 @@ class ParseExpression(ParserElement):
def _setResultsName(self, name, listAllMatches=False):
if __diag__.warn_ungrouped_named_tokens_in_collection:
for e in self.exprs:
- if isinstance(e, ParserElement) and e.resultsName and not e.resultsName.startswith("_NOWARN"):
+ if (
+ isinstance(e, ParserElement)
+ and e.resultsName
+ and not e.resultsName.startswith("_NOWARN")
+ ):
warnings.warn(
"{}: setting results name {!r} on {} expression "
"collides with {!r} on contained expression".format(
@@ -4701,7 +4705,11 @@ class _MultipleMatch(ParseElementEnhance):
def _setResultsName(self, name, listAllMatches=False):
if __diag__.warn_ungrouped_named_tokens_in_collection:
for e in [self.expr] + self.expr.recurse():
- if isinstance(e, ParserElement) and e.resultsName and not e.resultsName.startswith("_NOWARN"):
+ if (
+ isinstance(e, ParserElement)
+ and e.resultsName
+ and not e.resultsName.startswith("_NOWARN")
+ ):
warnings.warn(
"{}: setting results name {!r} on {} expression "
"collides with {!r} on contained expression".format(
diff --git a/pyparsing/helpers.py b/pyparsing/helpers.py
index 27a4efa..9b1e2e1 100644
--- a/pyparsing/helpers.py
+++ b/pyparsing/helpers.py
@@ -388,9 +388,15 @@ def original_text_for(
endlocMarker = locMarker.copy()
endlocMarker.callPreparse = False
# prefix these transient names with _NOWARN to suppress ungrouped name warnings
- matchExpr = locMarker("_NOWARN_original_start") + expr + endlocMarker("_NOWARN_original_end")
+ matchExpr = (
+ locMarker("_NOWARN_original_start")
+ + expr
+ + endlocMarker("_NOWARN_original_end")
+ )
if asString:
- extractText = lambda s, l, t: s[t._NOWARN_original_start : t._NOWARN_original_end]
+ extractText = lambda s, l, t: s[
+ t._NOWARN_original_start : t._NOWARN_original_end
+ ]
else:
def extractText(s, l, t):
diff --git a/pyparsing/util.py b/pyparsing/util.py
index 95ecff3..1309ad6 100644
--- a/pyparsing/util.py
+++ b/pyparsing/util.py
@@ -38,7 +38,7 @@ class __config_flags:
@lru_cache(maxsize=128)
-def col(loc: int, strg: str):
+def col(loc: int, strg: str) -> int:
"""
Returns current column within a string, counting newlines as line separators.
The first column is number 1.
@@ -55,7 +55,7 @@ def col(loc: int, strg: str):
@lru_cache(maxsize=128)
-def lineno(loc: int, strg: str):
+def lineno(loc: int, strg: str) -> int:
"""Returns current line number within a string, counting newlines as line separators.
The first line is number 1.
@@ -69,7 +69,7 @@ def lineno(loc: int, strg: str):
@lru_cache(maxsize=128)
-def line(loc: int, strg: str):
+def line(loc: int, strg: str) -> str:
"""
Returns the line of text containing loc within a string, counting newlines as line separators.
"""
@@ -84,18 +84,18 @@ class _UnboundedCache:
cache_get = cache.get
self.not_in_cache = not_in_cache = object()
- def get(self, key):
+ def get(_, key):
return cache_get(key, not_in_cache)
- def set(self, key, value):
+ def set_(_, key, value):
cache[key] = value
- def clear(self):
+ def clear(_):
cache.clear()
self.size = None
self.get = types.MethodType(get, self)
- self.set = types.MethodType(set, self)
+ self.set = types.MethodType(set_, self)
self.clear = types.MethodType(clear, self)
@@ -105,20 +105,20 @@ class _FifoCache:
cache = collections.OrderedDict()
cache_get = cache.get
- def get(self, key):
+ def get(_, key):
return cache_get(key, not_in_cache)
- def set(self, key, value):
+ def set_(_, key, value):
cache[key] = value
while len(cache) > size:
cache.popitem(last=False)
- def clear(self):
+ def clear(_):
cache.clear()
self.size = size
self.get = types.MethodType(get, self)
- self.set = types.MethodType(set, self)
+ self.set = types.MethodType(set_, self)
self.clear = types.MethodType(clear, self)
@@ -170,7 +170,7 @@ class UnboundedMemo(dict):
pass
-def _escape_regex_range_chars(s: str):
+def _escape_regex_range_chars(s: str) -> str:
# escape these chars: ^-[]
for c in r"\^-[]":
s = s.replace(c, _bslash + c)
@@ -179,7 +179,9 @@ def _escape_regex_range_chars(s: str):
return str(s)
-def _collapse_string_to_ranges(s: Union[str, Iterable[str]], re_escape: bool = True):
+def _collapse_string_to_ranges(
+ s: Union[str, Iterable[str]], re_escape: bool = True
+) -> str:
def is_consecutive(c):
c_int = ord(c)
is_consecutive.prev, prev = c_int, is_consecutive.prev
@@ -222,7 +224,7 @@ def _collapse_string_to_ranges(s: Union[str, Iterable[str]], re_escape: bool = T
return "".join(ret)
-def _flatten(ll: List):
+def _flatten(ll: list) -> list:
ret = []
for i in ll:
if isinstance(i, list):