Skip to content

Instantly share code, notes, and snippets.

@henryjfry
henryjfry / player.py
Last active January 26, 2020 17:51
TMDB Helper => Clearlogo ~/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/player.py
def build_details(self):
self.item['id'] = self.tmdb_id
self.item['tmdb'] = self.tmdb_id
self.item['imdb'] = self.details.get('infolabels', {}).get('imdbnumber')
self.item['name'] = u'{0} ({1})'.format(self.item.get('title'), self.item.get('year'))
self.item['firstaired'] = self.details.get('infolabels', {}).get('premiered')
self.item['premiered'] = self.details.get('infolabels', {}).get('premiered')
self.item['released'] = self.details.get('infolabels', {}).get('premiered')
self.item['showname'] = self.item.get('title')
self.item['clearname'] = self.item.get('title')
@henryjfry
henryjfry / fanarttv.py
Created January 25, 2020 16:32
TMDB Helper - Artwork - ~/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/fanarttv.py
#################
def get_tvshow_clearart(self, ftvid, *args, **kwargs):
artwork = self.get_artwork_best_lc(ftvid, 'tv', 'clearart', *args, **kwargs)
return artwork or self.get_artwork_best_lc(ftvid, 'tv', 'hdclearart', *args, **kwargs)
def get_tvshow_clearlogo(self, ftvid, *args, **kwargs):
artwork = self.get_artwork_best_lc(ftvid, 'tv', 'clearlogo', *args, **kwargs)
return artwork or self.get_artwork_best_lc(ftvid, 'tv', 'hdtvlogo', *args, **kwargs)
@henryjfry
henryjfry / plugin.py
Created January 25, 2020 16:36
TMDB Helper - Artwork ~/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/plugin.py
def get_fanarttv_artwork(self, item, tmdbtype=None, tmdb_id=None, tvdb_id=None):
if not self.fanarttv or tmdbtype not in ['movie', 'tv']:
return item
artwork, lookup_id, func = None, None, None
if tmdbtype == 'tv':
lookup_id = tvdb_id or item.get('tvdb_id')
func = self.fanarttv.get_tvshow_allart_lc
elif tmdbtype == 'movie':
@henryjfry
henryjfry / container.py
Last active January 25, 2020 16:58
TMDB Helper - Artwork + Sorting: ~/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/container.py
def exp_fanarttv(self):
return True
# if self.params.get('fanarttv', '').capitalize() == 'False':
# return False
# if self.params.get('fanarttv', '').capitalize() == 'True':
# return True
# if self.addon.getSettingBool('widget_fanarttv_lookup') and self.params.get('widget', '').capitalize() == 'True':
# return True
@henryjfry
henryjfry / listitem.py
Created January 25, 2020 17:01
TMDBHelper - Artwork + List Sort - ~/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/listitem.py
class ListItem(object):
def __init__(self, label=None, label2=None, dbtype=None, library=None, tmdb_id=None, imdb_id=None, dbid=None, tvdb_id=None,
cast=None, infolabels=None, infoproperties=None, poster=None, thumb=None, icon=None, fanart=None, nextpage=None,
streamdetails=None, clearlogo=None, clearart=None, banner=None, landscape=None, mixed_type=None, url=None, is_folder=True):
self.addon = xbmcaddon.Addon()
self.addonpath = self.addon.getAddonInfo('path')
self.select_action = self.addon.getSettingInt('select_action')
self.label = label or 'N/A'
self.label2 = label2 or ''
self.library = library or '' # <content target= video, music, pictures, none>
@henryjfry
henryjfry / traktapi.py
Last active February 18, 2020 05:27
TMDBHelper Sync Trakt to library - /home/osmc/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/traktapi.py
kodi-send --action='RunPlugin(plugin://plugin.video.themoviedb.helper?info=trakt_collection2)'
####/home/osmc/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/container.py
def list_traktcollection2(self):
items = TraktAPI(tmdb='tv', login=True).get_collection2('tv', utils.try_parse_int(self.params.get('page', 1)))
###
def list_play(self):
if not self.params.get('type') or not self.params.get('tmdb_id'):
@henryjfry
henryjfry / player.py
Last active February 6, 2020 22:09
SEREN video plays in background /home/osmc/.kodi/addons/plugin.video.seren/resources/lib/modules/player.py
def start_playback(self):
import xbmc
import xbmcgui
# xbmc.log(str(xbmcgui.getCurrentWindowDialogId())+'===>service.next_playlist2', level=xbmc.LOGNOTICE)
# xbmc.log(str(xbmc.getCondVisibility('Player.HasVideo'))+'===>service.next_playlist2', level=xbmc.LOGNOTICE)
for i in range(30):
if xbmc.getCondVisibility('Player.HasVideo'):
xbmc.executebuiltin('ActivateWindow(fullscreenvideo)')
break
@henryjfry
henryjfry / urls.json
Created February 8, 2020 11:41
a4kScrapers - urls.json - /home/osmc/.kodi/userdata/addon_data/plugin.video.seren/providerModules/a4kScrapers/urls.json
{
"trackers": {
"cached": { "search": "", "domains": [{ "base": "" }] },
"bitlord": {
"search": "/get_list",
"domains": [
{ "base": "https://bitlordsearch.com" }
]
},
"btdb": {
@henryjfry
henryjfry / request.py
Created February 15, 2020 10:38
SEREN - request errors + Play Next (PlayerControl(BigSkipForward)): /home/osmc/.kodi/userdata/addon_data/plugin.video.seren/providerModules/a4kScrapers/request.py
###/home/osmc/.kodi/userdata/addon_data/plugin.video.seren/providerModules/a4kScrapers/request.py
def _request_core(self, request, sequental = None):
self.has_timeout_exc = False
self.exc_msg = ''
if sequental is None:
sequental = self._sequental
response_err = lambda: None
@henryjfry
henryjfry / container.py
Last active September 15, 2021 20:36
TMDBHelper Library integration: ~/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/container.py
kodi-send --action='RunPlugin(plugin://plugin.video.themoviedb.helper?info=trakt_collection_tv)'
###~/.kodi/addons/plugin.video.themoviedb.helper/resources/lib/container.py
def router(self):
# ROUTER LIST FUNCTIONS
if self.params.get('info') == 'stream':
from resources.lib.player import Player
xbmcplugin.setResolvedUrl(self.handle, True, xbmcgui.ListItem(path=str()))
params = self.params.copy()