Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.html.directory.popUri
on popuri (uri, levels) { on skiptosquiggle (i) { local (j); for j = i - 1 downto 1 { <<msg (string.mid (uri, 1, j)) if uri [j] == "~" { return (j - 1)}}}; local (i, ct = 0, flskip, sizeuri = sizeof (uri)); if levels == 0 { return (uri)}; i = sizeuri; if uri [i] == "~" { i = skiptosquiggle (i)}; loop { if i < 1 { return ("")}; <<msg (string.mid (uri, 1, i)) if uri [i] == "/" { if ++ct == levels { return (string.mid (uri, 1, i - 1))}; i--; if i < 1 { return ("")}; <<msg (string.mid (uri, 1, i)) if uri [i] == "~" { i = skiptosquiggle (i)}} else { i--}}}; bundle { //test code <<dialog.alert (popuri ("theWeb/development/contentManagement/~4/userland/software/frontier~", 2)) dialog.alert (popuri ("theWeb/development/contentManagement", 2))}
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.