Skip to content

Commit

Permalink
tidyup method
Browse files Browse the repository at this point in the history
  • Loading branch information
jurialmunkey committed Apr 20, 2022
1 parent 4dff11c commit 5a7f5a8
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 44 deletions.
2 changes: 1 addition & 1 deletion addon.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<addon id="plugin.video.themoviedb.helper"
version="4.7.9"
version="4.7.10"
name="TheMovieDb Helper"
provider-name="jurialmunkey">
<requires>
Expand Down
78 changes: 35 additions & 43 deletions resources/lib/script/router.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,7 @@
import sys
from resources.lib.addon.parser import reconfigure_legacy_params
from resources.lib.addon.logger import kodi_log
from resources.lib.addon.modimp import lazyimport


def imp_mod(module_name, import_attr):
module = {'method': None}
lazyimport(module, module_name, import_attr=import_attr, import_as='method')
return module['method']
from resources.lib.addon.modimp import importmodule


class Script(object):
Expand All @@ -26,78 +20,76 @@ def __init__(self):

routing_table = {
'authenticate_trakt':
lambda **kwargs: imp_mod('resources.lib.api.trakt.api', 'TraktAPI')(force=True),
lambda **kwargs: importmodule('resources.lib.api.trakt.api', 'TraktAPI')(force=True),
'revoke_trakt':
lambda **kwargs: imp_mod('resources.lib.api.trakt.api', 'TraktAPI')().logout(),
lambda **kwargs: importmodule('resources.lib.api.trakt.api', 'TraktAPI')().logout(),
'split_value':
lambda **kwargs: imp_mod('resources.lib.script.method', 'split_value')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'split_value')(**kwargs),
'kodi_setting':
lambda **kwargs: imp_mod('resources.lib.script.method', 'kodi_setting')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'kodi_setting')(**kwargs),
'sync_trakt':
lambda **kwargs: imp_mod('resources.lib.script.method', 'sync_trakt')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'sync_trakt')(**kwargs),
'manage_artwork':
lambda **kwargs: imp_mod('resources.lib.script.method', 'manage_artwork')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'manage_artwork')(**kwargs),
'refresh_details':
lambda **kwargs: imp_mod('resources.lib.script.method', 'refresh_details')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'refresh_details')(**kwargs),
'related_lists':
lambda **kwargs: imp_mod('resources.lib.script.method', 'related_lists')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'related_lists')(**kwargs),
'user_list':
lambda **kwargs: imp_mod('resources.lib.script.method', 'user_list')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'user_list')(**kwargs),
'like_list':
lambda **kwargs: imp_mod('resources.lib.script.method', 'like_list')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'like_list')(**kwargs),
'delete_list':
lambda **kwargs: imp_mod('resources.lib.script.method', 'delete_list')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'delete_list')(**kwargs),
'rename_list':
lambda **kwargs: imp_mod('resources.lib.script.method', 'rename_list')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'rename_list')(**kwargs),
'blur_image':
lambda **kwargs: imp_mod('resources.lib.script.method', 'blur_image')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'blur_image')(**kwargs),
'image_colors':
lambda **kwargs: imp_mod('resources.lib.script.method', 'image_colors')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'image_colors')(**kwargs),
'monitor_userlist':
lambda **kwargs: imp_mod('resources.lib.update.userlist', 'monitor_userlist')(),
lambda **kwargs: importmodule('resources.lib.update.userlist', 'monitor_userlist')(),
'update_players':
lambda **kwargs: imp_mod('resources.lib.script.method', 'update_players')(),
lambda **kwargs: importmodule('resources.lib.script.method', 'update_players')(),
'set_defaultplayer':
lambda **kwargs: imp_mod('resources.lib.script.method', 'set_defaultplayer')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'set_defaultplayer')(**kwargs),
'configure_players':
lambda **kwargs: imp_mod('resources.lib.player.configure', 'configure_players')(**kwargs),
lambda **kwargs: importmodule('resources.lib.player.configure', 'configure_players')(**kwargs),
'library_autoupdate':
lambda **kwargs: imp_mod('resources.lib.script.method', 'library_autoupdate')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'library_autoupdate')(**kwargs),
'log_request':
lambda **kwargs: imp_mod('resources.lib.script.method', 'log_request')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'log_request')(**kwargs),
'delete_cache':
lambda **kwargs: imp_mod('resources.lib.script.method', 'delete_cache')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'delete_cache')(**kwargs),
'play':
lambda **kwargs: imp_mod('resources.lib.script.method', 'play_external')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'play_external')(**kwargs),
'play_using':
lambda **kwargs: imp_mod('resources.lib.script.method', 'play_using')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'play_using')(**kwargs),
'add_to_library':
lambda **kwargs: imp_mod('resources.lib.script.method', 'add_to_library')(**kwargs),
lambda **kwargs: importmodule('resources.lib.script.method', 'add_to_library')(**kwargs),
'add_path':
lambda **kwargs: imp_mod('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
lambda **kwargs: importmodule('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
'add_query':
lambda **kwargs: imp_mod('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
lambda **kwargs: importmodule('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
'close_dialog':
lambda **kwargs: imp_mod('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
lambda **kwargs: importmodule('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
'reset_path':
lambda **kwargs: imp_mod('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
lambda **kwargs: importmodule('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
'call_id':
lambda **kwargs: imp_mod('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
lambda **kwargs: importmodule('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
'call_path':
lambda **kwargs: imp_mod('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
lambda **kwargs: importmodule('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
'call_update':
lambda **kwargs: imp_mod('resources.lib.window.manager', 'WindowManager')(**kwargs).router()
lambda **kwargs: importmodule('resources.lib.window.manager', 'WindowManager')(**kwargs).router(),
'restart_service':
lambda **kwargs: importmodule('resources.lib.monitor.service', 'restart_service_monitor')()
}

def router(self):
if not self.params:
return
if self.params.get('restart_service'):
from resources.lib.monitor.service import restart_service_monitor
return restart_service_monitor()

routes_available = set(self.routing_table.keys())
params_given = set(self.params.keys())
route_taken = set.intersection(routes_available, params_given).pop()
kodi_log(['lib.script.router.Script - route_taken\t', route_taken], 0)
kodi_log(['lib.script.router - route_taken\t', route_taken], 0)
return self.routing_table[route_taken](**self.params)

0 comments on commit 5a7f5a8

Please sign in to comment.