diff --git a/lib/tfw/components/commands_equal.py b/lib/tfw/components/commands_equal.py index 64ea20c..d58c064 100644 --- a/lib/tfw/components/commands_equal.py +++ b/lib/tfw/components/commands_equal.py @@ -7,14 +7,22 @@ from tfw.decorators.lazy_property import lazy_property class CommandsEqual: - def __init__(self, command_1, command_2, fuzzyness=1): + def __init__(self, command_1, command_2, fuzzyness=1, must_begin_similarly=True): self.command_1 = split(command_1) self.command_2 = split(command_2) self.fuzzyness = fuzzyness + self.must_begin_similarly = must_begin_similarly def __bool__(self): + if self.must_begin_similarly and not self.beginnings_are_equal: + return False + return self.similarity >= self.fuzzyness + @lazy_property + def beginnings_are_equal(self): + return self.command_1[0] == self.command_2[0] + @lazy_property def similarity(self): parts_1 = set(self.command_1)