# 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();