Graham Dumpleton
graham.dumpleton at gmail.com
Thu May 3 21:31:41 EDT 2007
On 04/05/07, Jeff Hinrichs - DM&T <jeffh at dundeemt.com> wrote: > with mod_python + vampire what is the proper way to dispatch something like: > /jobs/view/7 > > I'm thinking of this idiom since it is common in some other frameworks, > > def _jobs_view(req,path): > return 'using _jobs_view' > > def _jobs(req, path): > d = path.split('/') > if d[1] = 'view': > return _jobs_view(req, path) > else: > return 'unknown action' > > job = vampire.PathInfo(_jobs) > > > I'm trying to make a RESTful api, i.e. /jobs/view/N, /jobs/edit/N, etc >From memory and thus untested, but best to use an object instance to create the URL hierarchy for the 'job/view' component of path, then use PathInfo wrapper. def _view(req, path): return path def Node: pass job = Node() job.view = vampire.PathInfo(_view) or being more explicit by creating a class for the actual concept. class Job: def _view(self, req, path): return path view = vampire.PathInfo(_view) job = Job() If using version of Python with decorators, sure you could come up with a decorator which allowed you to say: class Job: @pass_path_as_argument def view(self, req, path): return path Graham
|