--- misc/xbmc/plugin.video.todic/default.py 2011/11/27 11:01:27 1629
+++ misc/xbmc/plugin.video.todic/default.py 2011/12/04 15:06:39 1649
@@ -5,6 +5,8 @@
import sys
import cgi as urlparse
+import os
+
import xbmc
import xbmcaddon
@@ -16,6 +18,7 @@
__addon__ = xbmcaddon.Addon(id='plugin.video.todic')
__key__ = __addon__.getSetting('xbmckey').lower()
__backend__ = "http://todic.dk/xbmc.php?xbmckey=" + __key__
+fanartImage = os.path.join(__addon__.getAddonInfo('path'), 'fanart.jpg')
def open_url(url):
req = urllib2.Request(url)
@@ -25,12 +28,16 @@
return data
def rootMenu():
- link = open_url(__backend__)
- m=re.compile('
(.+?)(.+?)').findall(link)
- for name,url in m:
- listitem = xbmcgui.ListItem(label = name, iconImage = 'DefaultFolder.png', thumbnailImage = 'DefaultFolder.png')
- u = sys.argv[0] + "?mode=1&name=" + urllib.quote_plus(name) + "&url=" + urllib.quote_plus(url)
- ok = xbmcplugin.addDirectoryItem(handle = int(sys.argv[1]), url = u, listitem = listitem, isFolder = True)
+
+ buildList(__backend__, "") # call default list
+
+ # Adde xtra items to root menu
+ listitem = xbmcgui.ListItem(label = "Søg film ...", iconImage = 'DefaultFolder.png', thumbnailImage = 'DefaultFolder.png')
+ listitem.setProperty('Fanart_Image', fanartImage)
+
+ u = sys.argv[0] + "?mode=10&name="
+ ok = xbmcplugin.addDirectoryItem(handle = int(sys.argv[1]), url = u, listitem = listitem, isFolder = True)
+
xbmcplugin.endOfDirectory(int(sys.argv[1]))
@@ -38,30 +45,30 @@
print '[TODIC]:'+str(url)
link = open_url(url)
ty=re.compile('(.+?)(.+?)(.+?)').findall(link)
- for name,url,thumb in m:
- if ty[0] == 'clipList':
- mode = '50'
- folder = False
- else:
- mode = '2'
- folder = True
-
- listitem = xbmcgui.ListItem(label = name, iconImage = 'DefaultFolder.png', thumbnailImage = thumb)
+ print '[TODIC]'+str(ty[0])
+
+ if ty[0] == 'clipList':
+ mode = '50'
+ folder = False
+ else:
+ mode = '1'
+ folder = True
+
+ m=re.compile('(.+?)(.+?)(.+?)(.*)').findall(link)
+ l=len(m)
+ for name,url,thumb,description in m:
+ infoLabels = {}
+ infoLabels['title'] = name
+ infoLabels['plot'] = description
+
+ listitem = xbmcgui.ListItem(label = name, label2='test', iconImage = 'DefaultFolder.png', thumbnailImage = thumb)
+ listitem.setInfo('video', infoLabels)
+ listitem.setProperty('Fanart_Image', fanartImage)
+
u = sys.argv[0] + "?mode=" + urllib.quote_plus(mode) + "&name=" + urllib.quote_plus(name) + "&url=" + urllib.quote_plus(url)
- ok = xbmcplugin.addDirectoryItem(handle = int(sys.argv[1]), url = u, listitem = listitem, isFolder = folder)
+ ok = xbmcplugin.addDirectoryItem(handle = int(sys.argv[1]), url = u, listitem = listitem, isFolder = folder, totalItems = l)
xbmcplugin.endOfDirectory(int(sys.argv[1]))
-def buildSubList(url,title):
- print '[TODIC]:'+str(url)
- link = open_url(url)
- m=re.compile('(.+?)(.+?)(.+?)').findall(link)
- for name,url,thumb in m:
- listitem = xbmcgui.ListItem(label = name, iconImage = 'DefaultFolder.png', thumbnailImage = thumb)
- u = sys.argv[0] + "?mode=50&name=" + urllib.quote_plus(name) + "&url=" + urllib.quote_plus(url)
- ok = xbmcplugin.addDirectoryItem(handle = int(sys.argv[1]), url = u, listitem = listitem, isFolder = False)
- xbmcplugin.endOfDirectory(int(sys.argv[1]))
@@ -77,6 +84,45 @@
xbmc.Player(xbmc.PLAYER_CORE_AUTO).play(str(url), listitem)
xbmc.sleep(200)
+def search():
+ search = getUserInput("Todic Søgning")
+
+ if (search != None and search != ""):
+ url = __backend__ + "&action=search&search=" + urllib.quote_plus(search)
+
+ #print "[TODIC] Search start: " + search
+ #print "[TODIC] Search url: " + url
+
+ buildList(url, "søgning")
+
+
+
+
+
+#=================================== Tool Box =======================================
+# shows a more userfriendly notification
+def showMessage(heading, message):
+ duration = 15*1000
+ xbmc.executebuiltin('XBMC.Notification("%s", "%s", %s)' % ( heading, message, duration) )
+
+
+# raise a keyboard for user input
+def getUserInput(title = "Input", default="", hidden=False):
+ result = None
+
+ # Fix for when this functions is called with default=None
+ if not default:
+ default = ""
+
+ keyboard = xbmc.Keyboard(default, title)
+ keyboard.setHiddenInput(hidden)
+ keyboard.doModal()
+
+ if keyboard.isConfirmed():
+ result = keyboard.getText()
+
+ return result
+
def get_params():
param=[]
@@ -127,14 +173,14 @@
#build list of movie starting letters
buildList(url, name)
-elif mode == 2:
- #build list of series
- buildSubList(url, name)
+elif mode == 10:
+ search()
+
elif mode == 50:
play_video(url, name)
-xbmcplugin.endOfDirectory(int(sys.argv[1]))
+# xbmcplugin.endOfDirectory(int(sys.argv[1]))