~azzar1/unity/add-show-desktop-key

Viewing all changes in revision 468.

  • Committer: mattgiuca
  • Date: 2008-02-15 00:39:02 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:468
db.py: Epic Refactor.
Replaced all the user management methods with very generic methods that take
dictionaries and will work for any DB table. Essentially this now provides us
with a generic high-level database API.

Then put all the user management methods back in, as simple wrappers to the
generic methods.

The user management methods, however, have all had their interfaces changed.
They now take dictionaries of key:value pairs to be put in the DB instead of
arguments. This serves 2 purposes: firstly, it's MUCH easier to add new fields
now (2 or 3 points of control, down from about 7 points of control). Secondly,
it allows None (NULL in SQL) to be distinguished from omitted fields (this
particularly applies to update_user.

Notes: Preserved some of the changes (the self-closing object) from
    r466 [conway]. Most of these have been lost in the refactor, and are no
    longer necessary as dicts are now general (do not need to explicitly
    specify keys).

    I am committing this checkpoint even though it will break makeuser.
    Need to make major changes to that anyway, so it might as well be broken
    for the time being.

expand all expand all

Show diffs side-by-side

added added

removed removed

Lines of Context: