gert wrote:
Can anybody show me a better looking alternative for this elif
structure ?

http://code.google.com/p/appwsgi/source/browse/appwsgi/wsgi/appointment.wsgi

Where you have cascaded ifs based on a single value, one alternative is
to use a dict where the test value is the key and functions are the
values:

def do_overview():
db.execute("SELECT calendar,appointment FROM appointments WHERE calendar >= ? AND calendar < ?",(v['from'],v['to']))

def do_find():
db.execute("SELECT users.name, appointments.* FROM users, appointments WHERE users.uid = appointments.uid AND appointments.calendar >= ? AND appointments.appointment LIKE ? GROUP BY appointments.aid",(v['calendar'],"%"+v['appointment']+"%"))

...

actions = {'overview': do_overview, 'find': find, ...}

actions[v['cmd']]()


Your code does have an 'if' which breaks the pattern, but you might be
able to work around it.
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to