aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/metadata.demo.albums/addon.xml17
-rw-r--r--addons/metadata.demo.albums/demo.py120
-rw-r--r--addons/metadata.demo.artists/addon.xml17
-rw-r--r--addons/metadata.demo.artists/demo.py113
-rw-r--r--addons/metadata.demo.movies/addon.xml17
-rw-r--r--addons/metadata.demo.movies/demo.py116
-rw-r--r--addons/metadata.demo.tv/addon.xml17
-rw-r--r--addons/metadata.demo.tv/demo.py202
8 files changed, 619 insertions, 0 deletions
diff --git a/addons/metadata.demo.albums/addon.xml b/addons/metadata.demo.albums/addon.xml
new file mode 100644
index 0000000000..023c22fc23
--- /dev/null
+++ b/addons/metadata.demo.albums/addon.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<addon id="metadata.demo.albums"
+ name="Demo albums python scraper"
+ version="1.0.0"
+ provider-name="spiff">
+ <requires>
+ <import addon="xbmc.metadata" version="2.1.0"/>
+ </requires>
+ <extension point="xbmc.metadata.scraper.albums"
+ library="demo.py"/>
+ <extension point="xbmc.addon.metadata">
+ <summary lang="en">Demo albums python scraper</summary>
+ <description lang="en">Demo albums python scraper.</description>
+ <platform>all</platform>
+ <license>GPL v2.0</license>
+ </extension>
+</addon>
diff --git a/addons/metadata.demo.albums/demo.py b/addons/metadata.demo.albums/demo.py
new file mode 100644
index 0000000000..7915a03383
--- /dev/null
+++ b/addons/metadata.demo.albums/demo.py
@@ -0,0 +1,120 @@
+#!/usr/bin/env python
+# -*- coding: UTF-8 -*-
+
+import xbmcplugin,xbmcgui,xbmc,xbmcaddon
+import os,sys,urllib
+
+def get_params():
+ param=[]
+ paramstring=sys.argv[2]
+ if len(paramstring)>=2:
+ params=sys.argv[2]
+ cleanedparams=params.replace('?','')
+ if (params[len(params)-1]=='/'):
+ params=params[0:len(params)-2]
+ pairsofparams=cleanedparams.split('&')
+ param={}
+ for i in range(len(pairsofparams)):
+ splitparams={}
+ splitparams=pairsofparams[i].split('=')
+ if (len(splitparams))==2:
+ param[splitparams[0]]=splitparams[1]
+
+ return param
+
+
+params=get_params()
+print params
+
+try:
+ action=urllib.unquote_plus(params["action"])
+except:
+ pass
+
+print ("Action: "+action)
+
+if action == 'find':
+ try:
+ artist=urllib.unquote_plus(params["artist"])
+ album=urllib.unquote_plus(params["title"])
+ except:
+ pass
+
+ print 'Find album with title %s from artist %s' %(album, artist)
+ liz=xbmcgui.ListItem('Demo album 1', thumbnailImage='DefaultAlbum.png', offscreen=True)
+ liz.setProperty('relevance', '0.5')
+ liz.setProperty('album.artist', artist)
+ liz.setProperty('album.year', '2005')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/album", listitem=liz, isFolder=True)
+
+ liz=xbmcgui.ListItem('Demo album 2', thumbnailImage='DefaultVideo.png', offscreen=True)
+ liz.setProperty('relevance', '0.3')
+ liz.setProperty('album.artist', 'spiff')
+ liz.setProperty('album.year', '2016')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/album2", listitem=liz, isFolder=True)
+elif action == 'getdetails':
+ try:
+ url=urllib.unquote_plus(params["url"])
+ except:
+ pass
+
+ if url == '/path/to/album':
+ liz=xbmcgui.ListItem('Demo album 1', offscreen=True)
+ liz.setProperty('album.musicbrainzid', '123')
+ liz.setProperty('album.artists', '2')
+ liz.setProperty('album.artist1.name', 'Jan')
+ liz.setProperty('album.artist1.musicbrainzid', '456')
+ liz.setProperty('album.artist2.name', 'Banan')
+ liz.setProperty('album.artist2.musicbrainzid', '789')
+ liz.setProperty('album.artist_description', 'I hate this album.')
+ liz.setProperty('album.genre', 'rock / pop')
+ liz.setProperty('album.styles', 'light / heavy')
+ liz.setProperty('album.moods', 'angry / happy')
+ liz.setProperty('album.themes', 'Morbid sexual things.. And urmumz.')
+ liz.setProperty('album.compiliation', 'true')
+ liz.setProperty('album.review', 'Somebody should die for making this')
+ liz.setProperty('album.release_date', '2005-01-02')
+ liz.setProperty('album.label', 'ArtistExploitation inc')
+ liz.setProperty('album.type', 'what is this?')
+ liz.setProperty('album.release_type', 'single')
+ liz.setProperty('album.year', '2005')
+ liz.setProperty('album.rating', '2.5')
+ liz.setProperty('album.userrating', '4.5')
+ liz.setProperty('album.votes', '100')
+ liz.setProperty('album.thumbs', '2')
+ liz.setProperty('album.thumb1.url', 'DefaultBackFanart.png')
+ liz.setProperty('album.thumb1.aspect', '1.78')
+ liz.setProperty('album.thumb2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('album.thumb2.aspect', '2.35')
+ xbmcplugin.setResolvedUrl(handle=int(sys.argv[1]), succeeded=True, listitem=liz)
+ elif url == '/path/to/album2':
+ liz=xbmcgui.ListItem('Demo album 2', offscreen=True)
+ liz.setProperty('album.musicbrainzid', '123')
+ liz.setProperty('album.artists', '2')
+ liz.setProperty('album.artist1.name', 'Heise')
+ liz.setProperty('album.artist1.musicbrainzid', '456')
+ liz.setProperty('album.artist2.name', 'Kran')
+ liz.setProperty('album.artist2.musicbrainzid', '789')
+ liz.setProperty('album.artist_description', 'I love this album.')
+ liz.setProperty('album.genre', 'classical / jazz')
+ liz.setProperty('album.styles', 'yay / hurrah')
+ liz.setProperty('album.moods', 'sad / excited')
+ liz.setProperty('album.themes', 'Nice things.. And unicorns.')
+ liz.setProperty('album.compiliation', 'false')
+ liz.setProperty('album.review', 'Somebody should be rewarded for making this')
+ liz.setProperty('album.release_date', '2015-01-02')
+ liz.setProperty('album.label', 'Artists inc')
+ liz.setProperty('album.type', 'what is that?')
+ liz.setProperty('album.release_type', 'album')
+ liz.setProperty('album.year', '2015')
+ liz.setProperty('album.rating', '4.5')
+ liz.setProperty('album.userrating', '3.5')
+ liz.setProperty('album.votes', '200')
+ liz.setProperty('album.thumbs', '2')
+ liz.setProperty('album.thumb1.url', 'DefaultBackFanart.png')
+ liz.setProperty('album.thumb1.aspect', '1.78')
+ liz.setProperty('album.thumb2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('album.thumb2.aspect', '2.35')
+ xbmcplugin.setResolvedUrl(handle=int(sys.argv[1]), succeeded=True, listitem=liz)
+
+xbmcplugin.endOfDirectory(int(sys.argv[1]))
diff --git a/addons/metadata.demo.artists/addon.xml b/addons/metadata.demo.artists/addon.xml
new file mode 100644
index 0000000000..59b6f7d0bb
--- /dev/null
+++ b/addons/metadata.demo.artists/addon.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<addon id="metadata.demo.artists"
+ name="Demo artists python scraper"
+ version="1.0.0"
+ provider-name="spiff">
+ <requires>
+ <import addon="xbmc.metadata" version="2.1.0"/>
+ </requires>
+ <extension point="xbmc.metadata.scraper.artists"
+ library="demo.py"/>
+ <extension point="xbmc.addon.metadata">
+ <summary lang="en">Demo artists python scraper</summary>
+ <description lang="en">Demo artists python scraper</description>
+ <platform>all</platform>
+ <license>GPL v2.0</license>
+ </extension>
+</addon>
diff --git a/addons/metadata.demo.artists/demo.py b/addons/metadata.demo.artists/demo.py
new file mode 100644
index 0000000000..819528cda2
--- /dev/null
+++ b/addons/metadata.demo.artists/demo.py
@@ -0,0 +1,113 @@
+#!/usr/bin/env python
+# -*- coding: UTF-8 -*-
+
+import xbmcplugin,xbmcgui,xbmc,xbmcaddon
+import os,sys,urllib
+
+def get_params():
+ param=[]
+ paramstring=sys.argv[2]
+ if len(paramstring)>=2:
+ params=sys.argv[2]
+ cleanedparams=params.replace('?','')
+ if (params[len(params)-1]=='/'):
+ params=params[0:len(params)-2]
+ pairsofparams=cleanedparams.split('&')
+ param={}
+ for i in range(len(pairsofparams)):
+ splitparams={}
+ splitparams=pairsofparams[i].split('=')
+ if (len(splitparams))==2:
+ param[splitparams[0]]=splitparams[1]
+
+ return param
+
+
+params=get_params()
+
+try:
+ action=urllib.unquote_plus(params["action"])
+except:
+ pass
+
+if action == 'find':
+ try:
+ artist=urllib.unquote_plus(params["artist"])
+ except:
+ pass
+
+ print 'Find artist with name %s' %(artist)
+ liz=xbmcgui.ListItem('Demo artist 1', thumbnailImage='DefaultAlbum.png', offscreen=True)
+ liz.setProperty('artist.genre', 'rock / pop')
+ liz.setProperty('artist.born', '2002')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/artist", listitem=liz, isFolder=True)
+
+ liz=xbmcgui.ListItem('Demo artist 2', thumbnailImage='DefaultAlbum.png', offscreen=True)
+ liz.setProperty('artist.genre', 'classical / jazz')
+ liz.setProperty('artist.born', '2012')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/artist2", listitem=liz, isFolder=True)
+elif action == 'getdetails':
+ url=urllib.unquote_plus(params["url"])
+ print 'Artist with url %s' %(url)
+ if url == '/path/to/artist':
+ liz=xbmcgui.ListItem('Demo artist 1', offscreen=True)
+ liz.setProperty('artist.musicbrainzid', '123')
+ liz.setProperty('artist.genre', 'rock / pop')
+ liz.setProperty('artist.styles', 'heavy / light')
+ liz.setProperty('artist.moods', 'angry / happy')
+ liz.setProperty('artist.years_active', '1980 / 2012')
+ liz.setProperty('artist.instruments', 'guitar / drums')
+ liz.setProperty('artist.born', '1/1/2001')
+ liz.setProperty('artist.formed', '1980')
+ liz.setProperty('artist.biography', 'Wrote lots of crap. Likes to torture cats.')
+ liz.setProperty('artist.died', 'Tomorrow.')
+ liz.setProperty('artist.disbanded', 'Dec 21 2012')
+ liz.setProperty('artist.fanarts', '2')
+ liz.setProperty('artist.fanart1.url', 'DefaultBackFanart.png')
+ liz.setProperty('artist.fanart1.preview', 'DefaultBackFanart.png')
+ liz.setProperty('artist.fanart1.dim', '720')
+ liz.setProperty('artist.fanart2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('artist.fanart2.preview', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('artist.fanart2.dim', '1080')
+ liz.setProperty('artist.albums', '2')
+ liz.setProperty('artist.album1.title', 'Demo album 1')
+ liz.setProperty('artist.album1.year', '2002')
+ liz.setProperty('artist.album2.title', 'Demo album 2')
+ liz.setProperty('artist.album2.year', '2007')
+ liz.setProperty('artist.thumbs', '2')
+ liz.setProperty('artist.thumb1.url', 'DefaultBackFanart.png')
+ liz.setProperty('artist.thumb1.aspect', '1.78')
+ liz.setProperty('artist.thumb2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('artist.thumb2.aspect', '2.35')
+ xbmcplugin.setResolvedUrl(handle=int(sys.argv[1]), succeeded=True, listitem=liz)
+ if url == '/path/to/artist2':
+ liz=xbmcgui.ListItem('Demo artist 2', thumbnailImage='DefaultAlbum.png', offscreen=True)
+ liz.setProperty('artist.musicbrainzid', '456')
+ liz.setProperty('artist.genre', 'classical / jazz')
+ liz.setProperty('artist.styles', 'morbid / funny')
+ liz.setProperty('artist.moods', 'fast / dance')
+ liz.setProperty('artist.years_active', '1990 / 2016')
+ liz.setProperty('artist.instruments', 'bass / flute')
+ liz.setProperty('artist.born', '2/2/1971')
+ liz.setProperty('artist.formed', '1990')
+ liz.setProperty('artist.biography', 'Tortured lots of cats. Likes crap.')
+ liz.setProperty('artist.died', 'Yesterday.')
+ liz.setProperty('artist.disbanded', 'Nov 20 1980')
+ liz.setProperty('artist.fanarts', '2')
+ liz.setProperty('artist.fanart1.thumb', 'DefaultBackFanart.png')
+ liz.setProperty('artist.fanart1.dim', '720')
+ liz.setProperty('artist.fanart2.thumb', '/home/akva/Pictures/gnome-tshirt.png')
+ liz.setProperty('artist.fanart2.dim', '1080')
+ liz.setProperty('artist.albums', '2')
+ liz.setProperty('artist.album1.title', 'Demo album 1')
+ liz.setProperty('artist.album1.year', '2002')
+ liz.setProperty('artist.album2.title', 'Demo album 2')
+ liz.setProperty('artist.album2.year', '2005')
+ liz.setProperty('artist.thumbs', '2')
+ liz.setProperty('artist.thumb1.url', 'DefaultBackFanart.png')
+ liz.setProperty('artist.thumb1.aspect', '1.78')
+ liz.setProperty('artist.thumb2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('artist.thumb2.aspect', '2.35')
+ xbmcplugin.setResolvedUrl(handle=int(sys.argv[1]), succeeded=True, listitem=liz)
+
+xbmcplugin.endOfDirectory(int(sys.argv[1]))
diff --git a/addons/metadata.demo.movies/addon.xml b/addons/metadata.demo.movies/addon.xml
new file mode 100644
index 0000000000..a75c3d5a3c
--- /dev/null
+++ b/addons/metadata.demo.movies/addon.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<addon id="metadata.demo.movies"
+ name="Demo movies python scraper"
+ version="1.0.0"
+ provider-name="spiff">
+ <requires>
+ <import addon="xbmc.metadata" version="2.1.0"/>
+ </requires>
+ <extension point="xbmc.metadata.scraper.movies"
+ library="demo.py"/>
+ <extension point="xbmc.addon.metadata">
+ <summary lang="en">Demo movies python scraper</summary>
+ <description lang="en">Demo movies python scraper.</description>
+ <platform>all</platform>
+ <license>GPL v2.0</license>
+ </extension>
+</addon>
diff --git a/addons/metadata.demo.movies/demo.py b/addons/metadata.demo.movies/demo.py
new file mode 100644
index 0000000000..d3708468f6
--- /dev/null
+++ b/addons/metadata.demo.movies/demo.py
@@ -0,0 +1,116 @@
+#!/usr/bin/env python
+# -*- coding: UTF-8 -*-
+
+import xbmcplugin,xbmcgui,xbmc,xbmcaddon
+import os,sys,urllib
+
+def get_params():
+ param=[]
+ paramstring=sys.argv[2]
+ if len(paramstring)>=2:
+ params=sys.argv[2]
+ cleanedparams=params.replace('?','')
+ if (params[len(params)-1]=='/'):
+ params=params[0:len(params)-2]
+ pairsofparams=cleanedparams.split('&')
+ param={}
+ for i in range(len(pairsofparams)):
+ splitparams={}
+ splitparams=pairsofparams[i].split('=')
+ if (len(splitparams))==2:
+ param[splitparams[0]]=splitparams[1]
+
+ return param
+
+
+params=get_params()
+
+action=urllib.unquote_plus(params["action"])
+
+if action == 'find':
+ year = 0
+ title=urllib.unquote_plus(params["title"])
+ try:
+ year=int(urllib.unquote_plus(params["year"]))
+ except:
+ pass
+
+ print 'Find movie with title %s from year %i' %(title, int(year))
+ liz=xbmcgui.ListItem('Demo movie 1', thumbnailImage='DefaultVideo.png', offscreen=True)
+ liz.setProperty('relevance', '0.5')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/movie", listitem=liz, isFolder=True)
+ liz=xbmcgui.ListItem('Demo movie 2', thumbnailImage='DefaultVideo.png', offscreen=True)
+ liz.setProperty('relevance', '0.3')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/movie2", listitem=liz, isFolder=True)
+elif action == 'getdetails':
+ url=urllib.unquote_plus(params["url"])
+ if url == '/path/to/movie':
+ liz=xbmcgui.ListItem('Demo movie 1', offscreen=True)
+ liz.setProperty('video.original_title', 'Demo måvie 1')
+ liz.setProperty('video.sort_title', '2')
+ liz.setProperty('video.ratings', '1')
+ liz.setProperty('video.rating1.value', '5')
+ liz.setProperty('video.rating1.votes', '100')
+ liz.setProperty('video.user_rating', '5')
+ liz.setProperty('video.top250', '3')
+ liz.setProperty('video.unique_id', '123')
+ liz.setProperty('video.imdb_id', '456')
+ liz.setProperty('video.plot_outline', 'Outline yo')
+ liz.setProperty('video.plot', 'Plot yo')
+ liz.setProperty('video.tag_line', 'Tag yo')
+ liz.setProperty('video.duration_minutes', '110')
+ liz.setProperty('video.mpaa', 'T')
+ liz.setProperty('video.trailer', '/home/akva/Videos/porn/bukkake.mkv')
+ liz.setProperty('video.thumbs', '2')
+ liz.setProperty('video.thumb1.url', 'DefaultBackFanart.png')
+ liz.setProperty('video.thumb1.aspect', 'poster')
+ liz.setProperty('video.thumb2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.thumb2.aspect', 'banner')
+ liz.setProperty('video.genre','Action / Comedy')
+ liz.setProperty('video.country', 'Norway / Sweden / China')
+ liz.setProperty('video.writing_credits', 'None / Want / To Admit It')
+ liz.setProperty('video.director', 'spiff / spiff2')
+ liz.setProperty('video.tvshow_links' ,'Demo show 1')
+ liz.setProperty('video.actors', '2')
+ liz.setProperty('video.actor1.name', 'spiff')
+ liz.setProperty('video.actor1.role', 'himself')
+ liz.setProperty('video.actor1.sort_order', '2')
+ liz.setProperty('video.actor1.thumb', '/home/akva/Pictures/fish.jpg')
+ liz.setProperty('video.actor1.thumb_aspect', 'banner')
+ liz.setProperty('video.actor2.name', 'monkey')
+ liz.setProperty('video.actor2.role', 'orange')
+ liz.setProperty('video.actor2.sort_order', '1')
+ liz.setProperty('video.actor1.thumb_aspect', 'poster')
+ liz.setProperty('video.actor2.thumb', '/home/akva/Pictures/coffee.jpg')
+ liz.setProperty('video.set_name', 'Spiffy creations')
+ liz.setProperty('video.set_overview', 'Horrors created by spiff')
+ liz.setProperty('video.tags', 'Very / Bad')
+ liz.setProperty('video.studio', 'Studio1 / Studio2')
+ liz.setProperty('video.fanarts', '2')
+ liz.setProperty('video.fanart1.url', 'DefaultBackFanart.png')
+ liz.setProperty('video.fanart1.preview', 'DefaultBackFanart.png')
+ liz.setProperty('video.fanart1.dim', '720')
+ liz.setProperty('video.fanart2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.fanart2.preview', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.fanart2.dim', '1080')
+ liz.setProperty('video.date_added', '2016-01-01')
+ xbmcplugin.setResolvedUrl(handle=int(sys.argv[1]), succeeded=True, listitem=liz)
+elif action == 'getartwork':
+ url=urllib.unquote_plus(params["id"])
+ if url == '456':
+ liz=xbmcgui.ListItem('Demo movie 1', offscreen=True)
+ liz.setProperty('video.thumbs', '2')
+ liz.setProperty('video.thumb1.url', 'DefaultBackFanart.png')
+ liz.setProperty('video.thumb1.aspect', 'poster')
+ liz.setProperty('video.thumb2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.thumb2.aspect', 'banner')
+ liz.setProperty('video.fanarts', '2')
+ liz.setProperty('video.fanart1.url', 'DefaultBackFanart.png')
+ liz.setProperty('video.fanart1.preview', 'DefaultBackFanart.png')
+ liz.setProperty('video.fanart1.dim', '720')
+ liz.setProperty('video.fanart2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.fanart2.preview', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.fanart2.dim', '1080')
+ xbmcplugin.setResolvedUrl(handle=int(sys.argv[1]), succeeded=True, listitem=liz)
+
+xbmcplugin.endOfDirectory(int(sys.argv[1]))
diff --git a/addons/metadata.demo.tv/addon.xml b/addons/metadata.demo.tv/addon.xml
new file mode 100644
index 0000000000..cebeb6be04
--- /dev/null
+++ b/addons/metadata.demo.tv/addon.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<addon id="metadata.demo.tv"
+ name="Demo TV python scraper"
+ version="1.0.0"
+ provider-name="spiff">
+ <requires>
+ <import addon="xbmc.metadata" version="2.1.0"/>
+ </requires>
+ <extension point="xbmc.metadata.scraper.tvshows"
+ library="demo.py"/>
+ <extension point="xbmc.addon.metadata">
+ <summary lang="en">Demo TV shows python scraper</summary>
+ <description lang="en">Demo TV shows python scraper.</description>
+ <platform>all</platform>
+ <license>GPL v2.0</license>
+ </extension>
+</addon>
diff --git a/addons/metadata.demo.tv/demo.py b/addons/metadata.demo.tv/demo.py
new file mode 100644
index 0000000000..0fd298198a
--- /dev/null
+++ b/addons/metadata.demo.tv/demo.py
@@ -0,0 +1,202 @@
+#!/usr/bin/env python
+# -*- coding: UTF-8 -*-
+
+import xbmcplugin,xbmcgui,xbmc,xbmcaddon
+import os,sys,urllib
+
+def get_params():
+ param=[]
+ paramstring=sys.argv[2]
+ if len(paramstring)>=2:
+ params=sys.argv[2]
+ cleanedparams=params.replace('?','')
+ if (params[len(params)-1]=='/'):
+ params=params[0:len(params)-2]
+ pairsofparams=cleanedparams.split('&')
+ param={}
+ for i in range(len(pairsofparams)):
+ splitparams={}
+ splitparams=pairsofparams[i].split('=')
+ if (len(splitparams))==2:
+ param[splitparams[0]]=splitparams[1]
+
+ return param
+
+
+params=get_params()
+
+action=urllib.unquote_plus(params["action"])
+
+if action == 'find':
+ year = 0
+ title=urllib.unquote_plus(params["title"])
+ try:
+ year=int(urllib.unquote_plus(params["year"]))
+ except:
+ pass
+
+ print 'Find TV show with title %s from year %i' %(title, int(year))
+ liz=xbmcgui.ListItem('Demo show 1', thumbnailImage='DefaultVideo.png', offscreen=True)
+ liz.setProperty('relevance', '0.5')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/show", listitem=liz, isFolder=True)
+ liz=xbmcgui.ListItem('Demo show 2', thumbnailImage='DefaultVideo.png', offscreen=True)
+ liz.setProperty('relevance', '0.3')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/show2", listitem=liz, isFolder=True)
+elif action == 'getdetails':
+ url=urllib.unquote_plus(params["url"])
+ if url == '/path/to/show':
+ liz=xbmcgui.ListItem('Demo show 1', offscreen=True)
+ liz.setProperty('video.original_title', 'Demo shåvv 1')
+ liz.setProperty('video.sort_title', '2')
+ liz.setProperty('video.ratings', '1')
+ liz.setProperty('video.rating1.value', '5')
+ liz.setProperty('video.rating1.votes', '100')
+ liz.setProperty('video.user_rating', '5')
+ liz.setProperty('video.unique_id', '123')
+ liz.setProperty('video.plot_outline', 'Outline yo')
+ liz.setProperty('video.plot', 'Plot yo')
+ liz.setProperty('video.tag_line', 'Tag yo')
+ liz.setProperty('video.duration_minutes', '110')
+ liz.setProperty('video.mpaa', 'T')
+ liz.setProperty('video.premiere_year', '2007')
+ liz.setProperty('video.status', 'Cancelled')
+ liz.setProperty('video.first_aired', '2007-01-01')
+ liz.setProperty('video.trailer', '/home/akva/Videos/porn/bukkake.mkv')
+ liz.setProperty('video.thumbs', '2')
+ liz.setProperty('video.thumb1.url', 'DefaultBackFanart.png')
+ liz.setProperty('video.thumb1.aspect', '1.78')
+ liz.setProperty('video.thumb2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.thumb2.aspect', '2.35')
+ liz.setProperty('video.genre','Action / Comedy')
+ liz.setProperty('video.country', 'Norway / Sweden / China')
+ liz.setProperty('video.writing_credits', 'None / Want / To Admit It')
+ liz.setProperty('video.director', 'spiff / spiff2')
+ liz.setProperty('video.seasons', '2')
+ liz.setProperty('video.season1.name', 'Horrible')
+ liz.setProperty('video.season2.name', 'Crap')
+ liz.setProperty('video.actors', '2')
+ liz.setProperty('video.actor1.name', 'spiff')
+ liz.setProperty('video.actor1.role', 'himself')
+ liz.setProperty('video.actor1.sort_order', '2')
+ liz.setProperty('video.actor1.thumb', '/home/akva/Pictures/fish.jpg')
+ liz.setProperty('video.actor1.thumb_aspect', '1.33')
+ liz.setProperty('video.actor2.name', 'monkey')
+ liz.setProperty('video.actor2.role', 'orange')
+ liz.setProperty('video.actor2.sort_order', '1')
+ liz.setProperty('video.actor1.thumb_aspect', '1.78')
+ liz.setProperty('video.actor2.thumb', '/home/akva/Pictures/coffee.jpg')
+ liz.setProperty('video.tag', 'Porn / Umomz')
+ liz.setProperty('video.studio', 'Studio1 / Studio2')
+ liz.setProperty('video.episode_guide_url', '/path/to/show/guide')
+ liz.setProperty('video.fanarts', '2')
+ liz.setProperty('video.fanart1.url', 'DefaultBackFanart.png')
+ liz.setProperty('video.fanart1.preview', 'DefaultBackFanart.png')
+ liz.setProperty('video.fanart1.dim', '720')
+ liz.setProperty('video.fanart2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.fanart2.preview', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.fanart2.dim', '1080')
+ liz.setProperty('video.date_added', '2016-01-01')
+ xbmcplugin.setResolvedUrl(handle=int(sys.argv[1]), succeeded=True, listitem=liz)
+elif action == 'getepisodelist':
+ url=urllib.unquote_plus(params["url"])
+ print 'in here yo ' + url
+ if url == '/path/to/show/guide':
+ liz=xbmcgui.ListItem('Demo Episode 1x1', offscreen=True)
+ liz.setProperty('video.episode', '1')
+ liz.setProperty('video.season', '1')
+ liz.setProperty('video.aired', '2015-01-01')
+ liz.setProperty('video.id', '1')
+ liz.setProperty('video.url', '/path/to/episode1')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/episode1", listitem=liz, isFolder=False)
+ liz=xbmcgui.ListItem('Demo Episode 2x2', offscreen=True)
+ liz.setProperty('video.episode', '2')
+ #liz.setProperty('video.sub_episode', '1')
+ liz.setProperty('video.season', '2')
+ liz.setProperty('video.aired', '2014-01-01')
+ liz.setProperty('video.id', '2')
+ liz.setProperty('video.url', '/path/to/episode2')
+ xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]), url="/path/to/episode2", listitem=liz, isFolder=False)
+elif action == 'getepisodedetails':
+ url=urllib.unquote_plus(params["url"])
+ if url == '/path/to/episode1':
+ liz=xbmcgui.ListItem('Demo Episode 1', offscreen=True)
+ liz.setProperty('video.original_title', 'Demo æpisod 1x1')
+ liz.setProperty('video.sort_title', '2')
+ liz.setProperty('video.episode', '1')
+ liz.setProperty('video.season', '1')
+ liz.setProperty('video.ratings', '1')
+ liz.setProperty('video.rating1.value', '5')
+ liz.setProperty('video.rating1.votes', '100')
+ liz.setProperty('video.user_rating', '5')
+ liz.setProperty('video.unique_id', '123')
+ liz.setProperty('video.plot_outline', 'Outline yo')
+ liz.setProperty('video.plot', 'Plot yo')
+ liz.setProperty('video.tag_line', 'Tag yo')
+ liz.setProperty('video.duration_minutes', '110')
+ liz.setProperty('video.mpaa', 'T')
+ liz.setProperty('video.first_aired', '2007-01-01')
+ liz.setProperty('video.thumbs', '2')
+ liz.setProperty('video.thumb1.url', 'DefaultBackFanart.png')
+ liz.setProperty('video.thumb1.aspect', '1.78')
+ liz.setProperty('video.thumb2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.thumb2.aspect', '2.35')
+ liz.setProperty('video.genre','Action / Comedy')
+ liz.setProperty('video.country', 'Norway / Sweden / China')
+ liz.setProperty('video.writing_credits', 'None / Want / To Admit It')
+ liz.setProperty('video.director', 'spiff / spiff2')
+ liz.setProperty('video.actors', '2')
+ liz.setProperty('video.actor1.name', 'spiff')
+ liz.setProperty('video.actor1.role', 'himself')
+ liz.setProperty('video.actor1.sort_order', '2')
+ liz.setProperty('video.actor1.thumb', '/home/akva/Pictures/fish.jpg')
+ liz.setProperty('video.actor1.thumb_aspect', 'poster')
+ liz.setProperty('video.actor2.name', 'monkey')
+ liz.setProperty('video.actor2.role', 'orange')
+ liz.setProperty('video.actor2.sort_order', '1')
+ liz.setProperty('video.actor1.thumb_aspect', '1.78')
+ liz.setProperty('video.actor2.thumb', '/home/akva/Pictures/coffee.jpg')
+ liz.setProperty('video.date_added', '2016-01-01')
+ xbmcplugin.setResolvedUrl(handle=int(sys.argv[1]), succeeded=True, listitem=liz)
+ elif url == '/path/to/episode2':
+ liz=xbmcgui.ListItem('Demo Episode 2', offscreen=True)
+ liz.setProperty('video.original_title', 'Demo æpisod 2x2')
+ liz.setProperty('video.sort_title', '1')
+ liz.setProperty('video.episode', '2')
+ liz.setProperty('video.season', '2')
+ liz.setProperty('video.ratings', '1')
+ liz.setProperty('video.rating1.value', '5')
+ liz.setProperty('video.rating1.votes', '100')
+ liz.setProperty('video.user_rating', '5')
+ liz.setProperty('video.unique_id', '123')
+ liz.setProperty('video.plot_outline', 'Outline yo')
+ liz.setProperty('video.plot', 'Plot yo')
+ liz.setProperty('video.tag_line', 'Tag yo')
+ liz.setProperty('video.duration_minutes', '110')
+ liz.setProperty('video.mpaa', 'T')
+ liz.setProperty('video.first_aired', '2007-01-01')
+ liz.setProperty('video.thumbs', '2')
+ liz.setProperty('video.thumb1.url', 'DefaultBackFanart.png')
+ liz.setProperty('video.thumb1.aspect', '1.78')
+ liz.setProperty('video.thumb2.url', '/home/akva/Pictures/hawaii-shirt.png')
+ liz.setProperty('video.thumb2.aspect', '2.35')
+ liz.setProperty('video.genre','Action / Comedy')
+ liz.setProperty('video.country', 'Norway / Sweden / China')
+ liz.setProperty('video.writing_credits', 'None / Want / To Admit It')
+ liz.setProperty('video.director', 'spiff / spiff2')
+ liz.setProperty('video.actors', '2')
+ liz.setProperty('video.actor1.name', 'spiff')
+ liz.setProperty('video.actor1.role', 'himself')
+ liz.setProperty('video.actor1.sort_order', '2')
+ liz.setProperty('video.actor1.thumb', '/home/akva/Pictures/fish.jpg')
+ liz.setProperty('video.actor1.thumb_aspect', 'poster')
+ liz.setProperty('video.actor2.name', 'monkey')
+ liz.setProperty('video.actor2.role', 'orange')
+ liz.setProperty('video.actor2.sort_order', '1')
+ liz.setProperty('video.actor1.thumb_aspect', '1.78')
+ liz.setProperty('video.actor2.thumb', '/home/akva/Pictures/coffee.jpg')
+ liz.setProperty('video.date_added', '2016-01-01')
+ xbmcplugin.setResolvedUrl(handle=int(sys.argv[1]), succeeded=True, listitem=liz)
+
+
+
+xbmcplugin.endOfDirectory(int(sys.argv[1]))