Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.s3.simpleDb.listDomains
on listDomains (adrlist, adrerrorstring=nil) {
<<Changes
<<1/4/08; 4:12:16 PM by DW
<<Created.
local (nexttoken = nil);
adrlist^ = {};
loop {
local (t, xstruct);
new (tabletype, @t);
t.MaxNumberOfDomains = 100;
if nexttoken != nil {
t.NextToken = nexttoken};
if not s3.simpleDb.httpClient ("ListDomains", @t, adrerrorstring, @xstruct) { //error
return (false)};
<<scratchpad.xstruct = xstruct
nexttoken = nil;
local (adrListDomainsResponse = xml.getaddress (@xstruct, "ListDomainsResponse"));
local (adrListDomainsResult = xml.getaddress (adrListDomainsResponse, "ListDomainsResult"), adr);
for adr in adrListDomainsResult {
if nameof (adr^) endswith "DomainName" {
adrlist^ = adrlist^ + adr^}
else {
if nameof (adr^) endswith "NextToken" {
nexttoken = adr^}}};
if nexttoken == nil { //hit the end of the list
return (true)}}};
bundle { //test code
local (errorstring);
if not listDomains (@scratchpad.domainlist, @errorstring) {
dialog.alert (errorstring)}}
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.