The branch, eden-pre has been updated
via eeeb9d310fe1c8cb475ce23e0ce5ca3a413671b8 (commit)
from a850f0fab0103a45c2c33654f55c265a02ac9467 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=eeeb9d310fe1c8cb475ce23e0ce5ca3a413671b8
commit eeeb9d310fe1c8cb475ce23e0ce5ca3a413671b8
Author: spiff <[email protected]>
Date: Tue Feb 21 15:13:19 2012 +0100
[plugin.video.zapiks] updated to version 1.0.1
diff --git a/plugin.video.zapiks/addon.xml b/plugin.video.zapiks/addon.xml
index 1adf79f..e1664d3 100644
--- a/plugin.video.zapiks/addon.xml
+++ b/plugin.video.zapiks/addon.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.zapiks"
name="Zapiks"
- version="1.0.0"
+ version="1.0.1"
provider-name="divingmule">
<requires>
<import addon="xbmc.python" version="2.0"/>
- <import addon="script.module.beautifulsoup" version="3.0.8"/>
+ <import addon="script.module.beautifulsoup" version="3.0.8"/>
+ <import addon="script.common.plugin.cache" version="0.9.1"/>
</requires>
<extension point="xbmc.python.pluginsource"
library="default.py">
@@ -16,4 +17,4 @@
<description>Extreme sports videos from the French website
zapiks.com</description>
<platform>all</platform>
</extension>
-</addon>
+</addon>
\ No newline at end of file
diff --git a/plugin.video.zapiks/changelog.txt
b/plugin.video.zapiks/changelog.txt
index 9578d86..d4b9c4e 100644
--- a/plugin.video.zapiks/changelog.txt
+++ b/plugin.video.zapiks/changelog.txt
@@ -1,3 +1,7 @@
+Version 1.0.1
+bug fixes
+added new categories
+
Version 1.0.0
new for eden-pre
diff --git a/plugin.video.zapiks/default.py b/plugin.video.zapiks/default.py
index 9335b9b..68dbdbf 100644
--- a/plugin.video.zapiks/default.py
+++ b/plugin.video.zapiks/default.py
@@ -1,96 +1,113 @@
-import urllib,urllib2,re,os
-import xbmcplugin,xbmcgui,xbmcaddon
+import urllib
+import urllib2
+import re
+import os
+import xbmcplugin
+import xbmcgui
+import xbmcaddon
+import StorageServer
from BeautifulSoup import BeautifulSoup
__settings__ = xbmcaddon.Addon(id='plugin.video.zapiks')
__language__ = __settings__.getLocalizedString
-sort = __settings__.getSetting('sort_by')
+sort = __settings__.getSetting('sort_method')
home = __settings__.getAddonInfo('path')
+cache = StorageServer.StorageServer("zapiks", 24)
+base = 'http://www.zapiks.com'
+icon_path = 'http://zapiks-xbmc.googlecode.com/svn/images/'
+fanart = icon_path+'fanart.jpg'
+
+
+def getRequest(url):
+ headers = {'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64;
rv:10.0.2) Gecko/20100101 Firefox/10.0.2',
+ 'Referer' : base}
+ req = urllib2.Request(url,None,headers)
+ response = urllib2.urlopen(req)
+ data = response.read()
+ response.close()
+ return data
+
+
+def cache_base():
+ data = getRequest(base)
+ return(data, 200)
def categories():
- if sort==__language__(30013):
- u = '/premium_1.php'
-
addDir(__language__(30000),'http://www.zapiks.com/_surf_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/surf.png' ) ))
-
addDir(__language__(30001),'http://www.zapiks.com/_snowboard_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/snowboard.png' ) ))
-
addDir(__language__(30002),'http://www.zapiks.com/_mountainbike_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/vtt.png' ) ))
-
addDir(__language__(30003),'http://www.zapiks.com/_bmx_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/bmx.png' ) ))
-
addDir(__language__(30004),'http://www.zapiks.com/_skate_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/skate.png' ) ))
-
addDir(__language__(30005),'http://www.zapiks.com/_ski_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/ski.png' ) ))
- else:
- if sort==__language__(30010):
- u = '1'
- if sort==__language__(30012):
- u = '/alltimebuzzed_1.php'
- if sort==__language__(30011):
- u = '/popular_1.php'
-
addDir(__language__(30000),'http://www.zapiks.com/surf_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/surf.png' ) ))
-
addDir(__language__(30001),'http://www.zapiks.com/snowboard_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/snowboard.png' ) ))
-
addDir(__language__(30002),'http://www.zapiks.com/mountainbike_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/vtt.png' ) ))
-
addDir(__language__(30003),'http://www.zapiks.com/bmx_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/bmx.png' ) ))
-
addDir(__language__(30004),'http://www.zapiks.com/skate_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/skate.png' ) ))
-
addDir(__language__(30005),'http://www.zapiks.com/ski_'+u,1,xbmc.translatePath(
os.path.join( home, 'resources/images/ski.png' ) ))
+ soup = BeautifulSoup(cache.cacheFunction(cache_base)[0],
convertEntities=BeautifulSoup.HTML_ENTITIES)
+ items = soup('ul', attrs={'id' : "sports_navigation"})[0]('a')
+ for i in items:
+ href = i['href']
+ if not href == '#':
+ href = i['href'][:-1]
+ if sort == '0':
+ href = href+'1'
+ if sort == '1':
+ href = href+'/popular_1.php'
+ if sort == '2':
+ href = href+'/alltimebuzzed_1.php'
+ if sort == '3':
+ href = '/_'+href[1:]+'/premium_1.php'
+ title = i.string
+ thumb = icon_path+i.string+'.png'
+ addDir(title, base+href, 1, thumb)
+ addDir(__language__(30000), 'getPartners', 3, icon_path+'partner.png')
+
+
+def getPartners():
+ soup = BeautifulSoup(cache.cacheFunction(cache_base)[0],
convertEntities=BeautifulSoup.HTML_ENTITIES)
+ partners_items = soup('div', attrs={'id' : "partners"})[0]('a')
+ pro_items = soup('div', attrs={'id' : "pro_all"})[0]('a')
+ for i in pro_items:
+ items = partners_items.append(i)
+ for i in partners_items:
+ href = i['href']
+ title = i['title']
+ thumb = i.img['src']
+ addDir(title, base+href, 1, thumb)
def indexPage(url):
- req = urllib2.Request(url)
- req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
- response = urllib2.urlopen(req)
- link=response.read()
- soup = BeautifulSoup(link, convertEntities=BeautifulSoup.HTML_ENTITIES)
- videos = soup.findAll('div', attrs={'class' : "media_thumbnail medium"})
- for video in videos:
+ soup = BeautifulSoup(getRequest(url),
convertEntities=BeautifulSoup.HTML_ENTITIES)
+ videos = soup.findAll('div', attrs={'class' : "media_thumbnail
medium"})
+ for i in videos:
+ try:
+ url = i('a')[0]['href']
+ name = i('a')[0]['title']
+ thumb = i('img')[0]['src']
+ addLink(name, base+url, 2, thumb)
+ except:
+ continue
try:
- url = video('a')[0]['href']
- name = video('a')[0]['title']
- thumb = video('img')[0]['src']
- addLink(name,'http://www.zapiks.com'+url,2,thumb)
+ nextPage = soup.find('span', attrs={'class' :
"next"})('a')[1]['href']
+ addDir(__language__(30001), base+nextPage, 1, os.path.join(home,
'resources', 'images', 'next.png'))
except:
pass
- try:
- nextPage = soup.find('span', attrs={'class' : "next"})('a')[1]['href']
-
addDir(__language__(30006),'http://www.zapiks.com'+nextPage,1,'special://home/addons/plugin.video.zapiks/resources/images/next.png')
- except:
- pass
def videoLinks(url):
- req = urllib2.Request(url)
- req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
- response = urllib2.urlopen(req)
- link=response.read()
- response.close()
- soup = BeautifulSoup(link)
- vid = soup.find('link', attrs={'rel' : "video_src"})['href']
- vidId = vid[-5:]
- req =
urllib2.Request('http://www.zapiks.com/view/index.php?file='+vidId+'&lang=fr')
- req.addheaders = [('Referer', 'http://www.zapiks.com'),
- ('Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3)
Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)')]
- response = urllib2.urlopen(req)
- link=response.read()
- response.close()
- soup = BeautifulSoup(link)
- url = soup.find('file').string
- item = xbmcgui.ListItem(path=url)
- xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, item)
-
+ soup = BeautifulSoup(getRequest(url))
+ vid = soup.find('link', attrs={'rel' : "video_src"})['href']
+ new_soup =
BeautifulSoup(getRequest('http://www.zapiks.com/view/index.php?file='+vid[-5:]+'&lang=fr'))
+ item = xbmcgui.ListItem(path = new_soup.file.string)
+ xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, item)
+
def get_params():
param=[]
paramstring=sys.argv[2]
if len(paramstring)>=2:
- params=sys.argv[2]
- cleanedparams=params.replace('?','')
- if (params[len(params)-1]=='/'):
- params=params[0:len(params)-2]
- pairsofparams=cleanedparams.split('&')
- param={}
- for i in range(len(pairsofparams)):
- splitparams={}
- splitparams=pairsofparams[i].split('=')
- if (len(splitparams))==2:
- param[splitparams[0]]=splitparams[1]
-
+ params=sys.argv[2]
+ cleanedparams=params.replace('?','')
+ if (params[len(params)-1]=='/'):
+ params=params[0:len(params)-2]
+ pairsofparams=cleanedparams.split('&')
+ param={}
+ for i in range(len(pairsofparams)):
+ splitparams={}
+ splitparams=pairsofparams[i].split('=')
+ if (len(splitparams))==2:
+ param[splitparams[0]]=splitparams[1]
return param
@@ -100,6 +117,7 @@ def addLink(name,url,mode,iconimage):
liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png",
thumbnailImage=iconimage)
liz.setInfo( type="Video", infoLabels={ "Title": name } )
liz.setProperty("IsPlayable","true")
+ liz.setProperty("Fanart_Image", fanart)
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=False)
return ok
@@ -109,6 +127,7 @@ def addDir(name,url,mode,iconimage):
ok=True
liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png",
thumbnailImage=iconimage)
liz.setInfo( type="Video", infoLabels={ "Title": name } )
+ liz.setProperty("Fanart_Image", fanart)
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
return ok
@@ -119,32 +138,36 @@ name=None
mode=None
try:
- url=urllib.unquote_plus(params["url"])
+ url=urllib.unquote_plus(params["url"])
except:
- pass
+ pass
try:
- name=urllib.unquote_plus(params["name"])
+ name=urllib.unquote_plus(params["name"])
except:
- pass
+ pass
try:
- mode=int(params["mode"])
+ mode=int(params["mode"])
except:
- pass
+ pass
print "Mode: "+str(mode)
print "URL: "+str(url)
print "Name: "+str(name)
if mode==None or url==None or len(url)<1:
- print ""
- categories()
+ print ""
+ categories()
elif mode==1:
- print ""+url
- indexPage(url)
+ print ""
+ indexPage(url)
elif mode==2:
- print ""
- videoLinks(url)
+ print ""
+ videoLinks(url)
+
+elif mode==3:
+ print ""
+ getPartners()
-xbmcplugin.endOfDirectory(int(sys.argv[1]))
+xbmcplugin.endOfDirectory(int(sys.argv[1]))
\ No newline at end of file
diff --git a/plugin.video.zapiks/resources/language/English/strings.xml
b/plugin.video.zapiks/resources/language/English/strings.xml
index 230673a..75c8a87 100644
--- a/plugin.video.zapiks/resources/language/English/strings.xml
+++ b/plugin.video.zapiks/resources/language/English/strings.xml
@@ -1,21 +1,10 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<strings>
- <string id="30000">Surf</string>
- <string id="30001">Snowboard</string>
- <string id="30002">Mountain Biking</string>
- <string id="30003">BMX</string>
- <string id="30004">Skate</string>
- <string id="30005">Ski</string>
- <string id="30006">Next Page</string>
- <string id="30007"></string>
- <string id="30008"></string>
- <string id="30009"></string>
- <string id="30010">Most Recent</string>
- <string id="30011">Most Viewed</string>
- <string id="30012">Most Buzzed</string>
- <string id="30013">Staff Picks</string>
- <string id="30014">Sort Videos by</string>
- <string id="30015"></string>
- <string id="30016"></string>
- <string id="30017"></string>
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<strings>
+ <string id="30000">Partner Videos</string>
+ <string id="30001">Next Page</string>
+ <string id="30002">Most Recent</string>
+ <string id="30003">Most Viewed</string>
+ <string id="30004">Most Buzzed</string>
+ <string id="30005">Staff Picks</string>
+ <string id="30006">Sort Videos by</string>
</strings>
\ No newline at end of file
diff --git a/plugin.video.zapiks/resources/settings.xml
b/plugin.video.zapiks/resources/settings.xml
index fda4acd..85430f1 100644
--- a/plugin.video.zapiks/resources/settings.xml
+++ b/plugin.video.zapiks/resources/settings.xml
@@ -1,3 +1,3 @@
<settings>
- <setting id="sort_by" type="select" lvalues="30010|30011|30012|30013"
label="30014" default=""/>
-</settings>
+ <setting id="sort_method" type="enum" lvalues="30002|30003|30004|30005"
label="30006" default="0"/>
+</settings>
\ No newline at end of file
-----------------------------------------------------------------------
Summary of changes:
plugin.video.zapiks/addon.xml | 7 +-
plugin.video.zapiks/changelog.txt | 4 +
plugin.video.zapiks/default.py | 191 +++++++++++---------
plugin.video.zapiks/fanart.jpg | Bin 0 -> 117915 bytes
plugin.video.zapiks/resources/images/bmx.png | Bin 299643 -> 0 bytes
plugin.video.zapiks/resources/images/skate.png | Bin 356988 -> 0 bytes
plugin.video.zapiks/resources/images/ski.png | Bin 299793 -> 0 bytes
plugin.video.zapiks/resources/images/snowboard.png | Bin 303482 -> 0 bytes
plugin.video.zapiks/resources/images/surf.png | Bin 449772 -> 0 bytes
plugin.video.zapiks/resources/images/vtt.png | Bin 372060 -> 0 bytes
.../resources/language/English/strings.xml | 29 +--
plugin.video.zapiks/resources/settings.xml | 4 +-
12 files changed, 126 insertions(+), 109 deletions(-)
create mode 100644 plugin.video.zapiks/fanart.jpg
delete mode 100644 plugin.video.zapiks/resources/images/bmx.png
delete mode 100644 plugin.video.zapiks/resources/images/skate.png
delete mode 100644 plugin.video.zapiks/resources/images/ski.png
delete mode 100644 plugin.video.zapiks/resources/images/snowboard.png
delete mode 100644 plugin.video.zapiks/resources/images/surf.png
delete mode 100644 plugin.video.zapiks/resources/images/vtt.png
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons