Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.s3.getMyBuckets
on getMyBuckets (adrtable) { <<Changes <<4/8/06; 4:58:41 PM by DW <<Created. Return a table containing all my buckets. Apparently there's a limit of 100 per user. <<Note to Les. Tables are easier to work with in Frontier, and are much more efficient than lists and records. local (resp, i); s3.init (); resp = s3.httpClient (method:"GET", resource:"/"); <<scratchpad.resp = resp local (adrresult = xml.getAddress (@resp.xstruct, "ListAllMyBucketsResult")); local (adrbuckets = xml.getAddress (adrresult, "Buckets")); new (tabletype, adrtable); for i = 1 to sizeof (adrbuckets^) { local (adrsub = @adrbuckets^ [i]); local (name = string.nthfield (nameof (adrsub^), "\t", 2)); if name == "Bucket" { local (bucketname = xml.getvalue (adrsub, "Name")); local (bucketval = xml.getvalue (adrsub, "CreationDate")); adrtable^.[bucketname] = date.iso8601StringToDate (bucketval)}}; return (true)}; bundle { //test code getMyBuckets (@scratchpad.myBuckets)}
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.