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

<<11/12/01; 9:01:26 AM by DW
	<<The frontmost window contains an outline. The bar cursor line contains a post for the user's Radio blog. If it's a new post, create a new post and get back a post ID, and attach it to the headline as an attribute. If it already has such an attribute, send an edit the existing post.

local (adroutline = address (window.frontmost ()));
if typeof (adroutline^) != outlinetype {
	scriptError ("This command only works with outline windows.")};
local (atts, flEdit = false, postId = nil);
if op.attributes.getall (@atts) {
	try {
		if atts.type == "Radio Blog Post" {
			if defined (atts.postId) {
				postId = atts.postId;
				flEdit = true}}}};
if flEdit {
	local (adrdata = radio.weblog.init ());
	local (adrpost = @adrdata^.posts.[postId]); (op.getlinetext (), adrpost:adrpost)}
else {
	local (adrpost = (op.getlinetext ()), atts);
	new (tabletype, @atts);
	atts.type = "Radio Blog Post";
	atts.postId = nameof (adrpost^);
	op.attributes.addgroup (@atts)};

radio.weblog.publish ()

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.