home · contact · privacy
Add foreign key restraints, expand and fix tests, add deletion and forking.
[misc] / calories.py
index 4352567aafa9e8bcdd9e31b2d4b4dcc0b52d43e3..9951ce5c98896ef91319282143b2925b657ec280 100644 (file)
@@ -233,7 +233,7 @@ class ConsumptionsHandler(PlomHandler):
         return 'consumptions', default_path 
 
     def do_POST(self):
-        self.write_db()
+        self.try_do(self.write_db)
 
     def write_db(self):
         from uuid import uuid4
@@ -251,8 +251,7 @@ class ConsumptionsHandler(PlomHandler):
                 to_delete += [target]
         i = 0
         if 'eatable_uuid' in postvars.keys():
-            for uuid_encoded in postvars['eatable_uuid']:
-                uuid = uuid_encoded
+            for uuid in postvars['eatable_uuid']:
                 if uuid not in to_delete:
                     e = Eatable(decode("title", i, False), decode("cals", i), decode("sugar_g", i), decode("standard_g", i), decode("comments", i, False))
                     db.add_eatable(uuid, e)
@@ -290,15 +289,12 @@ class ConsumptionsHandler(PlomHandler):
                 default_slots -= 1
                 if (default_slots <= 0):
                     break
-        try:
-            db.write()
-            homepage = self.apps['consumptions'] if hasattr(self, 'apps') else self.homepage
-            self.redirect(homepage)
-        except PlomException as e:
-            self.fail_400(e) 
+        db.write()
+        homepage = self.apps['consumptions'] if hasattr(self, 'apps') else self.homepage
+        self.redirect(homepage)
 
     def do_GET(self):
-        self.show_db()
+        self.try_do(self.show_db)
 
     def show_db(self):
         db = CaloriesDB()