X-Git-Url: https://git.rvb.name/vpproxy.git/blobdiff_plain/1074f7e8729c2ff065d73960c5450c9356c2fd11..fd65e8ecaa1a7c5f11b9a50bc165083a87e2c725:/plugins/m3u_plugin.py diff --git a/plugins/m3u_plugin.py b/plugins/m3u_plugin.py index 00a6193..1bb6483 100644 --- a/plugins/m3u_plugin.py +++ b/plugins/m3u_plugin.py @@ -38,7 +38,7 @@ import os 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 @@ -55,6 +55,8 @@ class M3u(VPProxyPlugin): 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: @@ -66,9 +68,12 @@ class M3u(VPProxyPlugin): if self.splitted_path[1]=='index': + text="" for dir in os.walk(config.m3u_directory): if dir[0]==config.m3u_directory: - text='\n'.join(dir[2]) + for dirname in dir[2]: + if dirname.endswith('.m3u'): + text=text+'\n'+dirname connection.send_response(200) connection.send_header('Content-Type', 'text/plain; charset=utf-8') @@ -152,10 +157,28 @@ class M3u(VPProxyPlugin): 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') + try: + channel['tvg']=record.attrs['tvg-name'].decode('utf-8') + except: + None + try: + if record.attrs['group-title'] != 'None': + channel['group']=record.attrs['group-title'].decode('utf-8') + except: + None + try: + channel['country']=record.attrs['country'].decode('utf-8') + except: + None + try: + channel['logo']=record.attrs['tvg-logo'].decode('utf-8') + except: + None + playlistgen.addItem(channel) exported = playlistgen.exportm3u(hostport,prefix)