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


on getRecentPosts (adrtable, numberOfPosts=20, blogId=nil, username=nil, password=nil, {
	blogger.init ();
	bundle { //set defaults
		if username == nil {
			username = user.blogger.username};
		if password == nil {
			password = string (user.blogger.password)};
		if blogId == nil {
			blogId = user.blogger.blogId}};
	with adrdata^ {
		local (params = {appkey, string (blogId), string (username), string (password), number (numberOfPosts)});
		local (postlist = xml.rpc (server, port, "blogger.getRecentPosts", @params, rpcPath:rpcPath, protocol:protocol));
		bundle { //convert list into table
			local (item, adrsubtable);
			new (tabletype, adrtable);
			for item in postlist {
				adrsubtable = @adrtable^.[item.postid];
				new (tabletype, adrsubtable);
				adrsubtable^.content = item.content;
				adrsubtable^.dateCreated = item.dateCreated;
				adrsubtable^.userid = item.userid}};
		return (true)}};
bundle { //test code
	getRecentPosts (@scratchpad.bloggerRecentPosts);
	edit (@scratchpad.bloggerRecentPosts)}

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.