summaryrefslogtreecommitdiff
path: root/plugin.video.mediathekview/resources/lib/showui.py
diff options
context:
space:
mode:
Diffstat (limited to 'plugin.video.mediathekview/resources/lib/showui.py')
-rw-r--r--plugin.video.mediathekview/resources/lib/showui.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/plugin.video.mediathekview/resources/lib/showui.py b/plugin.video.mediathekview/resources/lib/showui.py
new file mode 100644
index 0000000..b0bf7f9
--- /dev/null
+++ b/plugin.video.mediathekview/resources/lib/showui.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+# Copyright 2017 Leo Moll and Dominik Schlösser
+#
+
+# -- Imports ------------------------------------------------
+import sys, urllib
+import xbmcplugin, xbmcgui
+
+from resources.lib.show import Show
+
+# -- Classes ------------------------------------------------
+class ShowUI( Show ):
+ def __init__( self, handle, sortmethods = None ):
+ self.base_url = sys.argv[0]
+ self.handle = handle
+ self.sortmethods = sortmethods if sortmethods is not None else [ xbmcplugin.SORT_METHOD_TITLE ]
+ self.querychannelid = 0
+
+ def Begin( self, channelid ):
+ self.querychannelid = channelid
+ for method in self.sortmethods:
+ xbmcplugin.addSortMethod( self.handle, method )
+
+ def Add( self, altname = None ):
+ if altname is not None:
+ resultingname = altname
+ elif self.querychannelid == '0':
+ resultingname = self.show + ' [' + self.channel + ']'
+ else:
+ resultingname = self.show
+ li = xbmcgui.ListItem( label = resultingname )
+ xbmcplugin.addDirectoryItem(
+ handle = self.handle,
+ url = self.build_url( {
+ 'mode': "films",
+ 'show': self.id
+ } ),
+ listitem = li,
+ isFolder = True
+ )
+
+ def End( self ):
+ xbmcplugin.endOfDirectory( self.handle )
+
+ def build_url( self, query ):
+ return self.base_url + '?' + urllib.urlencode( query )