The branch, eden has been updated
via 79e49048ef2608b7c36751972cdfd6c12921ca56 (commit)
via fcc0f48be6d309285153e16ed96652ae2ff1dbd8 (commit)
via 79718308f7f786854993659ac7f157e711540b3e (commit)
from a4a00fcd61e23a24e3923f9a5b38d0438d82c603 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=79e49048ef2608b7c36751972cdfd6c12921ca56
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=fcc0f48be6d309285153e16ed96652ae2ff1dbd8
commit fcc0f48be6d309285153e16ed96652ae2ff1dbd8
Author: beenje <bee...@xbmc.org>
Date: Thu Feb 7 21:06:30 2013 +0100
[plugin.video.filmstarts_de] updated to version 1.0.7
diff --git a/plugin.video.filmstarts_de/addon.xml
b/plugin.video.filmstarts_de/addon.xml
index 2d52398..62b1837 100644
--- a/plugin.video.filmstarts_de/addon.xml
+++ b/plugin.video.filmstarts_de/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.filmstarts_de" name="FilmStarts.de" version="1.0.6"
provider-name="AddonScriptorDE">
+<addon id="plugin.video.filmstarts_de" name="FilmStarts.de" version="1.0.7"
provider-name="AddonScriptorDE">
<requires>
<import addon="xbmc.python" version="2.0"/>
</requires>
diff --git a/plugin.video.filmstarts_de/changelog.txt
b/plugin.video.filmstarts_de/changelog.txt
index 95d43f6..22add18 100644
--- a/plugin.video.filmstarts_de/changelog.txt
+++ b/plugin.video.filmstarts_de/changelog.txt
@@ -16,4 +16,7 @@
- Added setting to show all trailers
- Added setting to force view mode
1.0.6
-- Fixed site changes for some vids
\ No newline at end of file
+- Fixed site changes for some vids
+1.0.7 / 2.0.7
+- Added video playback for youtube trailers
+- Fixed video playback for filmstarts trailers
diff --git a/plugin.video.filmstarts_de/default.py
b/plugin.video.filmstarts_de/default.py
index d24af44..f401a1e 100644
--- a/plugin.video.filmstarts_de/default.py
+++ b/plugin.video.filmstarts_de/default.py
@@ -2,6 +2,7 @@
# -*- coding: utf-8 -*-
import urllib,urllib2,re,xbmcplugin,xbmcgui,sys,xbmcaddon,socket
+socket.setdefaulttimeout(30)
pluginhandle = int(sys.argv[1])
xbox = xbmc.getCondVisibility("System.Platform.xbox")
addon = xbmcaddon.Addon(id='plugin.video.filmstarts_de')
@@ -155,30 +156,47 @@ def search():
def playVideo(url):
content = getUrl(url)
- match=re.compile("cmedia: '(.+?)',\nref: '(.+?)',\ntypeRef: '(.+?)'",
re.DOTALL).findall(content)
- match2=re.compile('"cmedia" : (.+?),"ref" : (.+?),"siteKey" :
"(.+?)","typeRef" : "(.+?)"', re.DOTALL).findall(content)
- if len(match)>0:
- media=match[0][0]
- ref=match[0][1]
- typeRef=match[0][2]
+ match1=re.compile('"cmedia" : (.+?),', re.DOTALL).findall(content)
+ match2=re.compile("cmedia: '(.+?)'", re.DOTALL).findall(content)
+ if len(match1)>0:
+ media=match1[0]
elif len(match2)>0:
- media=match2[0][0]
- ref=match2[0][1]
- typeRef=match2[0][3]
- content =
getUrl('http://www.filmstarts.de/ws/AcVisiondata.ashx?media='+media+'&ref='+ref+'&typeref='+typeRef)
- match=re.compile('hd_path="(.+?)"', re.DOTALL).findall(content)
- url=match[0]
- listitem = xbmcgui.ListItem(path=url)
- return xbmcplugin.setResolvedUrl(pluginhandle, True, listitem)
+ media=match2[0]
+ match1=re.compile('"ref" : (.+?),', re.DOTALL).findall(content)
+ match2=re.compile("ref: '(.+?)'", re.DOTALL).findall(content)
+ if len(match1)>0:
+ ref=match1[0]
+ elif len(match2)>0:
+ ref=match2[0]
+ match1=re.compile('"typeRef" : "(.+?)"', re.DOTALL).findall(content)
+ match2=re.compile("typeRef: '(.+?)'", re.DOTALL).findall(content)
+ if len(match1)>0:
+ typeRef=match1[0]
+ elif len(match2)>0:
+ typeRef=match2[0]
+ content =
getUrl('http://www.filmstarts.de/ws/AcVisiondataV4.ashx?media='+media+'&ref='+ref+'&typeref='+typeRef)
+ finalUrl=""
+ match1=re.compile('/nmedia/youtube:(.+?)"', re.DOTALL).findall(content)
+ match2=re.compile('hd_path="(.+?)"', re.DOTALL).findall(content)
+ if len(match1)>0:
+ finalUrl=getYoutubeUrl(match1[0])
+ elif len(match2)>0:
+ finalUrl=match2[0]
+ if finalUrl!="":
+ listitem = xbmcgui.ListItem(path=finalUrl)
+ return xbmcplugin.setResolvedUrl(pluginhandle, True, listitem)
+
+def getYoutubeUrl(id):
+ if xbox==True:
+ url =
"plugin://video/YouTube/?path=/root/video&action=play_video&videoid=" + id
+ else:
+ url =
"plugin://plugin.video.youtube/?path=/root/video&action=play_video&videoid=" +
id
+ return url
def getUrl(url):
req = urllib2.Request(url)
- req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; rv:11.0)
Gecko/20100101 Firefox/11.0')
- if xbox==True:
- socket.setdefaulttimeout(30)
- response = urllib2.urlopen(req)
- else:
- response = urllib2.urlopen(req,timeout=30)
+ req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; rv:18.0)
Gecko/20100101 Firefox/18.0')
+ response = urllib2.urlopen(req)
link=response.read()
response.close()
return link
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=79718308f7f786854993659ac7f157e711540b3e
commit 79718308f7f786854993659ac7f157e711540b3e
Author: beenje <bee...@xbmc.org>
Date: Thu Feb 7 21:06:29 2013 +0100
[plugin.video.ign_com] updated to version 1.0.3
diff --git a/plugin.video.ign_com/addon.xml b/plugin.video.ign_com/addon.xml
index 27b935c..333c5e0 100644
--- a/plugin.video.ign_com/addon.xml
+++ b/plugin.video.ign_com/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<addon id="plugin.video.ign_com" name="IGN.com" version="1.0.2"
provider-name="AddonScriptorDE">
+<addon id="plugin.video.ign_com" name="IGN.com" version="1.0.3"
provider-name="AddonScriptorDE">
<requires>
<import addon="xbmc.python" version="2.0"/>
</requires>
diff --git a/plugin.video.ign_com/changelog.txt
b/plugin.video.ign_com/changelog.txt
index 3b1219b..63e114b 100644
--- a/plugin.video.ign_com/changelog.txt
+++ b/plugin.video.ign_com/changelog.txt
@@ -3,4 +3,7 @@
1.0.1
- Some small fixes
1.0.2
-- Fixed site changes
\ No newline at end of file
+- Fixed site changes
+1.0.3 / 2.0.3
+- Fixed video playback
+- Fixed search
\ No newline at end of file
diff --git a/plugin.video.ign_com/default.py b/plugin.video.ign_com/default.py
index 2acb407..f143684 100644
--- a/plugin.video.ign_com/default.py
+++ b/plugin.video.ign_com/default.py
@@ -7,7 +7,7 @@ pluginhandle = int(sys.argv[1])
addon = xbmcaddon.Addon(id='plugin.video.ign_com')
translation = addon.getLocalizedString
-maxVideoQuality=addon.getSetting("maxVideoQuality")
+maxVideoQuality=addon.getSetting("maxVideoQualityRes")
forceViewMode=addon.getSetting("forceViewMode")
if forceViewMode=="true":
forceViewMode=True
@@ -15,7 +15,7 @@ else:
forceViewMode=False
viewMode=str(addon.getSetting("viewMode"))
-qual=[500000,1000000,2500000,3000000]
+qual=[640,960,1280]
maxVideoQuality=qual[int(maxVideoQuality)]
def index():
@@ -86,47 +86,63 @@ def search():
keyboard.doModal()
if keyboard.isConfirmed() and keyboard.getText():
search_string = keyboard.getText().replace(" ","+")
-
listSearchResults('http://www.ign.com/search/video?query='+search_string+'&sort=&videotype=')
+
listSearchResults('http://www.ign.com/search?q='+search_string+'&page=0&count=10&type=video')
def listSearchResults(url):
+ urlMain = url
content = getUrl(url)
- spl=content.split('<div class="video-result clear">')
+ spl=content.split('<div class="search-item"')
for i in range(1,len(spl),1):
entry=spl[i]
- match=re.compile('<span class="publisherLink">(.+?)</span>',
re.DOTALL).findall(entry)
- date=match[0]
- match=re.compile('<a class="video-title" href="(.+?)">(.+?)</a>',
re.DOTALL).findall(entry)
+ match=re.compile('src="(.+?)"', re.DOTALL).findall(entry)
+ thumb=cleanUrl(match[0])
+ entry=entry[entry.find('<div class="search-item-title">'):]
+ match=re.compile('<span class="duration">(.+?)<span>',
re.DOTALL).findall(entry)
+ length=""
+ if len(match)>0:
+ length=cleanTitle(match[0])
+ match=re.compile('<a href="(.+?)">(.+?)</a>',
re.DOTALL).findall(entry)
url=match[0][0]
title=match[0][1]
title=cleanTitle(title)
- match=re.compile('src="(.+?)"', re.DOTALL).findall(entry)
- thumb=match[0]
- addLink(title,url,'playVideo',thumb,date)
- matchPage=re.compile('href="(.+?)">(.+?)</a>',
re.DOTALL).findall(content)
- for url, title in matchPage:
- if title=="Next »":
- urlNext="http://www.ign.com"+url
- addDir(translation(30001),urlNext,'listSearchResults',"")
+ addLink(title,url,'playVideo',thumb,"",length)
+ match=re.compile('data-page="(.+?)"', re.DOTALL).findall(content)
+ page=int(match[0])
+ match=re.compile('data-total="(.+?)"', re.DOTALL).findall(content)
+ maxPage=int(int(match[0])/10)
+ urlNext=urlMain.replace("page="+str(page),"page="+str(page+1))
+ if page<maxPage:
+ addDir(translation(30001),urlNext,'listSearchResults',"")
xbmcplugin.endOfDirectory(pluginhandle)
if forceViewMode==True:
xbmc.executebuiltin('Container.SetViewMode('+viewMode+')')
def playVideo(url):
content = getUrl(url)
- match=re.compile('data-video-id="(.+?)"', re.DOTALL).findall(content)
- content =
getUrl("http://apis.ign.com/video/v3/videos/osmf/"+match[0]+".smil")
- match=re.compile('<video src="(.+?)" system-bitrate="(.+?)"/>',
re.DOTALL).findall(content)
finalUrl=""
- for url, bitrate in match:
- if int(bitrate)<=maxVideoQuality:
- finalUrl="http://"+url
- listitem = xbmcgui.ListItem(path=finalUrl)
- return xbmcplugin.setResolvedUrl(pluginhandle, True, listitem)
+ spl=content.split('<li class="video-file mp4"')
+ for i in range(1,len(spl),1):
+ entry=spl[i]
+ match=re.compile('data-width="(.+?)"', re.DOTALL).findall(entry)
+ res=match[0]
+ match=re.compile('data-id="(.+?)"', re.DOTALL).findall(entry)
+ url=match[0]
+ match=re.compile('data-type="(.+?)"', re.DOTALL).findall(entry)
+ ext=match[0]
+ if int(res)<=maxVideoQuality:
+
finalUrl="http://assets.ign.com/videos/zencoder/"+res+"/"+url+"."+ext
+ if finalUrl!="":
+ listitem = xbmcgui.ListItem(path=finalUrl)
+ return xbmcplugin.setResolvedUrl(pluginhandle, True, listitem)
def cleanTitle(title):
title=title.replace("<","<").replace(">",">").replace("&","&").replace("'","'").replace(""","\"").replace("ß","Ã").replace("–","-")
title=title.replace("Ä","Ã").replace("Ü","Ã").replace("Ö","Ã").replace("ä","ä").replace("ü","ü").replace("ö","ö")
- title=title.strip()
+ title=title.replace("<em>","").replace("</em>","").strip()
+ return title
+
+def cleanUrl(title):
+ title=title.replace(":",":").replace("/","/")
return title
def getUrl(url):
diff --git a/plugin.video.ign_com/resources/language/English/strings.xml
b/plugin.video.ign_com/resources/language/English/strings.xml
index 0f0f5de..37bf14e 100644
--- a/plugin.video.ign_com/resources/language/English/strings.xml
+++ b/plugin.video.ign_com/resources/language/English/strings.xml
@@ -8,7 +8,7 @@
<string id="30006">Series Updates</string>
<string id="30007">All Series</string>
<string id="30008">Search</string>
- <string id="30101">Maximum video bitrate</string>
+ <string id="30101">Maximum video resolution</string>
<string id="30102">Force View</string>
<string id="30103">View</string>
</strings>
diff --git a/plugin.video.ign_com/resources/language/German/strings.xml
b/plugin.video.ign_com/resources/language/German/strings.xml
index 5b533ba..fc5ec9b 100644
--- a/plugin.video.ign_com/resources/language/German/strings.xml
+++ b/plugin.video.ign_com/resources/language/German/strings.xml
@@ -3,6 +3,6 @@
<string id="30001">Nächste Seite</string>
<string id="30002">Neue Videos</string>
<string id="30008">Suchen</string>
- <string id="30101">Maximale Videobitrate</string>
+ <string id="30101">Maximale Video Auflösung</string>
<string id="30102">View erzwingen</string>
</strings>
diff --git a/plugin.video.ign_com/resources/settings.xml
b/plugin.video.ign_com/resources/settings.xml
index 0f60873..87fbe17 100644
--- a/plugin.video.ign_com/resources/settings.xml
+++ b/plugin.video.ign_com/resources/settings.xml
@@ -1,5 +1,5 @@
<settings>
- <setting id="maxVideoQuality" type="enum" label="30101"
values="500kb|1000kb|2500kb|3000kb" default="3"/>
+ <setting id="maxVideoQualityRes" type="enum" label="30101"
values="640x360|960x540|1280x720" default="2"/>
<setting id="forceViewMode" type="bool" label="30102" default="false"/>
<setting id="viewMode" type="number" label="30103" default="500"/>
</settings>
-----------------------------------------------------------------------
Summary of changes:
.../LICENSE.txt | 0
.../addon.xml | 10 +-
plugin.audio.booksshouldbefree_com/changelog.txt | 4 +
plugin.audio.booksshouldbefree_com/default.py | 144 ++++++++++++++++++++
plugin.audio.booksshouldbefree_com/icon.png | Bin 0 -> 12378 bytes
.../resources/language/English/strings.xml | 4 +-
.../resources/settings.xml | 0
plugin.video.filmstarts_de/addon.xml | 2 +-
plugin.video.filmstarts_de/changelog.txt | 5 +-
plugin.video.filmstarts_de/default.py | 58 +++++---
plugin.video.ign_com/addon.xml | 2 +-
plugin.video.ign_com/changelog.txt | 5 +-
plugin.video.ign_com/default.py | 64 ++++++----
.../resources/language/English/strings.xml | 2 +-
.../resources/language/German/strings.xml | 2 +-
plugin.video.ign_com/resources/settings.xml | 2 +-
16 files changed, 247 insertions(+), 57 deletions(-)
copy {plugin.audio.einslive_de =>
plugin.audio.booksshouldbefree_com}/LICENSE.txt (100%)
copy {plugin.video.ebaumsworld_com =>
plugin.audio.booksshouldbefree_com}/addon.xml (50%)
create mode 100644 plugin.audio.booksshouldbefree_com/changelog.txt
create mode 100644 plugin.audio.booksshouldbefree_com/default.py
create mode 100644 plugin.audio.booksshouldbefree_com/icon.png
copy {plugin.video.redux_com =>
plugin.audio.booksshouldbefree_com}/resources/language/English/strings.xml (58%)
copy {plugin.audio.einslive_de =>
plugin.audio.booksshouldbefree_com}/resources/settings.xml (100%)
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Free Next-Gen Firewall Hardware Offer
Buy your Sophos next-gen firewall before the end March 2013
and get the hardware for free! Learn more.
http://p.sf.net/sfu/sophos-d2d-feb
_______________________________________________
Xbmc-addons mailing list
Xbmc-addons@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xbmc-addons