def __init__(self, string: str) -> None: """ :param string: NODE:name1/SUBNODE:name2/SUBSUBNODE:name3/ValueName:value """ AbstractTerm.__init__(self) self.negative = string.startswith("^") list.__init__(self, (self.Node(t) for t in string.strip("^").split("/")))
def __init__(self, *terms): AbstractTerm.__init__(self) list.__init__(self, (SearchTerm.Convert(t) for t in terms))
def __str__(self): return AbstractTerm.__str__(self) + str(self.root)
def __init__(self, term=None): AbstractTerm.__init__(self) self.root = SearchGroup(term) if term else SearchGroup() self.last = self.root
def __str__(self): return AbstractTerm.__str__(self) + f"{self.term1} OR {self.term2}"
def __init__(self, term1, term2): AbstractTerm.__init__(self) self.term1 = term1 self.term2 = term2
def __str__(self): return AbstractTerm.__str__(self) + "/".join(str(n) for n in self)