""" $Id: observer.py,v 1.3 2002/07/17 08:15:51 niko_schmuck Exp $ test the observer while new items pop up over a period """ from java.lang import Thread from java.net import URL from de.nava.informa.impl.basic import ChannelBuilder from de.nava.informa.utils import ChannelRegistry from de.nava.informa.utils import SimpleChannelObserver # create channel registry builder = ChannelBuilder() reg = ChannelRegistry(builder) # register channels (which should be updated every 15-35 minutes) c = {} c[1] = reg.addChannel(URL("http://www.newsforge.com/newsforge.rss"), 15 * 60, 1) c[2] = reg.addChannel(URL("http://slashdot.org/slashdot.rdf"), 20 * 60, 1) c[3] = reg.addChannel(URL("http://www.heise.de/newsticker/heise.rdf"), 25 * 60, 1) c[4] = reg.addChannel(URL("http://xmlhack.com/rss10.php"), 30 * 60, 1) c[5] = reg.addChannel(URL("http://freshmeat.net/backend/fm.rdf"), 35 * 60, 1) # create a simple observer which watches out for new items o = SimpleChannelObserver() for idx in c.keys(): c[idx].addObserver(o) # sleep 4 hours (let the updating threads work)
chl_urls = [["http://www.newsforge.com/newsforge.rss", 15*60], ["http://slashdot.org/slashdot.rdf", 20*60], ["http://www.heise.de/newsticker/heise.rdf", 25*60], ["http://xmlhack.com/rss10.php", 30*60], ["http://freshmeat.net/backend/fm.rdf", 35*60]] else: data_dir = "file://" + System.getProperty("user.dir") + "/data/" chl_urls = [[data_dir + "linuxjournal.rss", 1*60], [data_dir + "salon_use.rdf", 2*60], [data_dir + "heise.rdf", 3*60], [data_dir + "slashdot.rdf", 4*60], [data_dir + "xmlhack-1.0.xml", 5*60]] # create channel registry builder = ChannelBuilder() reg = ChannelRegistry(builder) # add channels to registry and populate news items observer = SimpleChannelObserver() for chl_url in chl_urls: c = reg.addChannel(URL(chl_url[0]), chl_url[1], 1) c.addObserver(observer) # finally show the whole thing main_frame = MainFrame(reg.getChannels()) main_frame.pack() main_frame.setVisible(1) # autosave task t = AutosaveThread(reg) t.start()
from java.lang import Thread from java.net import URL from java.util import Date from de.nava.informa.impl.basic import ChannelBuilder from de.nava.informa.utils import ChannelRegistry builder = ChannelBuilder() reg = ChannelRegistry(builder) # url_xmlhack = "http://xmlhack.com/rss10.php" # url_xmlhack = URL("http://localhost/rss/xmlhack-1.0.xml") url_xmlhack = URL("http://localhost/rss/xmlhack-0.91.xml") # update channel which should be updated every 30 seconds reg.addChannel(url_xmlhack, 30, 1) print "first time parsed in at ", Date() for channel in reg.getChannels(): print "channel:", channel for item in channel.getItems(): print " -", item # sleep 100 seconds Thread.currentThread().sleep(100 * 1000) print "--- after updating" for channel in reg.getChannels(): print "channel:", channel for item in channel.getItems(): print " -", item # offically deregister # reg.removeChannel(channel)
chl_urls = [["http://www.newsforge.com/newsforge.rss", 15 * 60], ["http://slashdot.org/slashdot.rdf", 20 * 60], ["http://www.heise.de/newsticker/heise.rdf", 25 * 60], ["http://xmlhack.com/rss10.php", 30 * 60], ["http://freshmeat.net/backend/fm.rdf", 35 * 60]] else: data_dir = "file://" + System.getProperty("user.dir") + "/data/" chl_urls = [[data_dir + "linuxjournal.rss", 1 * 60], [data_dir + "salon_use.rdf", 2 * 60], [data_dir + "heise.rdf", 3 * 60], [data_dir + "slashdot.rdf", 4 * 60], [data_dir + "xmlhack-1.0.xml", 5 * 60]] # create channel registry builder = ChannelBuilder() reg = ChannelRegistry(builder) # add channels to registry and populate news items observer = SimpleChannelObserver() for chl_url in chl_urls: c = reg.addChannel(URL(chl_url[0]), chl_url[1], 1) c.addObserver(observer) # finally show the whole thing main_frame = MainFrame(reg.getChannels()) main_frame.pack() main_frame.setVisible(1) # autosave task t = AutosaveThread(reg) t.start()
""" $Id: observer.py,v 1.3 2002/07/17 08:15:51 niko_schmuck Exp $ test the observer while new items pop up over a period """ from java.lang import Thread from java.net import URL from de.nava.informa.impl.basic import ChannelBuilder from de.nava.informa.utils import ChannelRegistry from de.nava.informa.utils import SimpleChannelObserver # create channel registry builder = ChannelBuilder() reg = ChannelRegistry(builder) # register channels (which should be updated every 15-35 minutes) c = {} c[1]=reg.addChannel(URL("http://www.newsforge.com/newsforge.rss"), 15*60, 1); c[2]=reg.addChannel(URL("http://slashdot.org/slashdot.rdf"), 20*60, 1); c[3]=reg.addChannel(URL("http://www.heise.de/newsticker/heise.rdf"), 25*60, 1); c[4]=reg.addChannel(URL("http://xmlhack.com/rss10.php"), 30*60, 1) c[5]=reg.addChannel(URL("http://freshmeat.net/backend/fm.rdf"), 35*60, 1); # create a simple observer which watches out for new items o = SimpleChannelObserver() for idx in c.keys(): c[idx].addObserver(o) # sleep 4 hours (let the updating threads work) Thread.currentThread().sleep(4 * 60 * 60 * 1000)
# create an index for the lucene engine to perform search queries with. from java.io import File from java.util import Date from de.nava.informa.impl.basic import ChannelBuilder from de.nava.informa.utils import ChannelRegistry from de.nava.informa.search import ItemDocument from org.apache.lucene.analysis.standard import StandardAnalyzer from org.apache.lucene.index import IndexWriter # create channel registry builder = ChannelBuilder() reg = ChannelRegistry(builder) # register some channels chfiles = ('data/heise.rdf', 'data/slashdot.rdf', 'data/xmlhack-0.91.xml', 'data/xmlhack-1.0.xml') for filename in chfiles: reg.addChannel(File(filename).toURL(), 60, 0) # create (3rd arg) index writer in directory (first arg) start_time = Date() writer = IndexWriter("index", StandardAnalyzer(), 1) # loop over all channels and their items for channel in reg.getChannels():