diff --git a/src/solo_turnier/group.py b/src/solo_turnier/group.py index 7e0f13d..0f10ec5 100644 --- a/src/solo_turnier/group.py +++ b/src/solo_turnier/group.py @@ -6,6 +6,9 @@ class Group: def __repr__(self): return self.name + + def getContainedGroups(self): + return (self,) class CombinedGroup: def __init__(self, grpA: Group, grpB: Group): @@ -14,6 +17,9 @@ class CombinedGroup: def __repr__(self): return f'{self.clsA}/{self.clsB}' + + def getContainedGroups(self): + return (self.clsA, self.clsB) Group_t = Group | CombinedGroup diff --git a/src/solo_turnier/worker.py b/src/solo_turnier/worker.py index 1973632..c4527b0 100644 --- a/src/solo_turnier/worker.py +++ b/src/solo_turnier/worker.py @@ -494,7 +494,8 @@ class Worker: # groupSet.add(participant.group) for tup in data.htmlResults.results.keys(): gr = groupParser.parseClass(tup[0]) - groupSet.add(gr) + # groupSet.add(gr) + groupSet.update(gr.getContainedGroups()) # self.l.log(5, 'Group type %s', type(gr)) self.l.log(5, 'Set of active groups: %s', groupSet) @@ -508,7 +509,8 @@ class Worker: additionalDances = set() foundDances = set() for tup in data.htmlResults.results.keys(): - if not groupParser.parseClass(tup[0]) == group: + currentGroup = groupParser.parseClass(tup[0]) + if group not in currentGroup.getContainedGroups(): continue foundDances.add(tup[2])