attest icon indicating copy to clipboard operation
attest copied to clipboard

Named context arguments

Open dag opened this issue 13 years ago • 0 comments

Perhaps keyword arguments would be better than positional arguments. That is: have contexts yield dictionaries, and pass by key name rather than position. This might not be backwards-compatible without some switch.

@web.context
def appcontext():
    yield dict(app=app, templates=templates)

@web.test
def index(templates):
    assert len(templates) == 1

Currently the above would treat the dict as a single, positional argument. If we had yielded a two-tuple, the test would receive the app as 'templates'. The benefit of this idea is that we can easily "skip" arguments. Downsides would be the need to name argument and the possibility of name conflicts (however unlikely).

dag avatar Apr 18 '11 06:04 dag