Hi

I'm building quite a complex app, which has a number of ways of locating things, and I want to be able to rejoin chains..

Some example URLs:

/volume/*/track/*/format/*
/track/*format/*

This becomes:

sub tracksequence : Chained('/') PathPart('track') CaptureArgs(1) {}

sub volume : Chained('/') PathPart('volume') CaptureArgs(1) {}
sub trackonvolume : Chained('volume') CaptureArgs(1) {}

sub format : Chained('tracksequence', 'trackonvolume') PathPart ('format') Args(1) {}

But this doesn't work...

So what I've got instead is:

sub formattracksequence : Chained('tracksequence') PathPart('format') Args(1) { $c->forward('format'); } sub formattrackonvolume: Chained('tracksequence', 'trackonvolume') PathPart('format') Args(1) { $c->forward('format') }
sub format : Private {}

Which works fine.. However, this is just a subset of my URL complexity, and I have *multiple* points where I want to be able to chain one function into two (or more) chains..

My actual URLs look like /volume/track/*/format/*bitrate/*/ someoperation or track/*/format/*bitrate/*/someoperation

and having to maintain two seperate sets of chains is pretty painful..

Is there any sane way of doing this? Am I missing something obvious?

Cheers
Tom


_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to