import sys
import os
import re,json
-
-def getParams():
- return dict(urlparse.parse_qsl(self.sysARG[2][1:]))
-
-
-def resolve_url(url):
- if TEST:
- return url
- import urlresolver
- duration=7500 #in milliseconds
- message = "Cannot Play URL"
- stream_url = urlresolver.HostedMediaFile(url=url).resolve()
- # If urlresolver returns false then the video url was not resolved.
- if not stream_url:
- dialog = xbmcgui.Dialog()
- dialog.notification("URL Resolver Error", message, xbmcgui.NOTIFICATION_INFO, duration)
- return False
- else:
- return stream_url
+import datetime
+
+# NB 03.07.19 def getParams():
+# NB 03.07.19 return dict(urlparse.parse_qsl(self.sysARG[2][1:]))
+# NB 03.07.19
+# NB 03.07.19 def resolve_url(url):
+# NB 03.07.19 if TEST:
+# NB 03.07.19 return url
+# NB 03.07.19 import urlresolver
+# NB 03.07.19 duration=7500 #in milliseconds
+# NB 03.07.19 message = "Cannot Play URL"
+# NB 03.07.19 stream_url = urlresolver.HostedMediaFile(url=url).resolve()
+# NB 03.07.19 # If urlresolver returns false then the video url was not resolved.
+# NB 03.07.19 if not stream_url:
+# NB 03.07.19 dialog = xbmcgui.Dialog()
+# NB 03.07.19 dialog.notification("URL Resolver Error", message, xbmcgui.NOTIFICATION_INFO, duration)
+# NB 03.07.19 return False
+# NB 03.07.19 else:
+# NB 03.07.19 return stream_url
+# NB 03.07.19
+# NB 03.07.19 def getParams():
+# NB 03.07.19 param=[]
+# NB 03.07.19 paramstring=sys.argv[2]
+# NB 03.07.19
+# NB 03.07.19 if len(paramstring)>=2:
+# NB 03.07.19 params=sys.argv[2]
+# NB 03.07.19 cleanedparams=params.replace('?','')
+# NB 03.07.19
+# NB 03.07.19 if (params[len(params)-1]=='/'):
+# NB 03.07.19 params=params[0:len(params)-2]
+# NB 03.07.19
+# NB 03.07.19 pairsofparams=cleanedparams.split('&')
+# NB 03.07.19 param={}
+# NB 03.07.19
+# NB 03.07.19 for i in range(len(pairsofparams)):
+# NB 03.07.19 splitparams={}
+# NB 03.07.19 splitparams=pairsofparams[i].split('=')
+# NB 03.07.19 if (len(splitparams))==2:
+# NB 03.07.19 param[splitparams[0]]=splitparams[1]
+# NB 03.07.19
+# NB 03.07.19 return param
+# NB 03.07.19
+# NB 03.07.19 def addLink(name,url,iconimage,description):
+# NB 03.07.19 ok = True
+# NB 03.07.19 li = xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=iconimage)
+# NB 03.07.19 li.setInfo( type="Video", infoLabels={ "Title": name , "Plot": description} )
+# NB 03.07.19 ok = xbmcplugin.addDirectoryItem(handle=addon_handle,url=url,listitem=li)
+# NB 03.07.19 return ok
+# NB 03.07.19
+# NB 03.07.19 def addDir(name,url,mode,iconimage,description):
+# NB 03.07.19 u = sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
+# NB 03.07.19 ok = True
+# NB 03.07.19 li = xbmcgui.ListItem(name, iconImage="DefaultFolder.png", thumbnailImage=iconimage)
+# NB 03.07.19 li.setInfo( type="Video", infoLabels={ "Title": name , "Plot": description} )
+# NB 03.07.19 ok = xbmcplugin.addDirectoryItem(handle=addon_handle,url=u,listitem=li,isFolder=True)
+# NB 03.07.19 return ok
+# NB 03.07.19
+# NB 03.07.19 def ytUrl(id):
+# NB 03.07.19 #return 'http://www.youtube.com/watch?v='+id
+# NB 03.07.19 import youtube_dl
+# NB 03.07.19 ydl = youtube_dl.YoutubeDL({'outtmpl': '%(id)s%(ext)s', 'quiet': True})
+# NB 03.07.19 with ydl:
+# NB 03.07.19 result = ydl.extract_info(
+# NB 03.07.19 'http://www.youtube.com/watch?v='+id,
+# NB 03.07.19 download = False,
+# NB 03.07.19 )
+# NB 03.07.19
+# NB 03.07.19 if 'entries' in result:
+# NB 03.07.19 # Can be a playlist or a list of videos
+# NB 03.07.19 video = result['entries'][0]
+# NB 03.07.19 else:
+# NB 03.07.19 # Just a video
+# NB 03.07.19 video = result['formats'][0]['url']
+# NB 03.07.19
+# NB 03.07.19 return video
def getUrl(url):
if sys.version_info[0]>2:
return urllib2.urlopen(req).read()
#return urllib2.urlopen(url).read()
-def getParams():
- 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
-
-def addLink(name,url,iconimage,description):
- ok = True
- li = xbmcgui.ListItem(name, iconImage="DefaultVideo.png", thumbnailImage=iconimage)
-# NB 18.04.19 li.setInfo( type="Video", infoLabels={ "Title": name } )
- li.setInfo( type="Video", infoLabels={ "Title": name , "Plot": description} )
- ok = xbmcplugin.addDirectoryItem(handle=addon_handle,url=url,listitem=li)
- return ok
-
-def addDir(name,url,mode,iconimage,description):
- u = sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)
- ok = True
- li = xbmcgui.ListItem(name, iconImage="DefaultFolder.png", thumbnailImage=iconimage)
- li.setInfo( type="Video", infoLabels={ "Title": name , "Plot": description} )
- ok = xbmcplugin.addDirectoryItem(handle=addon_handle,url=u,listitem=li,isFolder=True)
- return ok
-
-def ytUrl(id):
- #return 'http://www.youtube.com/watch?v='+id
- import youtube_dl
- ydl = youtube_dl.YoutubeDL({'outtmpl': '%(id)s%(ext)s', 'quiet': True})
- with ydl:
- result = ydl.extract_info(
- 'http://www.youtube.com/watch?v='+id,
- download = False,
- )
-
- if 'entries' in result:
- # Can be a playlist or a list of videos
- video = result['entries'][0]
- else:
- # Just a video
- video = result['formats'][0]['url']
-
- return video
-
#from kodiswift import xbmcgui
#from kodiswift import Plugin
#plugin = Plugin()
#__language__ = addon.getLocalizedString
# NB 22.04.19 __icon__ = addon.getAddonInfo('icon')
# NB 22.04.19 __fanart__ = addon.getAddonInfo('fanart')
+ fanart = addon.getAddonInfo('fanart')
addon_handle = int(sys.argv[1])
xbmcplugin.setContent(addon_handle, 'movies')
sys.stderr = open(os.devnull, "w")
for row in json.loads(content):
#row['link'] = ytUrl(row['id'])
#row['link'] = resolve_url(row['link'])
+ info = {
+ 'title': row['title'],
+ 'writer': row['title'],
+ 'plotoutline': row['title'],
+ 'originaltitle': row['title'],
+ 'tagline': row['title'],
+ 'link': row['link'],
+ 'plot': row['description'],
+ }
+
+ if 'created' in row:
+ date = datetime.datetime.strptime(row['created'],'%Y-%m-%d %H:%M:%S')
+ info['year'] = date.year
+ info['premiered'] = date.strftime('%Y-%m-%d') #'-'.join([date.year,date.month,date.day])
+ info['dateadded'] = row['created']
+ info['date'] = row['created']
+ info['aired'] = row['created']
+
if 'id' in row:
- row['link'] = 'plugin://plugin.video.youtube/play/?video_id='+row['id']
+ info['link'] = 'plugin://plugin.video.youtube/play/?video_id='+row['id']
+ #row['premiered']
if TEST:
- print('\t'.join([
- row['lang'],
- row['title'],
- row['description'],
- row['id'],
- row['link'],
- ]))
- break
+ print(info)
+# NB 03.07.19 print('\t'.join([
+# NB 03.07.19 row['lang'],
+# NB 03.07.19 row['title'],
+# NB 03.07.19 row['description'],
+# NB 03.07.19 row['id'],
+# NB 03.07.19 row['link'],
+# NB 03.07.19 ]))
+# NB 03.07.19 break
else:
- iconimage = 'https://i1.ytimg.com/vi/' + row['id'] + '/mqdefault.jpg'
- title = row['title'] +' - ' + row['description']
- li = xbmcgui.ListItem(title, iconImage="DefaultVideo.png", thumbnailImage=iconimage)
+ # * default
+ # * mqdefault
+ # * hqdefault
+ # * sddefault
+
+ defaultImage = 'DefaultVideo.png'
+ iconurl = 'https://i1.ytimg.com/vi/' + row['id']
+ size1Image = iconurl + '/default.jpg'
+ size21Image = iconurl + '/mqdefault.jpg'
+ size3Image = iconurl + '/hqdefault.jpg'
+ size4Image = iconurl + '/sddefault.jpg'
+ thumbnailImage = iconurl + '/mqdefault.jpg'
+ label = row['title'] +' - ' + row['description']
+
+ if 0:
+ info['plot'] = 'plot: '+info['plot']
+ info['tvshowtitle'] = 'tvshowtitle: '+info['title']
+ info['writer'] = 'writer: '+info['writer']
+ info['tagline'] = 'tagline: '+info['tagline']
+ info['originaltitle'] = 'originaltitle: '+info['originaltitle']
+ info['plotoutline'] = 'plotoutline: '+info['plotoutline']
+ label = 'label: '+label
+
+ li = xbmcgui.ListItem(label, iconImage=defaultImage)#, thumbnailImage=size1Image)
#row['link'] = build_url({'mode' :'play', 'playlink' : row['link']})
#li.setProperty('IsPlayable' , 'true')
- li.setInfo( 'video', infoLabels={
- 'title': row['title'],
- 'plot': row['description']
+ li.setInfo('video', infoLabels=info)
+ li.setArt({
+ 'thumb': size3Image,
+ 'poster': size3Image,
+ 'banner': size21Image,
+ 'fanart': size4Image,
+ 'clearart': fanart,
+ 'clearlogo': fanart,
+ 'landscape': fanart,
})
+ #li.setLabel('setLabel')
+ #li.setLabel2('setLabel2')
+ #li.setThumbnailImage(thumbnailImage)
- xbmcplugin.addDirectoryItem(handle=addon_handle,url=row['link'],listitem=li)
+ xbmcplugin.addDirectoryItem(handle=addon_handle,url=info['link'],listitem=li)
# NB 17.04.19 url = 'https://nbdom.net/data/en/911-experiments-The_Force_Behind_the_Motion.mp4'
# NB 17.04.19 li = xbmcgui.ListItem('My First Video!', iconImage='DefaultVideo.png')