X-Git-Url: https://git.rvb.name/vpproxy.git/blobdiff_plain/e8629c323dc1fa377574b3bcaecb351d1d3116e9..b23938dd490983b0c8768af945576ac6037ce85b:/xmlparse.py diff --git a/xmlparse.py b/xmlparse.py new file mode 100644 index 0000000..bc4c3cf --- /dev/null +++ b/xmlparse.py @@ -0,0 +1,60 @@ +#!/usr/bin/python + +import xml.dom.minidom +import sys,os +from pprint import pprint +from plugins.modules.PlaylistGenerator import PlaylistGenerator + +tvguide_url="http://www.teleguide.info/download/new3/jtv.zip" + +def parseXML(filename): + datasource = open(filename) + return xml.dom.minidom.parse(datasource) # parse an open file + +def getText(element): + rc = [] + nodelist = element.childNodes + for node in nodelist: + if node.nodeType == node.TEXT_NODE: + rc.append(node.data) + return ''.join(rc) + +def main(argv): + if len(argv) < 2: + sys.stderr.write("Usage: %s \n" % (argv[0],)) + return 1 + + if not os.path.exists(argv[1]): + sys.stderr.write("ERROR: Channel file %r was not found!\n" % (argv[1],)) + return 1 + + dom = parseXML(argv[1]) + tracklist = dom.getElementsByTagName('playlist')[0].getElementsByTagName('trackList')[0].getElementsByTagName('track') + + channels = PlaylistGenerator() + + for track in tracklist: + + channel = {} + + channel['name'] = getText(track.getElementsByTagName('title')[0]) + channel['url'] = getText(track.getElementsByTagName('location')[0]) + try: + channel['logo'] = getText(track.getElementsByTagName('image')[0]) + except: + None + try: + channel['country'] = getText(track.getElementsByTagName('country')[0]) + except: + None + try: + channel['group'] = getText(track.getElementsByTagName('category')[0]) + except: + None + + channels.addItem(channel) + + print channels.dumpm3u().encode('utf8') + +if __name__ == "__main__": + sys.exit(main(sys.argv)) \ No newline at end of file