Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.posterous.getSites
on getSites (adrtable, username=nil, password=nil) { <<Changes <<11/20/09; 6:43:06 PM by DW <<Created. Fills a table with information about the user's Posterous sites. <<http://posterous.com/api/posting local (adrdata = posterous.init ()); if username == nil { username = adrdata^.prefs.username}; if password == nil { password = string (adrdata^.prefs.password)}; local (apiurl = "http://posterous.com/api/getsites"); new (tabletype, adrtable); local (xmltext = tcp.httpreadurl (apiurl, 5, false, username, password), xstruct); xml.compile (xmltext, @xstruct); scratchpad.xstruct = xstruct; local (adrrsp = xml.getaddress (@xstruct, "rsp")); local (status = xml.getattributevalue (adrrsp, "stat")); case status { "ok" { local (adrsite); for adrsite in adrrsp { if nameof (adrsite^) endswith "site" { local (id = xml.getvalue (adrsite, "id")); local (adrsub = @adrtable^.[id]); new (tabletype, adrsub); adrsub^.name = xml.getvalue (adrsite, "name"); adrsub^.hostname = xml.getvalue (adrsite, "hostname"); adrsub^.url = xml.getvalue (adrsite, "url"); adrsub^.flPrivate = boolean (xml.getvalue (adrsite, "private")); adrsub^.flPrimary = boolean (xml.getvalue (adrsite, "primary")); adrsub^.flCommentsEnabled = boolean (xml.getvalue (adrsite, "commentsenabled")); adrsub^.ctPosts = xml.getvalue (adrsite, "num_posts")}}}; "fail" { local (adrerr = xml.getaddress (adrrsp, "err")); scripterror (xml.getattributevalue (adrerr, "msg"))}}}; bundle { //test code getSites (@scratchpad.mysites)}
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.