diff --git a/script.module.slyguy/addon.xml b/script.module.slyguy/addon.xml index ed9b4f69..ec325431 100644 --- a/script.module.slyguy/addon.xml +++ b/script.module.slyguy/addon.xml @@ -1,14 +1,16 @@ - + + + executable + - - Common code required by all Slyguy add-ons + Common code, proxy and settings required by all Slyguy add-ons true diff --git a/script.module.slyguy/default.py b/script.module.slyguy/default.py index 0781db10..a4285cdf 100644 --- a/script.module.slyguy/default.py +++ b/script.module.slyguy/default.py @@ -5,5 +5,4 @@ sys.path.insert(1, os.path.realpath(os.path.join(path, 'resources/modules'))) from resources.lib.plugin import plugin - -plugin.dispatch(sys.argv[2]) +plugin.dispatch() diff --git a/script.module.slyguy/resources/lib/plugin.py b/script.module.slyguy/resources/lib/plugin.py index 6ead3fb7..10bcb549 100644 --- a/script.module.slyguy/resources/lib/plugin.py +++ b/script.module.slyguy/resources/lib/plugin.py @@ -2,15 +2,21 @@ from kodi_six import xbmc -from slyguy import plugin, settings, gui -from slyguy.util import get_kodi_setting, get_addon, run_plugin +from slyguy import plugin, gui +from slyguy.util import get_kodi_setting, get_addon from .util import check_updates, get_slyguy_addons from .language import _ + @plugin.route('') def home(**kwargs): - settings.open() + folder = plugin.Folder() + folder.add_item(label=_.UPDATE_ADDONS, path=plugin.url_for(update_addons)) + folder.add_item(label=_.CHECK_LOG, path=plugin.url_for(check_log)) + folder.add_item(label=_.INSTALL_WV_DRM, path=plugin.url_for(plugin.ROUTE_IA_INSTALL), _condition=not xbmc.getCondVisibility('System.Platform.Android')) + folder.add_item(label=_.SETTINGS, path=plugin.url_for(plugin.ROUTE_SETTINGS)) + return folder @plugin.route() def update_addons(**kwargs): @@ -45,7 +51,7 @@ def check_log(**kwargs): addon_ids = [x.lower() for x in get_slyguy_addons()] errors = [] - text = text.decode('utf8') + text = text.decode('utf8', errors='ignore') for line in text.splitlines(): match = None if 'ERROR :' in line: #Kodi 19+ diff --git a/script.module.slyguy/resources/modules/slyguy/plugin.py b/script.module.slyguy/resources/modules/slyguy/plugin.py index e6ba3362..da7dbc81 100644 --- a/script.module.slyguy/resources/modules/slyguy/plugin.py +++ b/script.module.slyguy/resources/modules/slyguy/plugin.py @@ -765,12 +765,19 @@ def display(self): process_news() def add_item(self, *args, **kwargs): + condition = kwargs.pop('_condition', None) position = kwargs.pop('_position', None) kiosk = kwargs.pop('_kiosk', None) if kiosk == False and settings.getBool('kiosk', False): return False + if condition is not None: + if callable(condition): + condition = condition() + if not condition: + return False + item = Item(*args, **kwargs) if position == None: