summaryrefslogtreecommitdiff
path: root/plugin.video.montreal.greek-tv/addon.py
diff options
context:
space:
mode:
Diffstat (limited to 'plugin.video.montreal.greek-tv/addon.py')
-rw-r--r--plugin.video.montreal.greek-tv/addon.py133
1 files changed, 107 insertions, 26 deletions
diff --git a/plugin.video.montreal.greek-tv/addon.py b/plugin.video.montreal.greek-tv/addon.py
index 845bbe1..9b2b027 100644
--- a/plugin.video.montreal.greek-tv/addon.py
+++ b/plugin.video.montreal.greek-tv/addon.py
@@ -18,10 +18,10 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
-import requests
+import requests, json
import CommonFunctions as common
from base64 import b64decode
-from resources.lib import control, youtube, cache, directory, syshandle, sysaddon, action, url
+from resources.lib import control, youtube, cache, directory, syshandle, sysaddon, action, url, image
# Misc variables:
@@ -30,17 +30,19 @@ addonart = control.join(control.addonPath, 'resources/media')
livetv_img = control.join(addonart, 'livetv.png')
radio_img = control.join(addonart, 'radio.png')
youtube_img = control.join(addonart, 'youtube.png')
-settings_img = control.join(addonart, 'settings.png')
+news_icon = control.join(addonart, 'newspaper_icon.png')
+news_fanart = control.join(addonart, 'newspaper_icon.png')
+fp = control.infoLabel('Container.FolderPath')
# Please do not copy these keys, instead create your own:
# http://forum.kodi.tv/showthread.php?tid=267160&pid=2299960#pid2299960
key = b64decode('QUl6YVN5QThrMU95TEdmMDNIQk5sMGJ5RDUxMWpyOWNGV28yR1I0')
ytid = 'UCFr8nqHDhA_fLQq2lEK3Mlw'
-old_radio_url = 'http://209.95.50.189:8049/stream'
def yt():
+
return youtube.youtube(key=key).videos(ytid)
@@ -56,37 +58,105 @@ def vod():
directory.add(video_list)
+def news_index():
+
+ base_link = 'https://issuu.com/greektimes/docs/'
+ json_obj = 'https://issuu.com/call/profile_demo/v1/documents/greektimes?offset=0&limit=1000'
+
+ result = requests.get(json_obj).text
+
+ news_list = json.loads(result)['items']
+
+ empty_list = []
+
+ for n in news_list:
+
+ title = n['title']
+ image = n['coverUrl']
+ url = base_link + n['uri']
+
+ data = {'title': title, 'image': image, 'url': url, 'action': 'paper_index'}
+
+ empty_list.append(data)
+
+ directory.add(empty_list, content='images')
+
+
+def paper_index(link):
+
+ base_img_url = 'https://image.isu.pub/'
+
+ html = requests.get(link).text
+
+ script = common.parseDOM(html, 'script', attrs={'type': 'application/javascript'})[-2]
+
+ data = json.loads(script.partition(' = ')[2].rstrip(';'))
+ document = data['document']
+ total_pages = int(document['pageCount'])
+
+ empty_list = []
+ final_list = []
+
+ for page in range(1, total_pages + 1):
+
+ title = document['title'] + ' - ' + control.lang(30003) + ' ' + str(page)
+ page_img = base_img_url + document['id'] + '/jpg/page_{0}_thumb_large.jpg'.format(str(page))
+ page_url = base_img_url + document['id'] + '/jpg/page_{0}.jpg'.format(str(page))
+
+ data = {'title': title, 'image': page_img, 'url': page_url}
+
+ empty_list.append(data)
+
+ for i in empty_list:
+ li = control.item(label=i['title'])
+ li.setArt({'poster': i['image'], 'thumb': i['image'], 'fanart': news_fanart})
+ li.setInfo('image', {'title': i['title'], 'picturepath': i['url']})
+ url = i['url']
+ final_list.append((url, li, False))
+
+ control.content(syshandle, 'images')
+ control.addItems(syshandle, final_list)
+ control.directory(syshandle)
+
+
def main_menu():
- xml = requests.get(url='http://www.greekradio.net/mgtv.xml').text
+ xml = requests.get(url='http://s135598769.onlinehome.us/mgtv.xml').text
mgtv = common.parseDOM(xml, 'title')[0]
livetv_url = common.parseDOM(xml, 'url')[0]
mgr = common.parseDOM(xml, 'title')[1]
- new_radio_url = common.parseDOM(xml, 'url')[1]
+ radio_url = common.parseDOM(xml, 'url')[1]
# Live TV
- url1 = '{0}?action=play&url={1}'.format(sysaddon, livetv_url)
- li = control.item(label=mgtv)
- li.setArt({'icon': livetv_img, 'thumb': livetv_img, 'fanart': control.addonInfo('fanart')})
- li.setInfo('video', {'title': mgtv})
- li.setProperty('IsPlayable', 'true')
- control.addItem(handle=syshandle, url=url1, listitem=li, isFolder=False)
+ url1 = '{0}?action={1}&url={2}'.format(sysaddon, 'play', livetv_url)
+ li1 = control.item(label=mgtv)
+ li1.setArt({'icon': livetv_img, 'thumb': livetv_img, 'fanart': control.addonInfo('fanart')})
+ li1.setInfo('video', {'title': mgtv})
+ li1.setProperty('IsPlayable', 'true')
+ control.addItem(handle=syshandle, url=url1, listitem=li1, isFolder=False)
# Radio
- url2 = '{0}?action=play&url={1}'.format(sysaddon, new_radio_url if control.setting('old-url') == 'false' else old_radio_url)
- li = control.item(label=mgr)
- li.setArt({'icon': radio_img, 'thumb': radio_img, 'fanart': control.addonInfo('fanart')})
- li.setInfo('audio', {'title': mgr})
- li.setProperty('IsPlayable', 'true')
- control.addItem(handle=syshandle, url=url2, listitem=li, isFolder=False)
+ url2 = '{0}?action={1}&url={2}'.format(sysaddon, 'play', radio_url)
+ li2 = control.item(label=mgr)
+ li2.setArt({'icon': radio_img, 'thumb': radio_img, 'fanart': control.addonInfo('fanart')})
+ li2.setInfo('audio', {'title': mgr})
+ li2.setProperty('IsPlayable', 'true')
+ control.addItem(handle=syshandle, url=url2, listitem=li2, isFolder=False)
# Youtube
- url3 = '{0}?action=youtube'.format(sysaddon)
- li = control.item(label='Montreal Greek TV - Youtube Channel')
- li.setArt({'icon': youtube_img, 'thumb': youtube_img, 'fanart': control.addonInfo('fanart')})
- li.setInfo('video', {'title': 'Montreal Greek TV - Youtube Channel'})
- control.addItem(handle=syshandle, url=url3, listitem=li, isFolder=True)
+ url3 = '{0}?action={1}'.format(sysaddon, 'youtube')
+ li3 = control.item(label='Montreal Greek TV - {0}'.format(control.lang(30001).encode('utf-8')))
+ li3.setArt({'icon': youtube_img, 'thumb': youtube_img, 'fanart': control.addonInfo('fanart')})
+ li3.setInfo('video', {'title': 'Montreal Greek TV - {0}'.format(control.lang(30001).encode('utf-8'))})
+ control.addItem(handle=syshandle, url=url3, listitem=li3, isFolder=True)
+
+ # Newspaper
+ url4 = '{0}?action={1}'.format(sysaddon, 'news_addon')
+ li4 = control.item(label='The Montreal Greek Times - {0}'.format(control.lang(30002).encode('utf-8')))
+ li4.setArt({'icon': news_icon, 'thumb': news_icon, 'fanart': news_fanart})
+ li4.setInfo('image', {'title': 'The Montreal Greek Times - {0}'.format(control.lang(30002).encode('utf-8')), 'picturepath': news_icon})
+ control.addItem(handle=syshandle, url=url4, listitem=li4, isFolder=True)
control.directory(syshandle)
@@ -99,7 +169,10 @@ def play_item(path):
if action is None:
- main_menu()
+ if 'image' in fp:
+ news_index()
+ else:
+ main_menu()
elif action == 'play':
@@ -109,6 +182,14 @@ elif action == 'youtube':
vod()
-elif action == 'settings':
+elif action == 'news_index':
+
+ news_index()
+
+elif action == 'paper_index':
+
+ paper_index(url)
+
+elif action == 'news_addon':
- control.openSettings()
+ control.execute('ActivateWindow(pictures,"plugin://{0}/?content_type=image",return)'.format(control.addonInfo('id')))