Yes because the routine that invokes it is broken. Somehow the SigilMatch object end() access method is being confused with the end attribute of the match object.
I do not know why that is showing up now and not earlier.
Either way, make the following change in functionsearch.py inside the SigilMatch object changing its "beg" and "end" attributes to mtchbeg and mtchend and updating the accessor methods which should prevent the name collision with the end() method and all should work.
So after modifications it should look like the following:
Code:
class SigilMatch(object):
def __init__(self, text, groupslist):
self.string = text
self.groupslist = groupslist
self.mtchbeg, self.mtchend = groupslist[0]
def start(self):
return self.mtchbeg
def end(self):
return self.mtchend
def span(self, i):
if i < 0 or i >= len(self.groupslist):
raise IndexError("match group index not valid");
return self.groupslist[i][0], self.groupslist[i][1]
def group(self, i=0):
if i < 0 or i >= len(self.groupslist):
raise IndexError("match group index not valid");
return self.string[self.groupslist[i][0] : self.groupslist[i][1]]
def groups(self):
results = []
for i, v in enumerate(self.groupslist):
if i > 0:
results.append(self.string[v[0]: v[1]])
return results