Добавлено отладочный интерфейс.
[vpproxy.git] / plugins / modules / M3uParser.py
index 01dbcc9f73ecdf2d1ba7cf04bdcf0739746afa8c..9e2fce64aeb79ffdb7d69bcb84c0ed2d5a256bb5 100644 (file)
@@ -2,6 +2,8 @@
 # http://n4k3d.com/the-m3u-file-format/
 
 import sys
 # http://n4k3d.com/the-m3u-file-format/
 
 import sys
+import hexdump
+import codecs
 
 class track():
     def __init__(self, length, title, path):
 
 class track():
     def __init__(self, length, title, path):
@@ -23,6 +25,9 @@ def parseM3U(infile):
         #EXTM3U
     # this is not a valid M3U and we should stop..
     line = inf.readline()
         #EXTM3U
     # this is not a valid M3U and we should stop..
     line = inf.readline()
+    line = line.lstrip('\xef\xbb\xbf')
+    line = line.rstrip('\n')
+    line = line.strip()
     if not line.startswith('#EXTM3U'):
        return
 
     if not line.startswith('#EXTM3U'):
        return
 
@@ -31,10 +36,13 @@ def parseM3U(infile):
     song=track(None,None,None)
 
     for line in inf:
     song=track(None,None,None)
 
     for line in inf:
-        line=line.strip()
+        line = line.lstrip('\xef\xbb\xbf')
+        line = line.rstrip('\n')
+        line = line.strip()
         if line.startswith('#EXTINF:'):
             # pull length and title from #EXTINF line
             length,title=line.split('#EXTINF:')[1].split(',',1)
         if line.startswith('#EXTINF:'):
             # pull length and title from #EXTINF line
             length,title=line.split('#EXTINF:')[1].split(',',1)
+            title=title.decode('string_escape')
             song=track(length,title,None)
         elif (len(line) != 0):
             # pull song path from all other, non-blank lines
             song=track(length,title,None)
         elif (len(line) != 0):
             # pull song path from all other, non-blank lines