diff --git a/modules/__init__.py b/modules/__init__.py index 403bbc9..4dc1972 100644 --- a/modules/__init__.py +++ b/modules/__init__.py @@ -1,3 +1,5 @@ +import traceback + class ModuleBase: def __init__(self, manager): self.manager = manager diff --git a/modules/mensa.py b/modules/mensa.py index 9ff4bcb..5faa956 100644 --- a/modules/mensa.py +++ b/modules/mensa.py @@ -44,12 +44,18 @@ class Module(ModuleBase): data = match.group(1) r = re.compile(r'.*?]*>(.*?)', re.DOTALL) - match = r.match(data) - if not match: - return False - mealstr = match.group(1) + r2 = re.compile(r'(?:.*?]*>(.*?)){4}', re.DOTALL) - match = r.match(data, match.end()) + mealstr = '' + pos = 0 + while not r2.match(mealstr): + match = r.match(data, pos) + if not match: + return False + mealstr = match.group(1) + pos = match.end() + + match = r.match(data, pos) if not match: return False pricestr = match.group(1)