Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.tumblr.getPost
on getPost (idPost, adrpostdata, email=nil, password=nil, group=nil) {
<<Changes
<<11/27/09; 5:41:48 PM by DW
<<Empty the data table before doing anything.
<<11/24/09; 6:25:13 PM by DW
<<Add optional group param.
<<11/24/09; 12:28:00 PM by DW
<<Created. Get data about the indicated post.
local (adrdata = tumblr.init (), apiurl);
new (tabletype, adrpostdata); //11/27/09 by DW
if group == nil {
tumblr.authenticate (email, password, @userdata);
apiurl = userdata.url}
else {
apiurl = "http://" + group + "/"};
local (xmltext = tcp.httpreadurl (apiurl + "api/read", 5, false), xstruct);
xml.compile (xmltext, @xstruct);
<<scratchpad.postxstruct = xstruct
local (adrtumblr = xml.getaddress (@xstruct, "tumblr"));
local (adrposts = xml.getaddress (adrtumblr, "posts"), adrpost);
for adrpost in adrposts {
if nameof (adrpost^) endswith "post" {
local (adratts = @adrpost^.["/atts"]);
if adratts^.id == idPost {
adrpostdata^ = adratts^;
return (true)}}};
return (false)};
bundle { //test code
getpost (260106433, @scratchpad.postdata, group:"rsscloud.tumblr.com");
edit (@scratchpad.postdata)}
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.