Monday, April 04, 2011 at 1:06 AM.

rssCloudSuite.initFeed

on initFeed (url) {
	<<Changes
		<<10/24/09; 9:50:25 AM by DW
			<<It gets a prefs table, with one element in it, minSecsBetweenPings.
		<<10/2/09; 10:31:43 AM by DW
			<<Do the getFeedItems call in a try.
		<<10/2/09; 10:06:48 AM by DW
			<<Init feedInfo table.
	local (adrdata = rssCloudSuite.init ());
	local (adrfeed = @adrdata^.feeds.[url]);
	if not defined (adrfeed^) {
		new (tabletype, adrfeed)};
	bundle { //init prefs, 10/24/09 by DW
		if not defined (adrfeed^.prefs) {
			new (tabletype, @adrfeed^.prefs)};
		if not defined (adrfeed^.prefs.minSecsBetweenPings) {
			adrfeed^.prefs.minSecsBetweenPings = 0}};
	if not defined (adrfeed^.flDirty) {
		adrfeed^.flDirty = true};
	if not defined (adrfeed^.lastSize) {
		adrfeed^.lastSize = 0};
	if not defined (adrfeed^.lastHash) {
		adrfeed^.lastHash = ""};
	if not defined (adrfeed^.ctChecks) {
		adrfeed^.ctChecks = 0};
	if not defined (adrfeed^.whenLastCheck) {
		adrfeed^.whenLastCheck = date (0)};
	if not defined (adrfeed^.ctUpdates) {
		adrfeed^.ctUpdates = 0};
	if not defined (adrfeed^.whenLastUpdate) {
		adrfeed^.whenLastUpdate = date (0)};
	if not defined (adrfeed^.feedInfo) { //10/2/09 by DW
		local (items);
		try {
			xml.rss.getFeedItems (url, @items, @adrfeed^.feedInfo)}
		else {
			new (tabletype, @adrfeed^.feedInfo)};
		adrfeed^.whenLastGetFeedInfo = clock.now ()};
	return (adrfeed)};
bundle { //test code
	edit (initfeed ("http://scripting.com/rss.xml"))}



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.