forked from vadyur/script.media.aggregator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dispatcher.py
118 lines (88 loc) · 3.21 KB
/
dispatcher.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import sys
from plugin import get_params
def dispatch():
from log import debug
params = get_params()
debug(params)
from player import load_settings
import vsdbg
vsdbg._bp()
if 'torrent' in params:
from player import play_torrent
settings = load_settings()
if settings.show_sources and 'onlythis' not in params:
import filesystem, urllib
rel_path = urllib.unquote(params['path']).decode('utf-8')
debug(rel_path)
filename = urllib.unquote(params['nfo']).decode('utf-8').replace(u'.nfo', u'.strm')
debug(filename)
path = filesystem.join(settings.base_path(), rel_path, filename)
debug(path)
def run(torr, index=None):
params['onlythis'] = 'true'
params['torrent'] = torr
if index is not None:
params['index'] = index
play_torrent(settings=settings, params=params)
import context
res = context.main(settings, path.encode('utf-8'), filename.encode('utf-8'), run)
if not res:
play_torrent(settings=settings, params=params)
else:
play_torrent(settings=settings, params=params)
elif params.get('action') == 'anidub-add-favorites':
from player import action_anidub_add_favorites
action_anidub_add_favorites(load_settings())
elif params.get('action') == 'settings':
from player import dialog_action, dialog_action_case
dialog_action(dialog_action_case.settings, load_settings())
elif params.get('action') == 'search':
from player import dialog_action, dialog_action_case
dialog_action(dialog_action_case.search, load_settings(), params)
elif params.get('action') == 'search_context':
from player import action_search_context
action_search_context(params)
elif params.get('action') == 'catalog':
from player import dialog_action, dialog_action_case
dialog_action(dialog_action_case.catalog, load_settings())
elif params.get('action') == 'show_category':
from player import action_show_category
action_show_category(params)
elif params.get('action') == 'show_library':
from player import action_show_library
action_show_library(params)
elif params.get('action') == 'show_similar':
from player import action_show_similar
action_show_similar(params)
elif params.get('action') == 'add_media':
vsdbg._bp()
from player import action_add_media
action_add_media(params, load_settings())
elif params.get('action') == 'update_service':
vsdbg._bp()
from backgrounds import update_service
update_service(show_progress=params.get('show_progress'))
elif params.get('action') == 'scrape_nnm':
from backgrounds import scrape_nnm
scrape_nnm()
elif params.get('action') == 'clean_movies':
from backgrounds import clean_movies
clean_movies()
elif params.get('action') == 'select_source':
from context import main
vsdbg._bp()
main()
elif params.get('action') == 'add_media_process':
#vsdbg._bp()
from backgrounds import add_media_process
title = params.get('title')
import urllib
title = urllib.unquote_plus(title)
title = title.decode('utf-8')
add_media_process(title, params.get('imdb'))
else:
from player import menu_actions, dialog_action, main_menu
if params.get('menu') in menu_actions:
dialog_action(menu_actions.index(params.get('menu')), load_settings(), params)
else:
main_menu(menu_actions)