summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/__init__.py2
-rw-r--r--modules/mensa.py16
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)