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
|
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#
# Imports
#
from __future__ import absolute_import
from future import standard_library
standard_library.install_aliases()
from builtins import object
import sys
import urllib.request, urllib.parse, urllib.error
import xbmcgui
import xbmcplugin
import os
from .hak5_const import LANGUAGE, IMAGES_PATH, HAK5RECENTLYADDEDURL, HAK5SEASONSURLHTTPS, \
HAKTIKRECENTLYADDEDURL, THREATWIRERECENTLYADDEDURL, TEKTHINGRECENTLYADDEDURL, METASPLOITRECENTLYADDEDURL
#
# Main class
#
class Main(object):
def __init__(self):
# Get the command line arguments
# Get the plugin url in plugin:// notation
self.plugin_url = sys.argv[0]
# Get the plugin handle as an integer number
self.plugin_handle = int(sys.argv[1])
#
# Hak5 Recently Added Episodes
#
parameters = {"action": "list-episodes", "plugin_category": LANGUAGE(30301), "url": HAK5RECENTLYADDEDURL,
"next_page_possible": "False"}
url = self.plugin_url + '?' + urllib.parse.urlencode(parameters)
list_item = xbmcgui.ListItem(LANGUAGE(30301))
is_folder = True
list_item.setArt({'fanart': os.path.join(IMAGES_PATH, 'fanart-blur.jpg')})
list_item.setProperty('IsPlayable', 'false')
xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=list_item, isFolder=is_folder)
#
# Hak5 Seasons
#
parameters = {"action": "list-seasons", "plugin_category": LANGUAGE(30302), "url": HAK5SEASONSURLHTTPS,
"next_page_possible": "False"}
url = self.plugin_url + '?' + urllib.parse.urlencode(parameters)
list_item = xbmcgui.ListItem(LANGUAGE(30302))
is_folder = True
list_item.setArt({'fanart': os.path.join(IMAGES_PATH, 'fanart-blur.jpg')})
list_item.setProperty('IsPlayable', 'false')
xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=list_item, isFolder=is_folder)
#
# Haktik Recently Added Episodes
#
parameters = {"action": "list-episodes", "plugin_category": LANGUAGE(30303),
"url": HAKTIKRECENTLYADDEDURL,
"next_page_possible": "True"}
url = self.plugin_url + '?' + urllib.parse.urlencode(parameters)
list_item = xbmcgui.ListItem(LANGUAGE(30303))
is_folder = True
list_item.setArt({'fanart': os.path.join(IMAGES_PATH, 'fanart-blur.jpg')})
list_item.setProperty('IsPlayable', 'false')
xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=list_item, isFolder=is_folder)
#
# Threatwire Recently Added Episodes
#
parameters = {"action": "list-episodes", "plugin_category": LANGUAGE(30304), "url": THREATWIRERECENTLYADDEDURL,
"next_page_possible": "True"}
url = self.plugin_url + '?' + urllib.parse.urlencode(parameters)
list_item = xbmcgui.ListItem(LANGUAGE(30304))
is_folder = True
list_item.setArt({'fanart': os.path.join(IMAGES_PATH, 'fanart-blur.jpg')})
list_item.setProperty('IsPlayable', 'false')
xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=list_item, isFolder=is_folder)
#
# Tekthing Recently Added Episodes
#
parameters = {"action": "list-episodes", "plugin_category": LANGUAGE(30305), "url": TEKTHINGRECENTLYADDEDURL,
"next_page_possible": "True"}
url = self.plugin_url + '?' + urllib.parse.urlencode(parameters)
list_item = xbmcgui.ListItem(LANGUAGE(30305))
is_folder = True
list_item.setArt({'fanart': os.path.join(IMAGES_PATH, 'fanart-blur.jpg')})
list_item.setProperty('IsPlayable', 'false')
xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=list_item, isFolder=is_folder)
#
# Metasploit Recently Added Episodes
#
parameters = {"action": "list-episodes", "plugin_category": LANGUAGE(30307), "url": METASPLOITRECENTLYADDEDURL,
"next_page_possible": "False"}
url = self.plugin_url + '?' + urllib.parse.urlencode(parameters)
list_item = xbmcgui.ListItem(LANGUAGE(30307))
is_folder = True
list_item.setArt({'fanart': os.path.join(IMAGES_PATH, 'fanart-blur.jpg')})
list_item.setProperty('IsPlayable', 'false')
xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=list_item, isFolder=is_folder)
# Disable sorting
xbmcplugin.addSortMethod(handle=self.plugin_handle, sortMethod=xbmcplugin.SORT_METHOD_NONE)
# Finish creating a virtual folder.
xbmcplugin.endOfDirectory(self.plugin_handle)
|