Monday, November 08, 2010 at 12:00 AM.


on getInfo (shortUrl, adrtable) {
		<<7/8/08; 12:29:42 PM by DW
	local (id = string.lastfield (shorturl, "/"));
	local (url = "" + id);
	local (xmltext = tcp.httpreadurl (url), xstruct);
	xml.compile (xmltext, @xstruct);
	<<scratchpad.xstruct = xstruct
	new (tabletype, adrtable);
	local (adrtop = xml.getaddress (@xstruct, "shortenedUrl"));
	adrtable^.longUrl = xml.getvalue (adrtop, "long");
	adrtable^.shortUrl = xml.getvalue (adrtop, "short");
	adrtable^.mirrorUrl = xml.getvalue (adrtop, "mirror");
	local (adrthumbnails = xml.getaddress (adrtop, "thumbnails"));
	adrtable^.thumbSmall = xml.getvalue (adrthumbnails, "small");
	adrtable^.thumbMedium = xml.getvalue (adrthumbnails, "medium");
	adrtable^.thumbLarge = xml.getvalue (adrthumbnails, "large");
	adrtable^.clicks = xml.getvalue (adrtop, "clicks");
	local (adrreferrers = xml.getaddress (adrtop, "referrers"), adr);
	new (tabletype, @adrtable^.referrers);
	for adr in adrreferrers {
		if nameof (adr^) endswith "referrer" {
			adrtable^.referrers.[xml.getvalue (adr, "source")] = xml.getvalue (adr, "clicks")}}};
bundle { //test code
	getinfo ("", @scratchpad.urlinfo)}

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.