My solution lies below, but I think it not quite elegant.
def edit():
'''
>>> request.args.append('news')
>>> request.args.append(None)
>>> request.extension = 'html'
>>> from gluon.storage import Storage
>>> user = dict(reset_password_key='',
... first_name='[email protected]',
... last_name='',
... password=None,
... registration_key='',
... id=2,
... email='[email protected]')
>>> auth.environment.session.auth = Storage(user=user,
last_visit=datetime.datetime(2011, 1, 31, 16, 55, 52,
137567),expiration=3600)
>>> assert(edit()['form'] != None)
>>> request.args.append('news')
>>> request.args.append(1)
>>> request.extension = 'html'
>>> assert(edit()['form'] != None)
'''
if request.args(1) == None:
form=crud.create(db[request.args(0)])
else:
form=crud.update(db[request.args(0)],request.args(1))
return dict(form=form)