diff options
-rw-r--r-- | modules/__init__.py | 2 | ||||
-rw-r--r-- | modules/mensa.py | 16 |
2 files changed, 13 insertions, 5 deletions
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'.*?<tr[^>]*>(.*?)</tr>', re.DOTALL) - match = r.match(data) - if not match: - return False - mealstr = match.group(1) + r2 = re.compile(r'(?:.*?<td[^>]*>(.*?)</td>){4}', re.DOTALL) + + 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, match.end()) + match = r.match(data, pos) if not match: return False pricestr = match.group(1) |