The branch, frodo has been updated
via fcef4084c995bcc9f0a1a16c874b82b6dc208acf (commit)
via d446a9a7f5494fa3a580347f341b61982e0fb03e (commit)
via eaa78752ef4bad001a4eec73c1a72f6ec5754396 (commit)
via 0fa39bad07c404560c4972cd00701445cc7353d6 (commit)
via 054ce1853ed3d2b91dc58f67032279008be08a42 (commit)
from c0ea651702a09769c92da0e5914beff021824b17 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=fcef4084c995bcc9f0a1a16c874b82b6dc208acf
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=d446a9a7f5494fa3a580347f341b61982e0fb03e
commit d446a9a7f5494fa3a580347f341b61982e0fb03e
Author: beenje <[email protected]>
Date: Mon Jun 3 22:13:29 2013 +0200
[plugin.video.stofa.dk] updated to version 1.0.3
diff --git a/plugin.video.stofa.dk/addon.py b/plugin.video.stofa.dk/addon.py
index 515852f..2eca7e4 100644
--- a/plugin.video.stofa.dk/addon.py
+++ b/plugin.video.stofa.dk/addon.py
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2012 Tommy Winther
+# Copyright (C) 2013 Tommy Winther
# http://tommy.winther.nu
#
# This Program is free software; you can redistribute it and/or modify
@@ -33,12 +33,14 @@ import xbmcaddon
import xbmcgui
import xbmcplugin
+
class LoginFailedException(Exception):
pass
+
class StofaWebTv(object):
LIVE_TV_URL = 'http://webtv.stofa.dk/'
- STREAM_URL = 'http://webtv.stofa.dk/cmd.php?cmd=get%5Fserver&sid='
+ STREAM_URL =
'http://webtv.stofa.dk/cmd.php?cmd=get_stream_url&sid=%s&datatype=json&segsupport=true&manufacturer=webtv&model=web&uid='
LOGIN_URL = 'http://webtv.stofa.dk/includes/ajax/login.php?cmd=login_web&'
CHANNELS_URL =
'http://webtv.stofa.dk/includes/ajax/live.php?cmd=get_sids&inclcn=true'
@@ -50,7 +52,6 @@ class StofaWebTv(object):
self.COOKIE_JAR.load(self.cookieFile, ignore_discard=True,
ignore_expires=True)
urllib2.install_opener(urllib2.build_opener(urllib2.HTTPCookieProcessor(self.COOKIE_JAR)))
-
def handleLogin(self, html):
if html.find('<div id="topLogin">Login</div>') >= 0:
u =
urllib2.urlopen('http://webtv.stofa.dk/includes/popup/login.php')
@@ -75,7 +76,6 @@ class StofaWebTv(object):
else:
raise LoginFailedException()
-
def listTVChannels(self):
u = urllib2.urlopen(StofaWebTv.LIVE_TV_URL)
html = u.read()
@@ -87,16 +87,20 @@ class StofaWebTv(object):
json = simplejson.loads(u.read())
u.close()
+ print json
+
channels = dict()
for sid in json['sids']:
lcn = json['sids'][sid]['lcn']
channels[int(lcn)] = sid
-
for lcn in sorted(channels.keys()):
sid = channels[lcn]
name = json['sids'][sid]['name']
+ if ADDON.getSetting('hide.drm.channels') == 'true' and
json['sids'][sid]['DRM_live'] == '1':
+ continue
+
item = xbmcgui.ListItem(name, iconImage=ICON, thumbnailImage=ICON)
item.setProperty('IsPlayable', 'true')
item.setProperty('Fanart_Image', FANART)
@@ -106,12 +110,30 @@ class StofaWebTv(object):
xbmcplugin.endOfDirectory(HANDLE, True)
def playLiveTVChannel(self, channelId):
- u = urllib2.urlopen(StofaWebTv.STREAM_URL + channelId)
- params_string = u.read()
+ u = urllib2.urlopen(StofaWebTv.STREAM_URL % channelId)
+ json_string = u.read()
+ u.close()
+
+ json = simplejson.loads(json_string)
+ try:
+ # check for errors from server
+ print json
+ self.showError(json['streams'][0]['info'])
+ xbmcplugin.setResolvedUrl(HANDLE, False, xbmcgui.ListItem())
+ return
+ except KeyError:
+ pass
+
+ url = json['streams']['stream']
+
+ # XBMC doesn't support m3u8 stream selection yet, so let's play the
best quality one.
+ u = urllib2.urlopen(url)
+ m3u8 = u.read()
u.close()
- params = urlparse.parse_qs(params_string)
- url = params['servers'][0] + params['filename'][0] + ' live=1
swfUrl=http://webtv.stofa.dk/videoplayer.swf swfVfy=true'
+ stream = m3u8.splitlines()[-1]
+ idx = url.rfind('/') + 1
+ url = url[0:idx] + stream
item = xbmcgui.ListItem(path = url)
xbmcplugin.setResolvedUrl(HANDLE, True, item)
@@ -120,6 +142,10 @@ class StofaWebTv(object):
heading = buggalo.getRandomHeading()
xbmcgui.Dialog().ok(heading, ADDON.getLocalizedString(200),
ADDON.getLocalizedString(201))
+ def showError(self, message):
+ heading = buggalo.getRandomHeading()
+ xbmcgui.Dialog().ok(heading, ADDON.getLocalizedString(202),
ADDON.getLocalizedString(203), message)
+
def decodeHtmlEntities(self, string):
"""Decodes the HTML entities found in the string and returns the
modified string.
@@ -168,6 +194,7 @@ if __name__ == '__main__':
if not os.path.exists(CACHE_PATH):
os.makedirs(CACHE_PATH)
+ buggalo.SUBMIT_URL = 'http://tommy.winther.nu/exception/submit.php'
stv = StofaWebTv()
try:
if PARAMS.has_key('channel'):
diff --git a/plugin.video.stofa.dk/addon.xml b/plugin.video.stofa.dk/addon.xml
index a9b9fec..6a72e41 100644
--- a/plugin.video.stofa.dk/addon.xml
+++ b/plugin.video.stofa.dk/addon.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.stofa.dk" version="1.0.0" name="Stofa web-tv"
provider-name="twinther [[email protected]]">
+<addon id="plugin.video.stofa.dk" version="1.0.3" name="Stofa web-tv"
provider-name="twinther">
<requires>
- <import addon="xbmc.python" version="2.0"/>
- <import addon="script.module.buggalo" version="1.0.1"/>
+ <import addon="xbmc.python" version="2.1.0"/>
+ <import addon="script.module.buggalo" version="1.1.2"/>
<import addon="script.module.simplejson" version="2.0.10"/>
</requires>
<extension point="xbmc.python.pluginsource" library="addon.py">
@@ -11,11 +11,14 @@
<extension point="xbmc.addon.metadata">
<summary lang="en">Web-tv from Stofa</summary>
<summary lang="da">Web-tv fra Stofa</summary>
- <description lang="en">Watch web-tv from Stofa. Login
required.[CR][CR]If you have comments or suggestions for this addon, please
feel free to participate in the debate on my blog at
http://tommy.winther.nu</description>
- <description lang="da">Se web-tv fra Stofa. Kræver login.[CR][CR]Har
du kommentarer, ris eller ros til denne addon er du velkommen til at deltage i
debatten på min blog på http://tommy.winther.nu</description>
+ <description lang="en">Watch web-tv from Stofa. Login
required.[CR]Many channels are not playable due to missing DRM
requirements.[CR][CR]If you have comments or suggestions for this addon, please
feel free to participate in the debate on my blog at
http://tommy.winther.nu</description>
+ <description lang="da">Se web-tv fra Stofa. Kræver login.[CR]Mange
kanaler kan ikke afspilles pga. DRM krav.[CR][CR]Har du kommentarer, ris eller
ros til denne addon er du velkommen til at deltage i debatten på min blog på
http://tommy.winther.nu</description>
<disclaimer lang="en">Some parts of this addon may not be legal in
your country of residence - please check with your local laws.</disclaimer>
<disclaimer lang="da">Nogle dele af denne addon er muligvis ikke
lovlig i dit land - kontroller venligst dine lokale love.</disclaimer>
<platform>all</platform>
<language>da</language>
+ <email>[email protected]</email>
+ <website>http://tommy.winther.nu</website>
+
<source>https://github.com/xbmc-danish-addons/plugin.video.stofa.dk</source>
</extension>
</addon>
diff --git a/plugin.video.stofa.dk/changelog.txt
b/plugin.video.stofa.dk/changelog.txt
index 67e02d7..67036f8 100644
--- a/plugin.video.stofa.dk/changelog.txt
+++ b/plugin.video.stofa.dk/changelog.txt
@@ -1,3 +1,13 @@
+[B]Version 1.0.3 - 2013-05-12[/B]
+- Updated addon to match JSON changes on site
+- Added setting to hide DRM protected channels
+
+[B]Version 1.0.2 - 2012-12-25[/B]
+- Updated addon to match changes to website
+
+[B]Version 1.0.1 - 2012-10-22[/B]
+- Added buggalo url
+
[B]Version 1.0.0 - 2012-07-04[/B]
- Updated graphics for first public release
diff --git a/plugin.video.stofa.dk/resources/language/Danish/strings.xml
b/plugin.video.stofa.dk/resources/language/Danish/strings.xml
index 8056fef..e304400 100644
--- a/plugin.video.stofa.dk/resources/language/Danish/strings.xml
+++ b/plugin.video.stofa.dk/resources/language/Danish/strings.xml
@@ -3,9 +3,12 @@
<string id="100">Login</string>
<string id="101">Brugernavn</string>
<string id="102">Adgangskode</string>
+ <string id="103">Skjul DRM beskyttede kanaler</string>
<string id="200">Dit login er ugyldigt.</string>
<string id="201">Kontroller opsætningen og prøv igen.</string>
+ <string id="202">Kanalen kunne ikke afspilles.</string>
+ <string id="203">Meddelelsen fra serveren er:</string>
<string id="210">Du er blokeret fra Stofa web-tv af Stofa.</string>
</strings>
\ No newline at end of file
diff --git a/plugin.video.stofa.dk/resources/language/English/strings.xml
b/plugin.video.stofa.dk/resources/language/English/strings.xml
index 54bcfd3..f25ee85 100644
--- a/plugin.video.stofa.dk/resources/language/English/strings.xml
+++ b/plugin.video.stofa.dk/resources/language/English/strings.xml
@@ -3,9 +3,12 @@
<string id="100">Login</string>
<string id="101">Username</string>
<string id="102">Password</string>
+ <string id="103">Hide DRM protected channels</string>
<string id="200">Your login is invalid.</string>
<string id="201">Verify your settings and try again.</string>
+ <string id="202">Playback of this channel is not possible.</string>
+ <string id="203">The message from the server is:</string>
<string id="210">You have been blocked by Stofa web-tv by Stofa.</string>
</strings>
\ No newline at end of file
diff --git a/plugin.video.stofa.dk/resources/settings.xml
b/plugin.video.stofa.dk/resources/settings.xml
index f1c37e8..5a82ad5 100644
--- a/plugin.video.stofa.dk/resources/settings.xml
+++ b/plugin.video.stofa.dk/resources/settings.xml
@@ -3,5 +3,6 @@
<category label="100">
<setting id="username" label="101" type="text"/>
<setting id="password" label="102" type="text"/>
+ <setting id="hide.drm.channels" label="103" type="bool"
default="true"/>
</category>
</settings>
\ No newline at end of file
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=eaa78752ef4bad001a4eec73c1a72f6ec5754396
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=0fa39bad07c404560c4972cd00701445cc7353d6
commit 0fa39bad07c404560c4972cd00701445cc7353d6
Author: beenje <[email protected]>
Date: Mon Jun 3 22:13:26 2013 +0200
[plugin.video.gametest.dk] updated to version 3.0.0
diff --git a/plugin.video.gametest.dk/addon.py
b/plugin.video.gametest.dk/addon.py
index 704c7f4..7b3eddb 100644
--- a/plugin.video.gametest.dk/addon.py
+++ b/plugin.video.gametest.dk/addon.py
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2011 Tommy Winther
+# Copyright (C) 2013 Tommy Winther
# http://tommy.winther.nu
#
# This Program is free software; you can redistribute it and/or modify
@@ -21,7 +21,6 @@ import re
import os
import sys
import urllib2
-import urlparse
import buggalo
import xbmcgui
@@ -29,129 +28,40 @@ import xbmcaddon
import xbmcplugin
BASE_URL = 'http://www.gametest.dk/'
-FLV_URL = BASE_URL + 'gametesttest/reviews/%s/%s.flv'
-REVIEWS_URL = BASE_URL + 'index.php?anmeldelser=alle'
-PAGE_URL = BASE_URL + 'index.php?page=%s'
+PLAY_VIDEO_PATH = 'plugin://plugin.video.youtube/?action=play_video&videoid=%s'
+PLAYLIST_PATH =
'plugin://plugin.video.youtube/?channel=gametestforever&path=%2froot%2fsubscriptions&user_feed=uploads'
-CATEGORIES = [
- {'title' : 30010, 'params' : 'reviews=1'},
- {'title' : 30011, 'params' : 'retro=1'},
- {'title' : 30012, 'params' : 'stunts=1'},
-]
-class Gametest(object):
+class GameTest(object):
def showOverview(self):
- html = self.downloadUrl(BASE_URL)
- infoLabels = dict()
+ u = urllib2.urlopen(BASE_URL)
+ html = u.read()
+ u.close()
- # Latest show
- m = re.search('Sendt den ([^<]+)?.*?<ul>(.*?)</ul>', html, re.DOTALL)
+ m = re.search('http://www.youtube.com/embed/([^"]+)"', html, re.DOTALL)
if m:
- date = m.group(1)
- if date:
- date = m.group(1).replace('-', '.')
- infoLabels['title'] = ADDON.getLocalizedString(30000) + ': ' +
date
- infoLabels['date'] = date
- else:
- infoLabels['title'] = ADDON.getLocalizedString(30000)
- infoLabels['plot'] = m.group(2).replace('<li>',
'').replace('</li>', '\n')
- else:
- infoLabels['title'] = ADDON.getLocalizedString(30000)
-
- item = xbmcgui.ListItem(infoLabels['title'], iconImage = ICON)
- item.setProperty('Fanart_Image', FANART)
- item.setInfo('video', infoLabels)
- url = FLV_URL % ('file', 'Programmet')
- xbmcplugin.addDirectoryItem(HANDLE, url, item)
-
- # Categories
- for idx, c in enumerate(CATEGORIES):
- item = xbmcgui.ListItem(ADDON.getLocalizedString(c['title']),
iconImage = ICON)
+ videoId = m.group(1)
+ item = xbmcgui.ListItem(ADDON.getLocalizedString(30000),
iconImage=ICON)
item.setProperty('Fanart_Image', FANART)
- url = PATH + '?' + c['params']
- xbmcplugin.addDirectoryItem(HANDLE, url, item, True)
-
- xbmcplugin.setContent(HANDLE, 'episodes')
- xbmcplugin.endOfDirectory(HANDLE)
+ item.setProperty("IsPlayable", "true")
+ xbmcplugin.addDirectoryItem(HANDLE, PLAY_VIDEO_PATH % videoId,
item)
- def showReviews(self):
- html = self.downloadUrl(REVIEWS_URL)
-
- for m in re.finditer("index.php\?play=(.*?)&type=anmeldelse'><img
src=' (.*?)'.*?anmeldelse'>(.*?)</a>.*?af: (.*?)</a>(.*?)time'>(.*?)</p>",
html, re.DOTALL):
- slug = m.group(1)
- icon = m.group(2)
- title = m.group(3)
- author = m.group(4)
- rating = m.group(5).count('good.png')
- date = m.group(6)
-
- item = xbmcgui.ListItem(title, iconImage = BASE_URL + icon)
+ item = xbmcgui.ListItem(ADDON.getLocalizedString(30001),
iconImage=ICON)
item.setProperty('Fanart_Image', FANART)
- item.setInfo('video', {
- 'title' : title,
- 'date' : date.replace('-', '.'),
- 'year' : int(date[6:]),
- 'credits' : author,
- 'plot' : title,
- 'rating' : rating
- })
- url = FLV_URL % ('file', slug)
- xbmcplugin.addDirectoryItem(HANDLE, url, item)
+ xbmcplugin.addDirectoryItem(HANDLE, PLAYLIST_PATH, item, True)
- xbmcplugin.setContent(HANDLE, 'episodes')
- xbmcplugin.addSortMethod(HANDLE, xbmcplugin.SORT_METHOD_DATE)
xbmcplugin.endOfDirectory(HANDLE)
- def showPage(self, page):
- html = self.downloadUrl(PAGE_URL % page)
-
- for m in re.finditer("index.php\?play=(.*?)&type=.*?src=[ \"](.*?)[
\"](.*?<b>(.*?)</b>.*?af:.*?>(.*?)</a>)?", html, re.DOTALL):
- slug = m.group(1)
- icon = m.group(2)
- title = m.group(4)
- author = m.group(5)
-
- item = xbmcgui.ListItem(title, iconImage = BASE_URL + icon)
- item.setProperty('Fanart_Image', FANART)
- item.setInfo('video', {
- 'title' : title,
- 'credits' : author,
- 'plot' : title
- })
-
- url = FLV_URL % ('stunts', slug)
- xbmcplugin.addDirectoryItem(HANDLE, url, item)
-
- xbmcplugin.setContent(HANDLE, 'episodes')
- xbmcplugin.addSortMethod(HANDLE, xbmcplugin.SORT_METHOD_LABEL)
- xbmcplugin.endOfDirectory(HANDLE)
-
- def downloadUrl(self, url):
- u = urllib2.urlopen(url)
- data = u.read()
- u.close()
- return data
-
-
if __name__ == '__main__':
ADDON = xbmcaddon.Addon()
- PATH = sys.argv[0]
HANDLE = int(sys.argv[1])
- PARAMS = urlparse.parse_qs(sys.argv[2][1:])
ICON = os.path.join(ADDON.getAddonInfo('path'), 'icon.png')
FANART = os.path.join(ADDON.getAddonInfo('path'), 'fanart.jpg')
- gt = Gametest()
+ gt = GameTest()
try:
- if PARAMS.has_key('reviews'):
- gt.showReviews()
- elif PARAMS.has_key('retro'):
- gt.showPage('retro')
- elif PARAMS.has_key('stunts'):
- gt.showPage('stunts')
- else:
- gt.showOverview()
- except Exception:
+ gt.showOverview()
+ except:
buggalo.onExceptionRaised()
diff --git a/plugin.video.gametest.dk/addon.xml
b/plugin.video.gametest.dk/addon.xml
index 329a8dc..df2aab3 100644
--- a/plugin.video.gametest.dk/addon.xml
+++ b/plugin.video.gametest.dk/addon.xml
@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon
- id="plugin.video.gametest.dk"
- version="2.0.0"
- name="Gametest"
- provider-name="twinther [[email protected]]">
+<addon id="plugin.video.gametest.dk" version="3.0.0" name="Gametest"
provider-name="twinther">
<requires>
- <import addon="xbmc.python" version="2.0"/>
+ <import addon="xbmc.python" version="2.1.0"/>
+ <import addon="script.module.buggalo" version="1.1.2"/>
+ <import addon="plugin.video.youtube" version="3.0.0"/>
</requires>
<extension point="xbmc.python.pluginsource" library="addon.py">
<provides>video</provides>
@@ -16,6 +14,10 @@
<description lang="en">Gametest is an independent, non-profit
game magazine, run by enthusiasts.[CR][CR]If you have comments or suggestions
for this addon, please feel free to participate in the debate on my blog at
http://tommy.winther.nu</description>
<description lang="da">Gametest er et uafhængigt, profitløst
spilmagasin, drevet af ildsjæle. Vi brænder for spil, og for at guide dig
igennem den store, indviklede spiljungle.[CR][CR]Har du kommentarer, ris eller
ros til denne addon er du velkommen til at deltage i debatten på min blog på
http://tommy.winther.nu</description>
<license>GPL 2.0</license>
- <platform>all</platform>
+ <platform>all</platform>
+ <email>[email protected]</email>
+ <website>http://tommy.winther.nu</website>
+
<source>https://github.com/xbmc-danish-addons/plugin.video.gametest.dk</source>
+ <language>da</language>
</extension>
</addon>
diff --git a/plugin.video.gametest.dk/changelog.txt
b/plugin.video.gametest.dk/changelog.txt
index e8fec2f..5c0bdec 100644
--- a/plugin.video.gametest.dk/changelog.txt
+++ b/plugin.video.gametest.dk/changelog.txt
@@ -1,3 +1,6 @@
+[B]Version 3.0.0 - 2013-06-02[/B]
+- Complete rewrite, site uses YouTube now
+
[B]Version 2.0.0 - 2011-12-28[/B]
- Fixed problem with parsing date of latest show resulting in a script error
- Improved error handling with option for the user to submit exceptions/bugs
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=054ce1853ed3d2b91dc58f67032279008be08a42
commit 054ce1853ed3d2b91dc58f67032279008be08a42
Author: beenje <[email protected]>
Date: Mon Jun 3 22:13:22 2013 +0200
[plugin.video.dmax] updated to version 0.0.4
diff --git a/plugin.video.dmax/addon.xml b/plugin.video.dmax/addon.xml
index 11e8404..1686af4 100644
--- a/plugin.video.dmax/addon.xml
+++ b/plugin.video.dmax/addon.xml
@@ -1,16 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.video.dmax" name="DMAX Videotheke" version="0.0.3"
provider-name="dethfeet">
+<addon id="plugin.video.dmax" name="DMAX Videotheke" version="0.0.4"
provider-name="dethfeet">
<requires>
- <import addon="xbmc.python" version="2.0"/>
+ <import addon="xbmc.python" version="2.1.0"/>
+ <import addon="script.module.pyamf" version="0.6.1"/>
</requires>
<extension point="xbmc.python.pluginsource" library="default.py">
<provides>video</provides>
</extension>
<extension point="xbmc.addon.metadata">
+ <language>de</language>
<summary lang="en">DMAX (german television)</summary>
<summary lang="de">DMAX Videotheke</summary>
<description lang="en">DMAX (german television)</description>
<description lang="de">DMAX Videotheke</description>
<platform>all</platform>
+ <license>GNU GENERAL PUBLIC LICENSE. Version 2, June 1991</license>
+
<forum>http://www.xbmcnerds.com/index.php?page=Thread&threadID=11119</forum>
+ <website>https://github.com/dethfeet/plugin.video.dmax</website>
+ <source>https://github.com/dethfeet/plugin.video.dmax</source>
+ <email>[email protected]</email>
</extension>
</addon>
diff --git a/plugin.video.dmax/changelog.txt b/plugin.video.dmax/changelog.txt
index 9c45ae6..d5d80de 100644
--- a/plugin.video.dmax/changelog.txt
+++ b/plugin.video.dmax/changelog.txt
@@ -1,3 +1,4 @@
+0.0.4 - (2013-06-03) - Fix von V155
0.0.3 - (2012-04-12) - Preparing for adding to official Repo
0.0.2 - (2012-03-29) - Fix der Episoden-Titel
0.0.1 - (2012-03-24) - Initial release
diff --git a/plugin.video.dmax/default.py b/plugin.video.dmax/default.py
index bd8dbaf..41e8118 100644
--- a/plugin.video.dmax/default.py
+++ b/plugin.video.dmax/default.py
@@ -3,7 +3,6 @@ import xbmcgui
import sys
import urllib, urllib2, urlparse
import re
-import pprint
import httplib
from pyamf import AMF0, AMF3
@@ -117,7 +116,8 @@ def get_clip_info(const, playerID, videoPlayer,
publisherID):
def play(const, playerID, videoPlayer, publisherID):
rtmpdata = get_clip_info(const, playerID, videoPlayer, publisherID)
streamName = ""
- streamUrl = rtmpdata['FLVFullLengthURL'];
+ default = 'skip'
+ streamUrl = rtmpdata.get('FLVFullLengthURL', default);
for item in sorted(rtmpdata['renditions'], key=lambda
item:item['frameHeight'], reverse=False):
streamHeight = item['frameHeight']
-----------------------------------------------------------------------
Summary of changes:
.../LICENSE.txt | 0
plugin.image.jpfoto/addon.py | 105 +++
plugin.image.jpfoto/addon.xml | 22 +
plugin.image.jpfoto/changelog.txt | 8 +
plugin.image.jpfoto/icon.png | Bin 0 -> 18829 bytes
plugin.image.moebooru/LICENSE.txt | 688 ++++++++++++++++++++
plugin.image.moebooru/addon.xml | 25 +
plugin.image.moebooru/changelog.txt | 22 +
plugin.image.moebooru/default.py | 280 ++++++++
plugin.image.moebooru/fanart.jpg | Bin 0 -> 621895 bytes
plugin.image.moebooru/icon.png | Bin 0 -> 102193 bytes
plugin.image.moebooru/resources/images/LICENSE.txt | 4 +
plugin.image.moebooru/resources/images/latest.png | Bin 0 -> 19256 bytes
plugin.image.moebooru/resources/images/more.png | Bin 0 -> 15028 bytes
plugin.image.moebooru/resources/images/pools.png | Bin 0 -> 24467 bytes
plugin.image.moebooru/resources/images/random.png | Bin 0 -> 21829 bytes
plugin.image.moebooru/resources/images/search.png | Bin 0 -> 18398 bytes
.../resources/images/search_history.png | Bin 0 -> 16575 bytes
.../resources/language/English/strings.po | 175 +++++
.../resources/language/German/strings.po | 138 ++++
plugin.image.moebooru/resources/settings.xml | 14 +
plugin.video.dmax/addon.xml | 11 +-
plugin.video.dmax/changelog.txt | 1 +
plugin.video.dmax/default.py | 4 +-
plugin.video.gametest.dk/addon.py | 124 +---
plugin.video.gametest.dk/addon.xml | 16 +-
plugin.video.gametest.dk/buggalo.py | 102 ---
plugin.video.gametest.dk/changelog.txt | 3 +
.../resources/language/Danish/strings.po | 10 +
.../resources/language/Danish/strings.xml | 23 -
.../resources/language/English/strings.po | 10 +
.../resources/language/English/strings.xml | 23 -
.../.idea/libraries/sass_stdlib.xml | 8 +
plugin.video.stofa.dk/addon.py | 45 +-
plugin.video.stofa.dk/addon.xml | 13 +-
plugin.video.stofa.dk/changelog.txt | 10 +
.../resources/language/Danish/strings.xml | 3 +
.../resources/language/English/strings.xml | 3 +
plugin.video.stofa.dk/resources/settings.xml | 1 +
39 files changed, 1611 insertions(+), 280 deletions(-)
copy {plugin.audio.abradio.cz => plugin.image.jpfoto}/LICENSE.txt (100%)
create mode 100644 plugin.image.jpfoto/addon.py
create mode 100644 plugin.image.jpfoto/addon.xml
create mode 100644 plugin.image.jpfoto/changelog.txt
create mode 100644 plugin.image.jpfoto/icon.png
create mode 100644 plugin.image.moebooru/LICENSE.txt
create mode 100644 plugin.image.moebooru/addon.xml
create mode 100644 plugin.image.moebooru/changelog.txt
create mode 100644 plugin.image.moebooru/default.py
create mode 100644 plugin.image.moebooru/fanart.jpg
create mode 100644 plugin.image.moebooru/icon.png
create mode 100644 plugin.image.moebooru/resources/images/LICENSE.txt
create mode 100644 plugin.image.moebooru/resources/images/latest.png
create mode 100644 plugin.image.moebooru/resources/images/more.png
create mode 100644 plugin.image.moebooru/resources/images/pools.png
create mode 100644 plugin.image.moebooru/resources/images/random.png
create mode 100644 plugin.image.moebooru/resources/images/search.png
create mode 100644 plugin.image.moebooru/resources/images/search_history.png
create mode 100644 plugin.image.moebooru/resources/language/English/strings.po
create mode 100644 plugin.image.moebooru/resources/language/German/strings.po
create mode 100644 plugin.image.moebooru/resources/settings.xml
delete mode 100644 plugin.video.gametest.dk/buggalo.py
create mode 100644
plugin.video.gametest.dk/resources/language/Danish/strings.po
delete mode 100644
plugin.video.gametest.dk/resources/language/Danish/strings.xml
create mode 100644
plugin.video.gametest.dk/resources/language/English/strings.po
delete mode 100644
plugin.video.gametest.dk/resources/language/English/strings.xml
create mode 100644 plugin.video.stofa.dk/.idea/libraries/sass_stdlib.xml
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons