thinkle / gourmet

Gourmet Recipe Manager
GNU General Public License v2.0
338 stars 140 forks source link

Cannot update recipe serving amounts or ingredent types #292

Open ockham opened 11 years ago

ockham commented 11 years ago

Converted from SourceForge issue 2469454, submitted by SourceForge user symgryph on 2008-12-26 21:30:38 UTC.

This only happens sometimes, but when I go into a reciepe and change the # of servings (while in 'recipe card edit mode'), save, go back into, the amount for servings remains the same despite the fact that I have changed it.

ockham commented 11 years ago

Submitted by SourceForge user symgryph on 2008-12-26 21:40:36 UTC.

Also note the following when adding a reciepe as an ingredent:

pdate ingredient edit ingTree for recipe! do_modify failed with args table= shopcats row= (None, None, None) d= {'shopcategory': None} id_col= ingkey Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/gourmet/reccard.py", line 942, in save_cb newdict = m.save(newdict) File "/usr/lib/python2.5/site-packages/gourmet/reccard.py", line 1096, in save self.ingtree_ui.ingController.commit_ingredients() File "/usr/lib/python2.5/site-packages/gourmet/reccard.py", line 2325, in commit_ingredients n = commit_iter(iter,n) File "/usr/lib/python2.5/site-packages/gourmet/reccard.py", line 2285, in commit_iter self.rg.sl.orgdic[d['ingkey']] = d['shop_cat'] File "/usr/lib/python2.5/site-packages/gourmet/backends/db.py", line 1761, in setitem self.db.do_modify(self.vw, row, {self.vp:store_v},id_col=self.kp) File "/usr/lib/python2.5/site-packages/gourmet/backends/db.py", line 1197, in do_modify qr = table.update(getattr(table.c,id_col)==getattr(row,id_col)).execute(**d) File "/var/lib/python-support/python2.5/sqlalchemy/sql/expression.py", line 1087, in execute return e.execute_clauseelement(self, multiparams, params) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 1219, in execute_clauseelement return connection.execute_clauseelement(elem, multiparams, params) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 895, in execute_clauseelement return self._execute_compiled(elem.compile(dialect=self.dialect, column_keys=keys, inline=len(params) > 1), distilled_params=params) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 909, in _execute_compiled self._autocommit(context) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 810, in _autocommit self._commit_impl() File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 756, in _commit_impl self._handle_dbapi_exception(e, None, None, None) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 942, in _handle_dbapi_exception raise exceptions.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect) sqlalchemy.exceptions.OperationalError: (OperationalError) SQL logic error or missing database None None

ockham commented 11 years ago

Submitted by SourceForge user symgryph on 2008-12-26 21:32:24 UTC.

do_modify failed with args table= shopcats row= (None, None, None) d= {'shopcategory': None} id_col= ingkey Traceback (most recent call last): File "/usr/lib/python2.5/site-packages/gourmet/reccard.py", line 942, in save_cb newdict = m.save(newdict) File "/usr/lib/python2.5/site-packages/gourmet/reccard.py", line 1096, in save self.ingtree_ui.ingController.commit_ingredients() File "/usr/lib/python2.5/site-packages/gourmet/reccard.py", line 2325, in commit_ingredients n = commit_iter(iter,n) File "/usr/lib/python2.5/site-packages/gourmet/reccard.py", line 2285, in commit_iter self.rg.sl.orgdic[d['ingkey']] = d['shop_cat'] File "/usr/lib/python2.5/site-packages/gourmet/backends/db.py", line 1761, in setitem self.db.do_modify(self.vw, row, {self.vp:store_v},id_col=self.kp) File "/usr/lib/python2.5/site-packages/gourmet/backends/db.py", line 1197, in do_modify qr = table.update(getattr(table.c,id_col)==getattr(row,id_col)).execute(**d) File "/var/lib/python-support/python2.5/sqlalchemy/sql/expression.py", line 1087, in execute return e.execute_clauseelement(self, multiparams, params) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 1219, in execute_clauseelement return connection.execute_clauseelement(elem, multiparams, params) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 895, in execute_clauseelement return self._execute_compiled(elem.compile(dialect=self.dialect, column_keys=keys, inline=len(params) > 1), distilled_params=params) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 909, in _execute_compiled self._autocommit(context) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 810, in _autocommit self._commit_impl() File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 756, in _commit_impl self._handle_dbapi_exception(e, None, None, None) File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 942, in _handle_dbapi_exception raise exceptions.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect) sqlalchemy.exceptions.OperationalError: (OperationalError) SQL logic error or missing database None None