elif alternative

Chris Rebert clp2 at rebertia.com
Thu Sep 17 15:48:03 EDT 2009


On Thu, Sep 17, 2009 at 12:38 PM, gert <gert.cuykens at gmail.com> wrote:
> Can anybody show me a better looking alternative for this elif
> structure ?

Use a dictionary with functions as values. For example:

#untested obviously
def admin_remove(db, v, gid):
    db.execute("DELETE FROM appointments WHERE aid=?",(v['aid'],))

def guest_remove(db, v, gid):
    db.execute("DELETE FROM appointments WHERE aid=? AND
uid=?",(v['aid'],s.UID))

cmd_gid2func = {('remove', 'admin') : admin_remove, ('remove',
'guest') : guest_remove}

func = cmd_gid2func[(v['cmd'], s.GID)]
func(db, v, s.GID)

Cheers,
Chris
--
http://blog.rebertia.com



More information about the Python-list mailing list