Skip to content

Instantly share code, notes, and snippets.

@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 / 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 / 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 / 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 / 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 / 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 / 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 / ui.py
Last active January 21, 2020 20:22
FOXYSTREAMS Clearlogo - ~/.kodi/addons/plugin.video.foxystreams/resources/lib/ui.py
def metadata_from(args):
metadata = {
'info': {
'title': args.get('title', ''),
'plot': args.get('plot', ''),
'genres': args.get('genre', ''),
'votes': args.get('votes', ''),
'rating': args.get('rating', ''),
'year': args.get('year', ''),
'mpaa': args.get('mpaa', ''),
@henryjfry
henryjfry / context3.py
Created January 19, 2020 13:07
Openmeta + Context menu - TMDB Helper ~/.kodi/addons/plugin.video.openmeta/context3.py
sudo systemctl stop mediacenter
##addon.xml
<item library="context3.py">
<label>TMDB Helper - Play</label>
<visible>String.IsEqual(ListItem.dbtype,movie) | String.IsEqual(ListItem.dbtype,episode)</visible>
</item>
##addon.xml
@henryjfry
henryjfry / DialogVideoList.py
Created January 19, 2020 12:45
Openinfo Context Menu + TMDB Helper ~/.kodi/addons/script.extendedinfo/resources/lib/DialogVideoList.py
@ch.action('contextmenu', 500)
def context_menu(self):
Utils.show_busy()
if self.listitem.getProperty('dbid') and self.listitem.getProperty('dbid') != 0:
dbid = self.listitem.getProperty('dbid')
else:
dbid = 0
item_id = self.listitem.getProperty('id')
if self.type == 'tv':
imdb_id = Utils.fetch(TheMovieDB.get_tvshow_ids(item_id), 'imdb_id')