Skip to content

Instantly share code, notes, and snippets.

@jimbaker
Created July 16, 2013 23:46
Show Gist options
  • Save jimbaker/6016294 to your computer and use it in GitHub Desktop.
Save jimbaker/6016294 to your computer and use it in GitHub Desktop.
This should work based on this blog post (http://www.giantflyingsaucer.com/blog/?p=4078), but apparently some refactoring in the last year, so it doesn't. Illustrative regardless.
import time
from java.util.concurrent import TimeUnit
from org.atomnuke.listener import AtomListener, AtomListenerResult
from org.atomnuke import NukeKernel
from org.atomnuke.source.crawler import FeedCrawlerSourceFactory
from org.atomnuke.task import Task
from org.atomnuke.util import TimeValue
class SimpleListener(AtomListener):
def entry(self, entry):
return AtomListenerResult.ok()
def feedPage(self, page):
print page.entries().size(), "entries in this feed page"
for entry in page.entries():
print "-----> Incoming Entry <-----"
print "Title:", entry.title()
print "Content:", entry.content()
for category in entry.categories():
if category.term():
print "Category Term:", category.term()
if category.label():
print "Category Label:", category.label()
print "----------------------------"
return AtomListenerResult.ok()
def main():
listener = SimpleListener()
nukeKernel = NukeKernel()
crawlerFactory = FeedCrawlerSourceFactory()
task = nukeKernel.follow(
crawlerFactory.newCrawlerSource("DC Events", "https://some-nova-event-stream"),
TimeValue(5, TimeUnit.SECONDS))
task.addListener(listener)
nukeKernel.start()
time.sleep(20000)
Thread.sleep(20000)
nukeKernel.destroy()
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment