summaryrefslogtreecommitdiff
path: root/plugin.video.psvue/main.py
blob: cb44ac7796b15e82223355a67ea21e0363c095bb (plain)
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
119
120
121
122
123
from resources.lib.ps_vue import *

params=get_params()
url=None
name=None
mode=None
airing_id='null'
channel_id='null'
program_id='null'
series_id='null'
tms_id='null'

try: url=urllib.unquote_plus(params["url"])
except: pass
try: name=urllib.unquote_plus(params["name"])
except: pass
try: mode=int(params["mode"])
except: pass
try: airing_id=params["airing_id"]
except: pass
try: channel_id=params["channel_id"]
except: pass
try: program_id=params["program_id"]
except: pass
try: series_id=params["series_id"]
except: pass
try: tms_id=params["tms_id"]
except: pass


check_device_id()


sony = SONY()
if mode < 998:
    if ADDON.getSetting(id='last_auth') != '':
        last_auth = stringToDate(ADDON.getSetting(id='last_auth'), "%Y-%m-%dT%H:%M:%S.%fZ")
        if (datetime.utcnow() - last_auth).total_seconds() > 900: sony.check_auth()
    else:
        sony.check_auth()

if mode == None and mode < 998:
    if ADDON.getSetting(id='default_profile') == '' or ADDON.getSetting(id='always_ask_profile') == 'true': sony.get_profiles()
    main_menu()

elif mode == 30:
    all_channels()

elif mode == 50:
    timeline()

elif mode == 100:
    my_shows()

elif mode == 150:
    list_episodes(program_id)

elif mode == 200:
    favorite_channels()

elif mode == 300:
    live_tv()

elif mode == 400:
    sports()

elif mode == 500:
    kids()

elif mode == 600:
    recently_watched()

elif mode == 700:
    featured()

elif mode == 750:
    search()

elif mode == 800:
    sony.get_profiles()
    main_menu()

elif mode == 900:
    get_stream(url, airing_id, channel_id, program_id, series_id, tms_id)

elif mode == 998:
    sys.exit()

elif mode == 999:
    sony.logout()
    sony.notification_msg(LOCAL_STRING(30006), LOCAL_STRING(30007))
    main_menu()

elif mode == 1000:
    sony.logout()
    ADDON.setSetting(id='deviceId', value='')
    sony.notification_msg(LOCAL_STRING(30006), LOCAL_STRING(30007))

elif mode == 1001:
    ids ={
        'channel_id': channel_id,
        'program_id': program_id,
        'series_id': series_id,
        'tms_id': tms_id
    }
    sony.add_to_favorites(ids)

elif mode == 1002:
    ids ={
        'channel_id': channel_id,
        'program_id': program_id,
        'series_id': series_id,
        'tms_id': tms_id
    }
    sony.remove_from_favorites(ids)


if mode != None and mode != 800 and mode != 750:
    xbmcplugin.endOfDirectory(addon_handle, cacheToDisc=False)
elif mode == 800:
    xbmcplugin.endOfDirectory(addon_handle, updateListing=True)
else:
    xbmcplugin.endOfDirectory(addon_handle)