The branch, frodo has been updated
       via  4402e16e2644def7f47bfb000082289019e76b73 (commit)
       via  93bde9f6ae75435a03994c57a527ce6929eace36 (commit)
       via  b95ef2413adcbca943949a8dcc9a0504f38ca108 (commit)
      from  9f58781b40f28a05c78d24ef954dd798b3fb748b (commit)

- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=4402e16e2644def7f47bfb000082289019e76b73

commit 4402e16e2644def7f47bfb000082289019e76b73
Author: Martijn Kaijser <[email protected]>
Date:   Sat Sep 27 09:47:42 2014 +0200

    [plugin.video.espn_3] 1.0.1

diff --git a/plugin.video.espn_3/addon.xml b/plugin.video.espn_3/addon.xml
index b030ef3..a9bba2b 100644
--- a/plugin.video.espn_3/addon.xml
+++ b/plugin.video.espn_3/addon.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.espn_3"
        name="ESPN 3"
-       version="1.0.0"
-       provider-name="Ksosez,BlueCop,Romans I XVI">
+       version="1.0.1"
+       provider-name="BlueCop,Romans I XVI,Locomot1f">
     <requires>
         <import addon="xbmc.python" version="2.1.0"/>
        <import addon="script.module.beautifulsoup" version="3.2.1"/>
diff --git a/plugin.video.espn_3/default.py b/plugin.video.espn_3/default.py
index fca0226..2ffccc5 100644
--- a/plugin.video.espn_3/default.py
+++ b/plugin.video.espn_3/default.py
@@ -43,7 +43,7 @@ def CATEGORIES():
     days = (curdate+timedelta(days=upcoming)).strftime("%Y%m%d")
     addDir(translation(30029), 
'http://espn.go.com/watchespn/feeds/startup?action=live'+channels, 1, 
defaultlive)
     addDir(translation(30030), 
'http://espn.go.com/watchespn/feeds/startup?action=upcoming'+channels+'&endDate='+days+'&startDate='+curdate.strftime("%Y%m%d"),
 2,defaultupcoming)
-    enddate = '&endDate='+ curdate.strftime("%Y%m%d")
+    enddate = '&endDate='+ (curdate+timedelta(days=1)).strftime("%Y%m%d")
     replays1 = [5,10,15,20,25]
     replays1 = replays1[int(selfAddon.getSetting('replays1'))]
     start1 = (curdate-timedelta(days=replays1)).strftime("%Y%m%d")
@@ -56,11 +56,12 @@ def CATEGORIES():
     replays4 = [60,90,120,240]
     replays4 = replays4[int(selfAddon.getSetting('replays4'))]
     start4 = (curdate-timedelta(days=replays4)).strftime("%Y%m%d")
+    startAll = (curdate-timedelta(days=730)).strftime("%Y%m%d")
     addDir(translation(30031)+str(replays1)+' Days', 
'http://espn.go.com/watchespn/feeds/startup?action=replay'+channels+enddate+'&startDate='+start1,
 2, defaultreplay)
     addDir(translation(30031)+str(replays2)+' Days', 
'http://espn.go.com/watchespn/feeds/startup?action=replay'+channels+enddate+'&startDate='+start2,
 2, defaultreplay)
     addDir(translation(30031)+str(replays3)+' Days', 
'http://espn.go.com/watchespn/feeds/startup?action=replay'+channels+enddate+'&startDate='+start3,
 2, defaultreplay)
     addDir(translation(30031)+str(replays3)+'-'+str(replays4)+' Days', 
'http://espn.go.com/watchespn/feeds/startup?action=replay'+channels+'&endDate='+start3+'&startDate='+start4,
 2, defaultreplay)
-    addDir(translation(30032), 
'http://espn.go.com/watchespn/feeds/startup?action=replay'+channels, 2, 
defaultreplay)
+    addDir(translation(30032), 
'http://espn.go.com/watchespn/feeds/startup?action=replay'+channels+enddate+'&startDate='+startAll,
 2, defaultreplay)
     xbmcplugin.endOfDirectory(int(sys.argv[1]))
 
 def LISTNETWORKS(url,name):

http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=93bde9f6ae75435a03994c57a527ce6929eace36

commit 93bde9f6ae75435a03994c57a527ce6929eace36
Author: Martijn Kaijser <[email protected]>
Date:   Sat Sep 27 09:46:55 2014 +0200

    [plugin.video.nrk] 4.4.17

diff --git a/plugin.video.nrk/addon.xml b/plugin.video.nrk/addon.xml
index 695a9c0..0e7b7a7 100644
--- a/plugin.video.nrk/addon.xml
+++ b/plugin.video.nrk/addon.xml
@@ -1,13 +1,12 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.nrk"
        name="NRK Nett-TV"
-       version="4.4.16"
+       version="4.4.17"
        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.common.plugin.cache" version="1.1.0"/>
   </requires>
   <extension point="xbmc.python.pluginsource" library="default.py">
     <provides>video</provides>
diff --git a/plugin.video.nrk/changelog.txt b/plugin.video.nrk/changelog.txt
index be0d7ef..881e9f7 100644
--- a/plugin.video.nrk/changelog.txt
+++ b/plugin.video.nrk/changelog.txt
@@ -1,3 +1,6 @@
+[B]4.4.17[/B]
+- Sideendringer
+
 [B]4.4.16[/B]
 - Sideendringer
 
diff --git a/plugin.video.nrk/default.py b/plugin.video.nrk/default.py
index 3684d77..059956a 100644
--- a/plugin.video.nrk/default.py
+++ b/plugin.video.nrk/default.py
@@ -79,32 +79,45 @@ def add(title, url, mimetype, thumb="", fanart=""):
     addDirectoryItem(plugin.handle, url, li, False)
 
 
-def view(items, update_listing=False):
+def view(items, update_listing=False, urls=None):
+    if urls is None:
+        urls = [plugin.url_for_path(item.url) for item in items]
     total = len(items)
-    for item in items:
+    for item, url in zip(items, urls):
         li = ListItem(item.title, thumbnailImage=getattr(item, 'thumb', ''))
-        playable = plugin.route_for(item.url) == play
+        playable = plugin.route_for(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.setInfo('video', {
+                'title': item.title,
+                'genre': item.category.title if hasattr(item, 'category') else 
'',
+                'mpaa': getattr(item, 'legal_age', ''),
+                '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)
+        addDirectoryItem(plugin.handle, url, li, not playable, total)
     endOfDirectory(plugin.handle, updateListing=update_listing)
 
 
 @plugin.route('/recommended')
 def recommended():
-    import nrktv
-    view(nrktv.get_recommended())
+    import nrktv_mobile as nrktv
+    xbmcplugin.setContent(plugin.handle, 'episodes')
+    programs = nrktv.recommended_programs()
+    urls = [plugin.url_for(play, item.id) for item in programs]
+    view(programs, urls=urls)
 
 
 @plugin.route('/mostrecent')
 def mostrecent():
-    import nrktv
-    view(nrktv.get_most_recent())
+    import nrktv_mobile as nrktv
+    xbmcplugin.setContent(plugin.handle, 'episodes')
+    programs = nrktv.recent_programs()
+    urls = [plugin.url_for(play, item.id) for item in programs]
+    view(programs, urls=urls)
 
 
 @plugin.route('/mostpopularweek')
@@ -191,10 +204,10 @@ def episodes(series_id, season_id):
 
 
 @plugin.route('/serie/<series_id>/<video_id>')
[email protected]('/serie/<series_id>/<video_id>/.*')
[email protected]('/serie/<series_id>/<video_id>/<path:unused>')
 @plugin.route('/program/<video_id>')
[email protected]('/program/<video_id>/.*')
-def play(video_id, series_id=""):
[email protected]('/program/<video_id>/<path:unused>')
+def play(video_id, series_id="", unused=""):
     import nrktv
     import subs
     url = nrktv.get_media_url(video_id)
diff --git a/plugin.video.nrk/nrktv.py b/plugin.video.nrk/nrktv.py
index 5d66d03..60052de 100644
--- a/plugin.video.nrk/nrktv.py
+++ b/plugin.video.nrk/nrktv.py
@@ -19,6 +19,7 @@ import requests
 import HTMLParser
 import CommonFunctions as common
 from itertools import repeat
+from nrktv_mobile import Program
 
 html_decode = HTMLParser.HTMLParser().unescape
 parseDOM = common.parseDOM
@@ -29,23 +30,12 @@ session.headers['X-Requested-With'] = 'XMLHttpRequest'
 session.headers['Cookie'] = 
"NRK_PLAYER_SETTINGS_TV=devicetype=desktop&preferred-player-odm=hlslink&preferred-player-live=hlslink"
 
 
-class Program(object):
-    title = None
-    description = None
-    url = None
-    thumb = None
-    fanart = None
-
-    def __init__(self, **kwargs):
-        self.__dict__.update(kwargs)
-
-    @staticmethod
-    def from_lists(titles, urls, thumbs, fanart, descr=repeat(None)):
-        programs = []
-        for t, u, th, f, d in zip(titles, urls, thumbs, fanart, descr):
-            p = Program(title=t, url=u, thumb=th, fanart=f, description=d)
-            programs.append(p)
-        return programs
+def _programs_from_lists(titles, urls, thumbs, fanart, descr=repeat(None)):
+    programs = []
+    for t, u, th, f, d in zip(titles, urls, thumbs, fanart, descr):
+        p = Program(title=t, url=u, thumb=th, fanart=f, description=d)
+        programs.append(p)
+    return programs
 
 
 def get_live_stream(ch):
@@ -81,7 +71,7 @@ def _program_list(url):
     urls = [i['Url'] for i in items]
     thumbs = [i['ImageUrl'] for i in items]
     fanart = [_fanart_url(url) for url in urls]
-    return Program.from_lists(titles, urls, thumbs, fanart)
+    return _programs_from_lists(titles, urls, thumbs, fanart)
 
 
 def get_recommended():
@@ -92,7 +82,7 @@ def get_recommended():
     urls = parseDOM(html, 'a', ret='href')
     thumbs = parseDOM(html, 'img', ret='src')
     fanart = [_fanart_url(url) for url in urls]
-    return Program.from_lists(titles, urls, thumbs, fanart)
+    return _programs_from_lists(titles, urls, thumbs, fanart)
 
 
 def get_most_recent():
@@ -117,7 +107,7 @@ def _json_list(url):
     urls = [e['Url'] for e in elems]
     thumbs = [e['Images'][0]['ImageUrl'] for e in elems]
     fanart = [_fanart_url(url) for url in urls]
-    return Program.from_lists(titles, urls, thumbs, fanart)
+    return _programs_from_lists(titles, urls, thumbs, fanart)
 
 
 def get_search_results(query, page=0):
@@ -136,7 +126,7 @@ def get_search_results(query, page=0):
 
     thumbs = [parseDOM(li, 'img', ret='src')[0] for li in lis]
     fanart = [_fanart_url(url) for url in urls]
-    return Program.from_lists(titles, urls, thumbs, fanart, descr)
+    return _programs_from_lists(titles, urls, thumbs, fanart, descr)
 
 
 def get_seasons(arg):
@@ -148,7 +138,7 @@ def get_seasons(arg):
     urls = ["/program/Episodes/%s/%s/0" % (arg, i) for i in ids]
     thumbs = repeat(_thumb_url(arg))
     fanart = repeat(_fanart_url(arg))
-    return Program.from_lists(titles, urls, thumbs, fanart)
+    return _programs_from_lists(titles, urls, thumbs, fanart)
 
 
 def get_episodes(series_id, season_id):
@@ -166,7 +156,7 @@ def get_episodes(series_id, season_id):
     descr = [html_decode(common.stripTags(_)) for _ in descr]
     thumbs = repeat(_thumb_url(series_id))
     fanart = repeat(_fanart_url(series_id))
-    return Program.from_lists(titles, urls, thumbs, fanart, descr)
+    return _programs_from_lists(titles, urls, thumbs, fanart, descr)
 
 
 def get_media_url(video_id):

http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=b95ef2413adcbca943949a8dcc9a0504f38ca108

commit b95ef2413adcbca943949a8dcc9a0504f38ca108
Author: Martijn Kaijser <[email protected]>
Date:   Sat Sep 27 09:45:28 2014 +0200

    [plugin.video.itbn_org] 1.2.7

diff --git a/plugin.video.itbn_org/addon.xml b/plugin.video.itbn_org/addon.xml
index 8eb0353..c9a63eb 100644
--- a/plugin.video.itbn_org/addon.xml
+++ b/plugin.video.itbn_org/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <addon
  id="plugin.video.itbn_org"
-    version="1.2.6"
+    version="1.2.7"
     name="iTBN"
     provider-name="Romans I XVI"
     >
diff --git a/plugin.video.itbn_org/default.py b/plugin.video.itbn_org/default.py
index eeeece5..be77f7f 100644
--- a/plugin.video.itbn_org/default.py
+++ b/plugin.video.itbn_org/default.py
@@ -15,7 +15,7 @@ def MAIN():
         addDir('Categories','http://www.itbn.org',3,'')
         addDir('Programs','http://www.itbn.org/programs',5,'')
         
addDir('Movies','http://www.tbn.org/watch/mobile_app/v3/itbnapi.php?platform=android&request_path=%2Fapi%2Fv1.0%2Fvideos%2Flimit%2F250%2Fsortby%2Fairdate%2Fcategory%2F1723&device_name=GT-I9100&os_ver=2.3.4&screen_width=1600&screen_height=900&app_ver=3.0&UUID=1d5f5000-656a-4a16-847f-138937d4d0c4',10,movies_thumb)
-        
addDir('Live','http://www.tbn.org/watch/mobile_app/v3/getlivestreams.php?device_name=GT-I9100&os_ver=2.3.4&screen_width=1600&screen_height=900&app_ver=3.0&UUID=1d5f5000-656a-4a16-847f-138937d4d0c4',7,live_thumb)
+        
addDir('Live','http://www.tbn.org/watch/mobile_app/v3/getlivestreams.php',7,live_thumb)
         addDir('Search','http://itbn.org/',8,search_thumb)
        addDir('Air Date','http://itbn.org/',9,search_thumb)
        if 1==1:
@@ -215,11 +215,13 @@ def LIVE(url):
         response = urllib2.urlopen(req)
         link=response.read()
         response.close()
-       
match='http://ooyalahd2-f.akamaihd.net/i/tbn01_delivery@120258/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn02_delivery@120259/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn03_delivery@120260/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn04_delivery@149649/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn07_delivery@149653/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn08_delivery@149654/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn05_delivery@149650/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn06_delivery@149652/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn09_delivery@149656/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn10_delivery@149657/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn11_delivery@149658/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn13_delivery@168536/master.m3u8','http://ooyalahd2-f.akamaihd.net/i/tbn12_delivery@149659/master.m3u8'
+       match=re.compile('\"streamurl\":\"(.+?)\"').findall(link)
         title=re.compile('\"name\":\"(.+?)\"').findall(link)
         thumbnail=re.compile('\"icon\":\"(.+?)\"').findall(link)
         mylist=zip((match),(title),(thumbnail))
         for url,name,thumbnail in mylist:
+               if 
url=='http://acaooyalahd2-lh.akamaihd.net/i/TBN11_delivery@186249/master.m3u8':
+                       name='JUCE TV Russia'
                 addLink(name,url,thumbnail)       
        if 1==1:
                 xbmc.executebuiltin('Container.SetViewMode(500)')

-----------------------------------------------------------------------

Summary of changes:
 plugin.video.espn_3/addon.xml    |    4 +-
 plugin.video.espn_3/default.py   |    5 +-
 plugin.video.itbn_org/addon.xml  |    2 +-
 plugin.video.itbn_org/default.py |    6 ++-
 plugin.video.nrk/addon.xml       |    3 +-
 plugin.video.nrk/changelog.txt   |    3 +
 plugin.video.nrk/default.py      |   37 +++++++++++-----
 plugin.video.nrk/nrktv.py        |   36 ++++++----------
 plugin.video.nrk/nrktv_mobile.py |   86 ++++++++++++++++++++++++++++++++++++++
 9 files changed, 138 insertions(+), 44 deletions(-)
 create mode 100644 plugin.video.nrk/nrktv_mobile.py


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to