Monday, November 08, 2010 at 12:02 AM.
system.verbs.builtins.Frontier.tools.data.nodeTypes.rss.expand
<<Changes <<1/8/09; 10:05:02 AM by DW <<Fixed bad bad bug -- if it was opening an url in the browser (or anywhere not in the outliner) it would try to go right, fail, then delete the line. Oy!!! <<12/5/01; 2:34:00 PM by JES <<Only move the cursor after getting the expanded sub-heads, if the cursor is sitting on a node whose type is not rss. <<12/3/01; 5:59:20 PM by JES <<If the rss contains no items, do nothing. If there's an error, show it to the user in a dialog. <<12/1/01; 5:29:37 PM by JES <<If an RSS node contains no items, or can't be parsed, insert a heading saying so. <<12/1/01; 3:48:30 PM by JES <<When expanding RSS nodes, put the cursor back on the RSS node's heading, instead of leaving it on the first sub-heading. local (url); if op.attributes.getOne ("xmlurl", @url) { local (oldDisplay = op.getDisplay ()); op.setDisplay (false); try { Frontier.tools.windowTypes.commands.openUrl (url, true); if op.go (right, 1) { op.promote (); op.deleteLine (); local (nodetype); op.attributes.getOne ("type", @nodetype); if nodetype != "rss" { op.go (left, 1)}}} else { dialog.alert ("Error parsing RSS: " + tryError)}; op.setDisplay (oldDisplay)} <<bundle //old code <<local (adrwindow = window.frontmost ()) << <<local (oldTarget = target.set (adrwindow)) <<local (oldDisplay = op.getDisplay ()) <<op.setDisplay (false) << <<local (url) <<op.attributes.getOne ("xmlurl", @url) <<local (xmltext = tcp.httpReadUrl (url)) <<local (localoutline) <<op.rssToOutline (xmltext, @localoutline) << <<target.set (@localOutline) <<local (atts) <<op.attributes.getAll (@atts) <<atts.xmlUrl = url <<op.go (right, 1) <<editMenu.selectAll () <<op.reorg (left, 1) <<op.go (up, 1) <<op.deleteline () << <<target.set (adrwindow) <<op.attributes.addGroup (@atts) <<op.insertoutline (@localoutline, right) <<if date.versionLessThan (Frontier.version (), "7.0b13") <<op.go (left, 1) << <<op.setDisplay (oldDisplay) <<try {target.set (oldTarget)}
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.