View Single Post
Old 01-11-2026, 05:33 PM   #7
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 9,433
Karma: 6733960
Join Date: Nov 2009
Device: many
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
KevinH is online now   Reply With Quote