--- /dev/null
+#!/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 <xml-file>\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