newsbot/bin/
newsbot/src/
# Uber thanks to http://www.xml.com/lpt/a/2002/12/18/dive-into-xml.html
from xml.dom import minidom
import urllib
import sys
DEFAULT_NAMESPACES = \
  (None, # RSS 0.91, 0.92, 0.93, 0.94, 2.0
  'http://purl.org/rss/1.0/', # RSS 1.0
  'http://my.netscape.com/rdf/simple/0.9/' # RSS 0.90
  )
def load(rssURL):
    return minidom.parse(urllib.urlopen(rssURL))
def getElementsByTagName(node, tagName):
    children = node.getElementsByTagName(tagName)
    if len(children): return children
    return []
def first(node, tagName):
    children = getElementsByTagName(node, tagName)
    return len(children) and children[0] or None
def textOf(node):
    return node and "".join([child.data for child in node.childNodes]) or ""

if __name__ == '__main__':
#    rssDocument = load('http://www.mudbytes.net/index.php?a=rssfeed')
    rssDocument = load(sys.argv[1]);
    fileObj = open(sys.argv[2],"w");
    for item in getElementsByTagName(rssDocument, 'item'):
        fileObj.write( "#POST\n" );
        fileObj.write( textOf(first(item,'category')) + "~\n" )
        fileObj.write( textOf(first(item,'title')) + "~\n" );
        fileObj.write( textOf(first(item,'author')) + "~\n" );
        fileObj.write( textOf(first(item,'link')) + "~\n" );
	fileObj.write( textOf(first(item,'feedburner:origLink')) + "~\n" );
    fileObj.write( "#END\n" );
    fileObj.close();