No the app never really got to 100%. Even when I try to simplify it farther
and takes a different approach there is always a 'roadblock' of errors or
related errors. I get about 90% (I feel) finished and can't get to the last
10% without some round of errors that never gets 100% solved so I chalk it
up to poor programing and study harder & simplify the design more. Spending
so much time on the book and in the code is helpful but if there was a way
to collect what the newbies are experiencing then some valuable index of
errors or more focused documentation can be created.
For exmample:
Today I'm trying to use ._after_insert_append(lambda f,id:... expecting f
to be a dict however the book actually has two lambda functions (for after
update & after insert) with the same signature but get passed different
values.
So my frustration comes from not being able to find the correct way to
access the Set object on the _after_update. Why cant they both just get
dicts?
>>> db.define_table('person',Field('name'))
>>> def pprint(*args): print args
>>> db.person._before_insert.append(lambda f: pprint(f))
>>> db.person._after_insert.append(lambda f,id: pprint(f,id))
>>> db.person._before_update.append(lambda s,f: pprint(s,f))
>>> db.person._after_update.append(lambda s,f: pprint(s,f))
>>> db.person._before_delete.append(lambda s: pprint(s))
>>> db.person._after_delete.append(lambda s: pprint(s))
--