The branch, frodo has been updated
via 177060803374ef669eea5ab7aa45ddcb1210eaeb (commit)
via 6d8cafba71c7577f6b4359fdd1b944e0f509d9aa (commit)
from 43f10eb0952555e9b4c0321d2584759ff9f9ddc6 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=177060803374ef669eea5ab7aa45ddcb1210eaeb
commit 177060803374ef669eea5ab7aa45ddcb1210eaeb
Author: Martijn Kaijser <[email protected]>
Date: Tue Jul 22 18:38:46 2014 +0200
[plugin.video.nrk] 4.4.15
diff --git a/plugin.video.nrk/addon.xml b/plugin.video.nrk/addon.xml
index 85c75a6..5dd4ff4 100644
--- a/plugin.video.nrk/addon.xml
+++ b/plugin.video.nrk/addon.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.nrk"
name="NRK Nett-TV"
- version="4.4.14"
+ version="4.4.15"
provider-name="takoi">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
<import addon="script.module.parsedom" version="0.9.2"/>
- <import addon="script.module.requests" version="1.0.4"/>
+ <import addon="script.module.requests2" version="2.2.1"/>
<import addon="script.common.plugin.cache" version="1.1.0"/>
</requires>
<extension point="xbmc.python.pluginsource" library="default.py">
@@ -21,6 +21,6 @@
<description lang="no">NRK Nett-TV gir deg muligheten til å se mange av
NRKs programmer både direkte og i opptak.</description>
<license>GNU GENERAL PUBLIC LICENSE. Version 3, 29 June 2007</license>
<forum>http://forum.xbmc.org/showthread.php?tid=52824</forum>
- <source>https://github.com/takoi/xbmc-addon-nrk</source>
+ <source>https://github.com/tamland/xbmc-addon-nrk</source>
</extension>
</addon>
diff --git a/plugin.video.nrk/changelog.txt b/plugin.video.nrk/changelog.txt
index d8c1a60..6582141 100644
--- a/plugin.video.nrk/changelog.txt
+++ b/plugin.video.nrk/changelog.txt
@@ -1,3 +1,7 @@
+[B]4.4.15[/B]
+- Lagt til "Populært siste måned"
+- Fikset søk
+
[B]4.4.14[/B]
- Diverse sideendringer
- Fikset negativ starttid enkelte undertekster
diff --git a/plugin.video.nrk/default.py b/plugin.video.nrk/default.py
index 5f0227b..ecaaf2c 100644
--- a/plugin.video.nrk/default.py
+++ b/plugin.video.nrk/default.py
@@ -1,182 +1,227 @@
# -*- coding: utf-8 -*-
-'''
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-'''
+#
+# Copyright (C) 2014 Thomas Amland
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
import os
import time
-import xbmc, xbmcplugin
+import xbmc
+import xbmcplugin
+import xbmcaddon
from itertools import repeat
-from urllib import quote
+from urllib import quote, unquote
+from collections import namedtuple
from xbmcplugin import addDirectoryItem
from xbmcplugin import endOfDirectory
-from xbmcgui import ListItem
-import plugin
-plugin = plugin.Plugin()
+from xbmcgui import ListItem, Dialog
+import routing
+plugin = routing.Plugin()
+
+SHOW_SUBS = int(xbmcaddon.Addon().getSetting('showsubtitles')) == 1
+
+Node = namedtuple('Node', ['title', 'url'])
-SHOW_SUBS = int(plugin.get_setting('showsubtitles')) == 1
@plugin.route('/')
def view_top():
- addDirectoryItem(plugin.handle, plugin.make_url("/live"),
ListItem("Direkte"), True)
- addDirectoryItem(plugin.handle, plugin.make_url("/recommended"),
ListItem("Aktuelt"), True)
- addDirectoryItem(plugin.handle, plugin.make_url("/mostrecent"),
ListItem("Nytt"), True)
- addDirectoryItem(plugin.handle, plugin.make_url("/mostpopular"),
ListItem("Populært"), True)
- addDirectoryItem(plugin.handle, plugin.make_url("/browse"), ListItem("Bla"),
True)
- addDirectoryItem(plugin.handle, plugin.make_url("/search"),
ListItem("Søk"), True)
- endOfDirectory(plugin.handle)
+ addDirectoryItem(plugin.handle, plugin.url_for(live), ListItem("Direkte"),
True)
+ addDirectoryItem(plugin.handle, plugin.url_for(recommended),
ListItem("Aktuelt"), True)
+ addDirectoryItem(plugin.handle, plugin.url_for(mostrecent),
ListItem("Nytt"), True)
+ addDirectoryItem(plugin.handle, plugin.url_for(mostpopularweek),
ListItem("Populært siste uke"), True)
+ addDirectoryItem(plugin.handle, plugin.url_for(mostpopularmonth),
ListItem("Populært siste måned"), True)
+ addDirectoryItem(plugin.handle, plugin.url_for(browse), ListItem("Bla"),
True)
+ addDirectoryItem(plugin.handle, plugin.url_for(search), ListItem("Søk"),
True)
+ endOfDirectory(plugin.handle)
+
@plugin.route('/live')
def live():
- import data
- res = os.path.join(plugin.path, "resources/images")
- for ch in [1,2,3]:
- url, fanart = data.get_live_stream(ch)
- add("NRK %s" % ch, url, "application/vnd.apple.mpegurl", os.path.join(res,
"nrk%d.png" % ch), fanart)
- add("NRK P1", "http://lyd.nrk.no/nrk_radio_p1_ostlandssendingen_mp3_h",
"audio/mpeg")
- add("NRK P2", "http://lyd.nrk.no/nrk_radio_p2_mp3_h", "audio/mpeg")
- add("NRK P3", "http://lyd.nrk.no/nrk_radio_p3_mp3_h", "audio/mpeg")
- add("Alltid nyheter", "http://lyd.nrk.no/nrk_radio_alltid_nyheter_mp3_h",
"audio/mpeg")
- add("Alltid RR", "http://lyd.nrk.no/nrk_radio_p3_radioresepsjonen_mp3_h",
"audio/mpeg")
- add("Jazz", "http://lyd.nrk.no/nrk_radio_jazz_mp3_h", "audio/mpeg")
- add("Klassisk", "http://lyd.nrk.no/nrk_radio_klassisk_mp3_h", "audio/mpeg")
- add("Folkemusikk", "http://lyd.nrk.no/nrk_radio_folkemusikk_mp3_h",
"audio/mpeg")
- add("Gull", "http://lyd.nrk.no/nrk_radio_gull_mp3_h", "audio/mpeg")
- add("mP3", "http://lyd.nrk.no/nrk_radio_mp3_mp3_h", "audio/mpeg")
- add("P3 Urørt", "http://lyd.nrk.no/nrk_radio_p3_urort_mp3_h", "audio/mpeg")
- add("Sport", "http://lyd.nrk.no/nrk_radio_sport_mp3_h", "audio/mpeg")
- add("Sápmi", "http://lyd.nrk.no/nrk_radio_sami_mp3_h", "audio/mpeg")
- add("Super", "http://lyd.nrk.no/nrk_radio_super_mp3_h", "audio/mpeg")
- endOfDirectory(plugin.handle)
+ import nrktv
+ res = os.path.join(plugin.path, "resources/images")
+ for ch in [1, 2, 3]:
+ url, fanart = nrktv.get_live_stream(ch)
+ url = plugin.url_for(play_url, url=url)
+ add("NRK %s" % ch, url, "application/vnd.apple.mpegurl",
os.path.join(res, "nrk%d.png" % ch), fanart)
+ add("NRK P1", "http://lyd.nrk.no/nrk_radio_p1_ostlandssendingen_mp3_h",
"audio/mpeg")
+ add("NRK P2", "http://lyd.nrk.no/nrk_radio_p2_mp3_h", "audio/mpeg")
+ add("NRK P3", "http://lyd.nrk.no/nrk_radio_p3_mp3_h", "audio/mpeg")
+ add("Alltid nyheter", "http://lyd.nrk.no/nrk_radio_alltid_nyheter_mp3_h",
"audio/mpeg")
+ add("Alltid RR", "http://lyd.nrk.no/nrk_radio_p3_radioresepsjonen_mp3_h",
"audio/mpeg")
+ add("Jazz", "http://lyd.nrk.no/nrk_radio_jazz_mp3_h", "audio/mpeg")
+ add("Klassisk", "http://lyd.nrk.no/nrk_radio_klassisk_mp3_h", "audio/mpeg")
+ add("Folkemusikk", "http://lyd.nrk.no/nrk_radio_folkemusikk_mp3_h",
"audio/mpeg")
+ add("Gull", "http://lyd.nrk.no/nrk_radio_gull_mp3_h", "audio/mpeg")
+ add("mP3", "http://lyd.nrk.no/nrk_radio_mp3_mp3_h", "audio/mpeg")
+ add("P3 Urørt", "http://lyd.nrk.no/nrk_radio_p3_urort_mp3_h",
"audio/mpeg")
+ add("Sport", "http://lyd.nrk.no/nrk_radio_sport_mp3_h", "audio/mpeg")
+ add("Sápmi", "http://lyd.nrk.no/nrk_radio_sami_mp3_h", "audio/mpeg")
+ add("Super", "http://lyd.nrk.no/nrk_radio_super_mp3_h", "audio/mpeg")
+ endOfDirectory(plugin.handle)
+
def add(title, url, mimetype, thumb="", fanart=""):
- li = ListItem(title, thumbnailImage=thumb)
- li.setProperty('mimetype', mimetype)
- li.setProperty('fanart_image', fanart)
- addDirectoryItem(plugin.handle, url, li, False)
-
-def view(titles, urls, thumbs=repeat(''), bgs=repeat(''), descr=repeat(''),
update_listing=False):
- total = len(titles)
- for title, url, descr, thumb, bg in zip(titles, urls, descr, thumbs, bgs):
- descr = descr() if callable(descr) else descr
- thumb = thumb() if callable(thumb) else thumb
- bg = bg() if callable(bg) else bg
li = ListItem(title, thumbnailImage=thumb)
- playable = plugin.route_for(url) == play
- li.setProperty('isplayable', str(playable))
- li.setProperty('fanart_image', bg)
- if playable:
- li.setInfo('video', {'title':title, 'plot':descr})
- li.addStreamInfo('video', {'codec':'h264', 'width':1280, 'height':720})
- li.addStreamInfo('audio', {'codec':'aac', 'channels':2})
- addDirectoryItem(plugin.handle, plugin.make_url(url), li, not playable,
total)
- endOfDirectory(plugin.handle, updateListing=update_listing)
+ li.setProperty('mimetype', mimetype)
+ li.setProperty('fanart_image', fanart)
+ li.setProperty('isplayable', 'true')
+ addDirectoryItem(plugin.handle, url, li, False)
+
+
+def view(items, update_listing=False):
+ total = len(items)
+ for item in items:
+ li = ListItem(item.title, thumbnailImage=getattr(item, 'thumb', ''))
+ playable = plugin.route_for(item.url) == play
+ li.setProperty('isplayable', str(playable))
+ if hasattr(item, 'fanart'):
+ li.setProperty('fanart_image', item.fanart)
+ if playable:
+ li.setInfo('video', {'title': item.title, 'plot': getattr(item,
'description', '')})
+ li.addStreamInfo('video', {'codec': 'h264', 'width': 1280,
'height': 720})
+ li.addStreamInfo('audio', {'codec': 'aac', 'channels': 2})
+ addDirectoryItem(plugin.handle, plugin.url_for_path(item.url), li, not
playable, total)
+ endOfDirectory(plugin.handle, updateListing=update_listing)
+
@plugin.route('/recommended')
def recommended():
- import data
- view(*data.get_recommended())
+ import nrktv
+ view(nrktv.get_recommended())
+
@plugin.route('/mostrecent')
def mostrecent():
- import data
- view(*data.get_most_recent())
+ import nrktv
+ view(nrktv.get_most_recent())
+
+
[email protected]('/mostpopularweek')
+def mostpopularweek():
+ import nrktv
+ view(nrktv.get_most_popular_week())
+
+
[email protected]('/mostpopularmonth')
+def mostpopularmonth():
+ import nrktv
+ view(nrktv.get_most_popular_month())
[email protected]('/mostpopular')
-def mostpopular():
- import data
- view(*data.get_most_popular())
@plugin.route('/category/<id>')
def category1(id):
- view_letter_list("/category/%s" % id)
+ view_letter_list("/category/%s" % id)
+
@plugin.route('/category/<id>/<letter>')
def category2(id, letter):
- import data
- view(*data.get_by_category(id, letter))
+ import nrktv
+ view(nrktv.get_by_category(id, letter))
+
@plugin.route('/letters')
def letters():
- view_letter_list('/letter')
+ view_letter_list('/letter')
+
@plugin.route('/letter/<arg>')
def letter(arg):
- import data
- view(*data.get_by_letter(arg))
+ import nrktv
+ view(nrktv.get_by_letter(arg))
+
@plugin.route('/browse')
def browse():
- import data
- titles, ids = data.get_categories()
- titles = ["Alle"] + titles
- urls = ["/letters"] + [ "/category/%s" % i for i in ids ]
- view(titles, urls)
+ import nrktv
+ titles, ids = nrktv.get_categories()
+ titles = ["Alle"] + titles
+ urls = ["/letters"] + ["/category/%s" % i for i in ids]
+ view([Node(title, url) for title, url in zip(titles, urls)])
+
def view_letter_list(base_url):
- common = ['0-9'] + map(chr, range(97, 123))
- titles = common + [ u'æ', u'ø', u'å' ]
- titles = [ e.upper() for e in titles ]
- urls = [ "%s/%s" % (base_url, l) for l in (common + ['ae', 'oe', 'aa']) ]
- view(titles, urls)
+ common = ['0-9'] + map(chr, range(97, 123))
+ titles = common + [u'æ', u'ø', u'å']
+ titles = [e.upper() for e in titles]
+ urls = ["%s/%s" % (base_url, l) for l in (common + ['ae', 'oe', 'aa'])]
+ view([Node(title, url) for title, url in zip(titles, urls)])
+
@plugin.route('/search')
def search():
- keyboard = xbmc.Keyboard(heading="Søk")
- keyboard.doModal()
- query = keyboard.getText()
- if query:
- plugin.redirect('/search/%s/1' % quote(query))
+ keyboard = xbmc.Keyboard(heading="Søk")
+ keyboard.doModal()
+ query = keyboard.getText()
+ if query:
+ plugin.redirect('/search/%s/0' % quote(query))
+
@plugin.route('/search/<query>/<page>')
def search_results(query, page):
- import data
- results = data.get_search_results(query, page)
- more_node = [ "Flere", '/search/%s/%s' % (query, int(page)+1), "", "" ]
- for i in range(0, len(more_node)):
- results[i].append(more_node[i])
- view(*results, update_listing=int(page) > 1)
+ import nrktv
+ results = nrktv.get_search_results(query, page)
+ more_node = Node("Flere", '/search/%s/%s' % (query, int(page) + 1))
+ view(results + [more_node], update_listing=int(page) > 1)
+
@plugin.route('/serie/<arg>')
def seasons(arg):
- import data
- titles, urls, thumbs, bgs = data.get_seasons(arg)
- if len(titles) == 1:
- return plugin.redirect(urls[0])
- view(titles, urls, thumbs=thumbs, bgs=bgs)
+ import nrktv
+ items = nrktv.get_seasons(arg)
+ if len(items) == 1:
+ return plugin.redirect(items[0].url)
+ view(items)
+
@plugin.route('/program/Episodes/<series_id>/<path:season_id>')
def episodes(series_id, season_id):
- import data
- view(*data.get_episodes(series_id, season_id))
+ import nrktv
+ view(nrktv.get_episodes(series_id, season_id))
+
@plugin.route('/serie/<series_id>/<video_id>/.*')
@plugin.route('/program/<video_id>')
@plugin.route('/program/<video_id>/.*')
def play(video_id, series_id=""):
- import data, subs
- url = data.get_media_url(video_id)
- xbmcplugin.setResolvedUrl(plugin.handle, True, ListItem(path=url))
- player = xbmc.Player()
- subtitle = subs.get_subtitles(video_id)
- if subtitle:
- #Wait for stream to start
- start_time = time.time()
- while not player.isPlaying() and time.time() - start_time < 10:
- time.sleep(1.)
- player.setSubtitles(subtitle)
- if not SHOW_SUBS:
- player.showSubtitles(False)
-
-if __name__ == '__main__':
- plugin.run()
+ import nrktv
+ import subs
+ url = nrktv.get_media_url(video_id)
+ xbmcplugin.setResolvedUrl(plugin.handle, True, ListItem(path=url))
+ player = xbmc.Player()
+ subtitle = subs.get_subtitles(video_id)
+ if subtitle:
+ # Wait for stream to start
+ start_time = time.time()
+ while not player.isPlaying() and time.time() - start_time < 10:
+ time.sleep(1.)
+ player.setSubtitles(subtitle)
+ if not SHOW_SUBS:
+ player.showSubtitles(False)
+
+
[email protected]('/play')
+def play_url():
+ url = plugin.args['url'][0]
+
+ if url.startswith('https://') and (
+ xbmc.getCondVisibility('system.platform.android') or
+ xbmc.getCondVisibility('system.platform.ios')):
+ dialog = Dialog()
+ dialog.ok("NRK Nett-TV", "Direktestrømmer er ikke støttet på
iOS/Android")
+
+ xbmcplugin.setResolvedUrl(plugin.handle, True, ListItem(path=url))
+
+
+if __name__ == '__main__':
+ plugin.run()
diff --git a/plugin.video.nrk/subs.py b/plugin.video.nrk/subs.py
index b56e727..f80722f 100644
--- a/plugin.video.nrk/subs.py
+++ b/plugin.video.nrk/subs.py
@@ -16,36 +16,56 @@
import os
import re
import xbmc
-from data import xhrsession as requests
+from io import BytesIO
+from nrktv import session as requests
+
def get_subtitles(video_id):
- html = requests.get("http://v7.psapi.nrk.no/programs/%s/subtitles/tt" %
video_id).text
- if not html:
- return None
-
- filename = os.path.join(xbmc.translatePath("special://temp"),'nrk.srt')
- with open(filename, 'w') as f:
- parts = re.compile(r'<p begin="(.*?)"
dur="(.*?)".*?>(.*?)</p>',re.DOTALL).findall(html)
- i = 0
- for begint, dur, contents in parts:
- begin = _stringToTime(begint)
- dur = _stringToTime(dur)
- end = begin+dur
- i += 1
- f.write(str(i))
- f.write('\n%s' % _timeToString(begin))
- f.write(' --> %s\n' % _timeToString(end))
- f.write(re.sub('<br />\s*','\n',' '.join(contents.replace('<span
style="italic">','<i>').replace('</span>','</i>').replace('&','&').split())).encode('utf-8'))
- f.write('\n\n')
- return filename
-
-def _stringToTime(txt):
- p = txt.split(':')
- try:
- ms = float(p[2])
- except ValueError:
- ms = 0
- return int(p[0]) * 3600 + int(p[1]) * 60 + ms
-
-def _timeToString(time):
- return '%02d:%02d:%02d,%03d' %
(time/3600,(time%3600)/60,time%60,(time%1)*1000)
+ html = requests.get("http://v7.psapi.nrk.no/programs/%s/subtitles/tt" %
video_id).text
+ if not html:
+ return None
+
+ content = _ttml_to_srt(html)
+ filename = os.path.join(xbmc.translatePath("special://temp"), 'nrk.srt')
+ with open(filename, 'w') as f:
+ f.write(content)
+ return filename
+
+
+def _ttml_to_srt(ttml):
+ output = BytesIO()
+ subtitles = re.compile(r'<p begin="(.*?)" dur="(.*?)".*?>(.*?)</p>',
+ re.DOTALL).findall(ttml)
+ for i, (start, duration, text) in enumerate(subtitles):
+ start = _str_to_time(start)
+ duration = _str_to_time(duration)
+ end = start + duration
+
+ text = text.replace('<span style="italic">', '<i>') \
+ .replace('</span>', '</i>') \
+ .replace('&', '&') \
+ .split()
+ text = ' '.join(text)
+ text = re.sub('<br />\s*', '\n', text)
+ text = text.encode('utf-8')
+
+ output.write(str(i + 1))
+ output.write('\n%s' % _time_to_str(start))
+ output.write(' --> %s\n' % _time_to_str(end))
+ output.write(text)
+ output.write('\n\n')
+
+ return output.getvalue()
+
+
+def _str_to_time(txt):
+ p = txt.split(':')
+ try:
+ ms = float(p[2])
+ except ValueError:
+ ms = 0
+ return int(p[0]) * 3600 + int(p[1]) * 60 + ms
+
+
+def _time_to_str(time):
+ return '%02d:%02d:%02d,%03d' % (time / 3600, (time % 3600) / 60, time %
60, (time % 1) * 1000)
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=6d8cafba71c7577f6b4359fdd1b944e0f509d9aa
commit 6d8cafba71c7577f6b4359fdd1b944e0f509d9aa
Author: Martijn Kaijser <[email protected]>
Date: Tue Jul 22 18:37:13 2014 +0200
[plugin.video.popcornflix] 1.0.5
diff --git a/plugin.video.popcornflix/README.txt
b/plugin.video.popcornflix/README.txt
index 9e1e7b3..7bff300 100644
--- a/plugin.video.popcornflix/README.txt
+++ b/plugin.video.popcornflix/README.txt
@@ -3,6 +3,7 @@ plugin.video.popcornflix================
XBMC Addon for popcornflix website
+Version 1.0.5 Website change
Version 1.0.4 Fix stupid shortcut for US site so videos play on International
sites
version 1.0.2 initial release
diff --git a/plugin.video.popcornflix/addon.xml
b/plugin.video.popcornflix/addon.xml
index a79af73..5ccc195 100644
--- a/plugin.video.popcornflix/addon.xml
+++ b/plugin.video.popcornflix/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.popcornflix"
name="Popcornflix"
- version="1.0.4"
+ version="1.0.5"
provider-name="t1m">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
diff --git a/plugin.video.popcornflix/changelog.txt
b/plugin.video.popcornflix/changelog.txt
index ab47574..fb0fb16 100644
--- a/plugin.video.popcornflix/changelog.txt
+++ b/plugin.video.popcornflix/changelog.txt
@@ -1,3 +1,5 @@
+Version 1.0.5 Website change
+
Version 1.0.4 Fix stupid shortcut for US site so videos play on International
sites
Version 1.0.2 Initial release
diff --git a/plugin.video.popcornflix/default.py
b/plugin.video.popcornflix/default.py
index 926e621..8e5cd81 100644
--- a/plugin.video.popcornflix/default.py
+++ b/plugin.video.popcornflix/default.py
@@ -73,7 +73,7 @@ def getCats(c_url):
html = getRequest(cat_url)
shows=re.compile('<figure>.+?href="(.+?)".+?src="(.+?)".+?title">(.+?)<.+?genre">(.+?)<.+?desc">(.+?)<.+?</li>').findall(html)
for sid,simg,sname,sgenre,sdesc in shows:
- if not sid.startswith('/series'):
+ if (not sid.startswith('/series')) and (not sid.startswith('/tv-shows')):
surl = "%s?url=%s&mode=GS" %(sys.argv[0], urllib.quote_plus(sid))
addLink(surl.encode(UTF8),sname,simg.encode(UTF8),addonfanart,sdesc,sgenre,'',False)
else:
-----------------------------------------------------------------------
Summary of changes:
plugin.video.nrk/addon.xml | 6 +-
plugin.video.nrk/changelog.txt | 4 +
plugin.video.nrk/data.py | 167 ------------------
plugin.video.nrk/default.py | 295 ++++++++++++++++++--------------
plugin.video.nrk/nrktv.py | 206 ++++++++++++++++++++++
plugin.video.nrk/plugin.py | 74 --------
plugin.video.nrk/routing.py | 119 +++++++++++++
plugin.video.nrk/subs.py | 82 ++++++----
plugin.video.popcornflix/README.txt | 1 +
plugin.video.popcornflix/addon.xml | 2 +-
plugin.video.popcornflix/changelog.txt | 2 +
plugin.video.popcornflix/default.py | 2 +-
12 files changed, 558 insertions(+), 402 deletions(-)
delete mode 100644 plugin.video.nrk/data.py
create mode 100644 plugin.video.nrk/nrktv.py
delete mode 100644 plugin.video.nrk/plugin.py
create mode 100644 plugin.video.nrk/routing.py
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons