]> git.nbdom.net Git - plugin.video.news.nbdom.net.git/commitdiff
addon.py
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 3 Jul 2019 16:23:12 +0000 (17:23 +0100)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 3 Jul 2019 16:23:12 +0000 (17:23 +0100)
addon.py

index f330df965826896fa554ff28b61fb2cae31f0ca3..194cd54fdda28b5a3b727c31ca003afe3be70fe4 100644 (file)
--- a/addon.py
+++ b/addon.py
@@ -8,25 +8,81 @@
 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:
@@ -47,63 +103,6 @@ def getUrl(url):
                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()
@@ -118,6 +117,7 @@ def index():
                #__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")
@@ -126,30 +126,80 @@ def index():
        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')