Skip to content

Commit 501fd85

Browse files
committed
minor optimization
1 parent 2e10de8 commit 501fd85

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

lib/parse/handler.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,11 @@ def __feedInfo(self, key, value):
4545
def startElement(self, name, attrs):
4646
if name == "regexp":
4747
self.__regexp = sanitizeStr(attrs.get("value"))
48-
self.__match = re.search(self.__regexp, self.__banner, re.I | re.M)
48+
_ = re.match("\A[A-Za-z0-9]+", self.__regexp) # minor trick avoiding compiling of large amount of regexes
49+
if _ and _.group(0).lower() in self.__banner.lower() or not _:
50+
self.__match = re.search(self.__regexp, self.__banner, re.I | re.M)
51+
else:
52+
self.__match = None
4953

5054
if name == "info" and self.__match:
5155
self.__feedInfo("type", attrs.get("type"))

0 commit comments

Comments
 (0)