Skip to content

Instantly share code, notes, and snippets.

@henryjfry
henryjfry / remotedb.py
Created May 26, 2019 17:11
Fix for KODI plugin.video.realizer not displaying episodes as "mediatype" episode (displays more information when paused) (PART 1)
#~/.kodi/addons/plugin.video.realizer/resources/lib/api/remotedb.py
#
#substitute THIS:
meta.update({'mediatype': 'tvshows'})
#For THIS:
meta.update({'mediatype': 'episode'})
@henryjfry
henryjfry / player.py
Last active May 27, 2019 11:30
Fix for KODI plugin.video.realizer not displaying episodes as "mediatype" episode (displays more information when paused) PART 2
#/home/osmc/.kodi/addons/plugin.video.realizer/resources/lib/modules/player.py
#
#
#Change the following from THIS:
#item = control.item(path=url)
#self.infolabels = {"Title": title, "Plot": plot, "year": self.year}
#if self.content == 'episode' and infoMeta == True: self.infolabels.update({"season": meta['season'], "episode": meta['episode'], "tvshowtitle": meta['tvshowtitle'], "showtitle": meta['tvshowtitle'], "tvdb": self.tvdb})
#self.original_meta = meta
@henryjfry
henryjfry / python_widget_refresh.py
Created May 26, 2019 17:27
How to refresh widgets in KODI through python with JSON-RPC, with http authorization by marking an episode watched/unwatched.
#!/usr/bin/env python
import requests
import json
import base64
kodi_credentials = b'user:pass'
kodi_encoded_credentials = base64.b64encode(kodi_credentials)
kodi_authorization = b'Basic ' + kodi_encoded_credentials
kodi_header = { 'Content-Type': 'application/json', 'Authorization': kodi_authorization }
kodi_ip = '127.0.0.1'
@henryjfry
henryjfry / play_tvshows.py
Created May 26, 2019 17:30
Fix OPENMETA issue with ampersands (&) in show titles - plugin.video.openmeta/resources/lib/play_tvshows.py
#TOP OF FILE
#added to process dict "params[lang]" and change ' & ' to ' and '
import ast
######
######
######LINE 54 we add the line below to fix params[lang] which is a dict + change all instances of " & " to " and "
params[lang] = ast.literal_eval(repr(params[lang]).replace(' & ',' and '))
# xbmc.log('LOGHERE-----'+str(params[lang]) , level=2)
link = play_base.on_play_video(players, params, trakt_ids)
@henryjfry
henryjfry / play_base.py
Created May 26, 2019 17:33
Fix OPENMETA issue with ampersands (&) in show titles - plugin.video.openmeta/resources/lib/play_base.py (PART 2)
########LINE 102 Add the uncommented line to replace the commented out line, which replaces " & " with " and "
# link = text.apply_parameters(text.to_unicode(command['link']), parameters)
link = text.apply_parameters(text.to_unicode(command['link']), parameters).replace(' & ',' and ')
# xbmc.log(link, level=4)
@henryjfry
henryjfry / episodes.py
Created May 26, 2019 17:39
script.skin.helper.widgets - FIX next up episodes and hide episodes which air today.
#~/.kodi/addons/script.skin.helper.widgets/resources/lib/episodes.py
##
#below "import xbmc" add the following:
from resources.lib.utils import log_msg, ADDON_ID
import time, datetime
from datetime import date
from datetime import datetime
######
######
######
@henryjfry
henryjfry / realizer-player.py
Last active May 30, 2020 19:38
/home/osmc/.kodi/addons/plugin.video.realizer/resources/lib/modules/player.py
def run(self, title, year, season, episode, imdb, tvdb, url, meta, id, clearlogo):
try:
control.sleep(200)
self.autoResume = control.setting('bookmarks.autoresume')
self.nextup_timeout = control.setting('nextup.timeout')
self.nextup_service = control.setting('nextup.service')
self.next_episode = []
self.seekStatus = False
infoMeta = False
self.filetype = 'episode'
@henryjfry
henryjfry / menu_items.py
Created October 13, 2019 08:51
openmeta - menu_items.py (latest releases - ~/.kodi/addons/plugin.video.openmeta/resources/lib/menu_items.py)
{
'label': 'Latest releases (Trakt)',
'path': plugin.url_for('trakt_movies_latest_releases'),
'thumbnail': plugin.get_media_icon('traktcalendar'),
'fanart': plugin.get_addon_fanart(),
'context_menu': [
('Play (random)', 'RunPlugin(%s)' % plugin.url_for('trakt_movies_play_random_latest_releases'))]
},
{
'label': 'Latest 4K releases (Trakt)',
@henryjfry
henryjfry / nav_movies.py
Last active October 13, 2019 08:52
openmeta - latest releases - ~/.kodi/addons/plugin.video.openmeta/resources/lib/nav_movies.py
@plugin.route('/movies/trakt/latest_releases')
def trakt_movies_latest_releases(raw=False):
results = sorted(Trakt.get_latest_releases_movies(), key=lambda k: k['listed_at'], reverse=True)
if raw:
return results
else:
return list_trakt_movies(results)
@plugin.route('/movies/trakt/latest_4k_releases')
def trakt_movies_latest_4k_releases(raw=False):
@henryjfry
henryjfry / Trakt.py
Created October 13, 2019 08:53
Openmeta - latest releases - ~/osmc/.kodi/addons/plugin.video.openmeta/resources/lib/Trakt.py
@plugin.cached(TTL=60, cache='Trakt')
def get_latest_releases_movies():
return call_trakt('users/giladg/lists/latest-releases/items?extended=full', with_auth=False)
@plugin.cached(TTL=60, cache='Trakt')
def get_latest_4k_releases_movies():
return call_trakt('users/giladg/lists/latest-4k-releases/items?extended=full', with_auth=False)