Исправлена опечатка
[vpproxy.git] / plugins / m3u_plugin.py
index fc4d3e3268e75e36d3a7cdb583f8992609a6a68e..636ad4e19d6f72e348d4aebf18992496c687f6b5 100644 (file)
@@ -38,7 +38,7 @@ import os
 
 class M3u(VPProxyPlugin):
 
 
 class M3u(VPProxyPlugin):
 
-    handlers = ('m3u', 'm3ut', 'm3uw', "list", "play", "index")
+    handlers = ('m3u', 'm3ut', 'm3uw', 'm3uo', 'list', 'play', 'index')
 
     logger = logging.getLogger('plugin_m3u')
     playlist = None
 
     logger = logging.getLogger('plugin_m3u')
     playlist = None
@@ -55,6 +55,8 @@ class M3u(VPProxyPlugin):
           prefix='ogg'  
         elif self.splitted_path[1]=='m3ut':
           prefix='mp4'  
           prefix='ogg'  
         elif self.splitted_path[1]=='m3ut':
           prefix='mp4'  
+        elif self.splitted_path[1]=='m3uo':
+          prefix='ogv'  
         elif self.splitted_path[1] in ("list","play","index"):
           None  
         else:
         elif self.splitted_path[1] in ("list","play","index"):
           None  
         else:
@@ -104,7 +106,6 @@ class M3u(VPProxyPlugin):
         elif self.splitted_path[1]=="play":
             channel=self.splitted_path[len(self.splitted_path)-1]
             channel=urllib.unquote(channel).decode('utf-8')
         elif self.splitted_path[1]=="play":
             channel=self.splitted_path[len(self.splitted_path)-1]
             channel=urllib.unquote(channel).decode('utf-8')
-            print channel
             if len(self.splitted_path)<=4:
               prefix="get"
             elif len(self.splitted_path)==5:  
             if len(self.splitted_path)<=4:
               prefix="get"
             elif len(self.splitted_path)==5:  
@@ -117,10 +118,8 @@ class M3u(VPProxyPlugin):
             for record in playlist:
                 if record.title.decode('utf-8').replace('/','')==channel:
                     url=record.path.decode('utf-8')
             for record in playlist:
                 if record.title.decode('utf-8').replace('/','')==channel:
                     url=record.path.decode('utf-8')
-                    print url
             if url:
                 redirect='/'+prefix+'/'+url
             if url:
                 redirect='/'+prefix+'/'+url
-                print redirect
                 connection.send_response(302)
                 connection.send_header('Location', redirect)
                 connection.end_headers()
                 connection.send_response(302)
                 connection.send_header('Location', redirect)
                 connection.end_headers()
@@ -147,21 +146,24 @@ class M3u(VPProxyPlugin):
              exported = ""
             
              for record in playlist:
              exported = ""
             
              for record in playlist:
-                 exported = exported + "" + record.title.decode('utf-8').replace('/','') + "\n"
+                 if record.title:
+                     exported = exported + "" + record.title.decode('utf-8').replace('/','') + "\n"
         
         else:    
 
             playlistgen = PlaylistGenerator()
 
             for record in playlist:
         
         else:    
 
             playlistgen = PlaylistGenerator()
 
             for record in playlist:
-                channel=dict()
-                channel['name']=record.title.decode('utf-8')
-                channel['url']=record.path.decode('utf-8')            
-                playlistgen.addItem(channel)
+                if record.title:
+                    channel=dict()
+                    channel['name']=record.title.decode('utf-8')
+                    channel['url']=record.path.decode('utf-8')            
+                    playlistgen.addItem(channel)
 
             exported = playlistgen.exportm3u(hostport,prefix)
 
             exported = playlistgen.exportm3u(hostport,prefix)
-            
+
         exported = exported.encode('utf-8')
         exported = exported.encode('utf-8')
+        
         connection.wfile.write(exported)
 
     def getparam(self, key):
         connection.wfile.write(exported)
 
     def getparam(self, key):