The branch, dharma has been updated
       via  54e46b80578c50c70d988393504b38a9c7233852 (commit)
      from  b564b32407449b3dde727c72a59db33425afcf35 (commit)

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

commit 54e46b80578c50c70d988393504b38a9c7233852
Author: spiff <[email protected]>
Date:   Thu Mar 31 16:34:29 2011 +0200

    [plugin.video.funny.or.die] updated to version 0.0.5

diff --git a/plugin.video.funny.or.die/addon.xml 
b/plugin.video.funny.or.die/addon.xml
index 40ee627..90ee631 100644
--- a/plugin.video.funny.or.die/addon.xml
+++ b/plugin.video.funny.or.die/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 <addon id="plugin.video.funny.or.die"

        name="Funny or Die"

-       version="0.0.4"

+       version="0.0.5"

        provider-name="divingmule">

   <requires>

     <import addon="xbmc.python" version="1.0"/>

diff --git a/plugin.video.funny.or.die/changelog.txt 
b/plugin.video.funny.or.die/changelog.txt
index 998efda..401aeff 100644
--- a/plugin.video.funny.or.die/changelog.txt
+++ b/plugin.video.funny.or.die/changelog.txt
@@ -1,13 +1,17 @@
-Version 0.0.1

-initial release

+Version 0.0.5

+added the ability to queue videos

+added "Play All" to the context menu for directories

 

-Version 0.0.2

-added the ability to sort videos via settings - most favorited, most recent... 
ect.

-new icon. thanks freezy!

+Version 0.0.4

+added proper language strings to settings

 

 Version 0.0.3

-now plays the hd version if avaliable. thanks to maruchan!

+now plays the hd version if available. thanks to maruchan!

 changed code to get better thumbnails

 

-Version 0.0.4

-added proper language strings to settings
\ No newline at end of file
+Version 0.0.2

+added the ability to sort videos via settings - most favorited, most recent... 
ect.

+new icon. thanks freezy!

+

+Version 0.0.1

+initial release
\ No newline at end of file
diff --git a/plugin.video.funny.or.die/default.py 
b/plugin.video.funny.or.die/default.py
index caea074..7478471 100644
--- a/plugin.video.funny.or.die/default.py
+++ b/plugin.video.funny.or.die/default.py
@@ -1,67 +1,107 @@
-import urllib,urllib2,re,xbmcplugin,xbmcgui,xbmcaddon

+import urllib,urllib2,re,os

+import xbmcplugin,xbmcgui,xbmcaddon

 from BeautifulSoup import BeautifulSoup

 

 __settings__ = xbmcaddon.Addon(id='plugin.video.funny.or.die')

 __language__ = __settings__.getLocalizedString

 sort = __settings__.getSetting('sort_by')

+home = __settings__.getAddonInfo('path')

+icon = xbmc.translatePath( os.path.join( home, 'icon.png' ) )

+

 

-               

 def CATEGORIES():

-        if sort==__language__(30015):

-                   u = ''

-        elif sort==__language__(30016):

-                   u = 'most_recent'

-        elif sort==__language__(30017):

-                   u = 'most_viewed'

-        elif sort==__language__(30018):

-                   u = 'most_favorited'

-        elif sort==__language__(30019):

-                   u = 'highest_rated'

-        else:

-                   u = ''

-        
addDir(__language__(30000),'http://www.funnyordie.com/browse/videos/all/exclusives/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30001),'http://www.funnyordie.com/browse/videos/all/immortal/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30002),'http://www.funnyordie.com/browse/videos/stand_up/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30003),'http://www.funnyordie.com/browse/videos/animation/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30004),'http://www.funnyordie.com/browse/videos/web_series/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30005),'http://www.funnyordie.com/browse/videos/nsfw/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30006),'http://www.funnyordie.com/browse/videos/sketch/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30007),'http://www.funnyordie.com/browse/videos/sports/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30008),'http://www.funnyordie.com/browse/videos/clean_comedy/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30009),'http://www.funnyordie.com/browse/videos/politics/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30010),'http://www.funnyordie.com/browse/videos/music/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30011),'http://www.funnyordie.com/browse/videos/parody/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30012),'http://www.funnyordie.com/browse/videos/real_life/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-        
addDir(__language__(30013),'http://www.funnyordie.com/browse/videos/all/all/'+u,1,'special://home/addons/plugin.video.funny.or.die/icon.png')

-

-               

+       if sort==__language__(30015):

+               u = ''

+       elif sort==__language__(30016):

+               u = 'most_recent'

+       elif sort==__language__(30017):

+               u = 'most_viewed'

+       elif sort==__language__(30018):

+               u = 'most_favorited'

+       elif sort==__language__(30019):

+               u = 'highest_rated'

+       else:

+               u = ''

+       
addDir(__language__(30000),'http://www.funnyordie.com/browse/videos/all/exclusives/'+u,1,icon)

+       
addDir(__language__(30001),'http://www.funnyordie.com/browse/videos/all/immortal/'+u,1,icon)

+       
addDir(__language__(30002),'http://www.funnyordie.com/browse/videos/stand_up/all/'+u,1,icon)

+       
addDir(__language__(30003),'http://www.funnyordie.com/browse/videos/animation/all/'+u,1,icon)

+       
addDir(__language__(30004),'http://www.funnyordie.com/browse/videos/web_series/all/'+u,1,icon)

+       
addDir(__language__(30005),'http://www.funnyordie.com/browse/videos/nsfw/all/'+u,1,icon)

+       
addDir(__language__(30006),'http://www.funnyordie.com/browse/videos/sketch/all/'+u,1,icon)

+       
addDir(__language__(30007),'http://www.funnyordie.com/browse/videos/sports/all/'+u,1,icon)

+       
addDir(__language__(30008),'http://www.funnyordie.com/browse/videos/clean_comedy/all/'+u,1,icon)

+       
addDir(__language__(30009),'http://www.funnyordie.com/browse/videos/politics/all/'+u,1,icon)

+       
addDir(__language__(30010),'http://www.funnyordie.com/browse/videos/music/all/'+u,1,icon)

+       
addDir(__language__(30011),'http://www.funnyordie.com/browse/videos/parody/all/'+u,1,icon)

+       
addDir(__language__(30012),'http://www.funnyordie.com/browse/videos/real_life/all/'+u,1,icon)

+       
addDir(__language__(30013),'http://www.funnyordie.com/browse/videos/all/all/'+u,1,icon)

+

+

 def INDEX(url):

-        req = urllib2.Request(url)

-        req.addheaders = [('Referer', 'http://www.funnyordie.com/videos'),

-                          ('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()

-        
link=link.replace('&quot;','"').replace('&amp;','&').replace('medium_','fullsize_')

-        match=re.compile('<a href="/videos/(.+?)/.+?" class=".+?" 
title=".+?"><img alt=".+?" class=".+?" height="90" src="(.+?)" title="(.+?)" 
width="124" />').findall(link)

-        for url,thumbnail,name in match:

-                addDir(name, str(url), 2, thumbnail, False)

-        page=re.compile('Previous</span>.+?<span class="current">.+?</span> <a 
href="(.+?)" rel="next">.+?</a>').findall(link)

-        if len(page)<1:

-                   page=re.compile('Previous</a> <a href=".+?" rel="prev 
start">.+?</a> <span class="current">.+?</span> <a href="(.+?)" 
rel="next">.+?</a>').findall(link)

-        if len(page)<1:

-                   page=re.compile('Previous</a>.+?<a href=".+?" 
rel="start">.+?</a> <a href=".+?" rel="prev">.+?</a> <span 
class="current">.+?</span> <a href="(.+?)"').findall(link)

-        for url in page:

-                addDir('Next Page','http://www.funnyordie.com'+url,1,'')

+       req = urllib2.Request(url)

+       req.addheaders = [('Referer', 'http://www.funnyordie.com/videos'),

+                       ('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, convertEntities=BeautifulSoup.HTML_ENTITIES)

+       videos = soup.findAll('div', attrs={'class' : "detailed_vp"})

+       for video in videos:

+               try:

+                       link = video('a')[0]['href'].split('/')[2]

+                       name = video('a')[0]['title']

+                       thumbnail = 
video('img')[0]['src'].replace('medium','fullsize')

+                       addLink(name,link,2,thumbnail)

+               except:

+                       pass

+       try:

+               page = soup.find('a', attrs={'class' : "next_page"})['href']

+               
addDir(__language__(30021),'http://www.funnyordie.com'+page,1,'')

+       except:

+               pass

 

 

-def playVid(url):

-       name, url = get_smil(url)

-       info = xbmcgui.ListItem(name)

+def getPlayList():

+       url = sys.argv[2]

+       req = urllib2.Request(url)

+       req.addheaders = [('Referer', 'http://www.funnyordie.com/videos'),

+                       ('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, convertEntities=BeautifulSoup.HTML_ENTITIES)

+       videos = soup.findAll('div', attrs={'class' : "detailed_vp"})

        playlist = xbmc.PlayList(1)

        playlist.clear()

+       for video in videos:

+               try:

+                       link = video('a')[0]['href'].split('/')[2]

+                       name = video('a')[0]['title']

+                       thumbnail = 
video('img')[0]['src'].replace('medium','fullsize')

+                       url = get_smil(link)

+                       info = xbmcgui.ListItem(name, 
iconImage="DefaultVideo.png", thumbnailImage=thumbnail)

+                       playlist.add(url, info)

+               except:

+                       pass

+       play=xbmc.Player( xbmc.PLAYER_CORE_DVDPLAYER ).play(playlist)

+

+

+def playVid(url):

+       url = get_smil(url)

+       item = xbmcgui.ListItem(path=url)

+       xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, item)

+

+

+def addToPlayList():

+       url = sys.argv[2]

+       name = sys.argv[3]

+       iconimage = sys.argv[4]

+       url = get_smil(url)

+       info = xbmcgui.ListItem(name, iconImage="DefaultVideo.png", 
thumbnailImage=iconimage)

+       playlist = xbmc.PlayList(1)

        playlist.add(url, info)

-       play=xbmc.Player().play(playlist)

+

 

 def get_smil(id):

        req = urllib2.Request("http://www.funnyordie.com/player/"+id+"?v=3";)

@@ -73,72 +113,98 @@ def get_smil(id):
        stream_list = soup.findAll('stream')

        if len(stream_list) < 1:

                stream = soup.find('location').contents[0]

-               return title, stream

+               return stream

        streams = []

        for stream in stream_list:

                streams.append(stream.file.contents[0])

-       #if xbmcplugin.getSetting("hi-def") == "true":

-       return title, streams[0]

-             

+       return streams[0]

+

+

 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]

-                                

-        return param

-

-def addDir(name,url,mode,iconimage,isfolder=True):

-        
u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)

-        ok=True

-        liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png", 
thumbnailImage=iconimage)

-        liz.setInfo( type="Video", infoLabels={ "Title": name } )

-        
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=isfolder)

-        return ok

-        

-              

-params=get_params()

-url=None

-name=None

-mode=None

-

-try:

-        url=urllib.unquote_plus(params["url"])

-except:

-        pass

-try:

-        name=urllib.unquote_plus(params["name"])

-except:

-        pass

-try:

-        mode=int(params["mode"])

-except:

-        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()

-       

-elif mode==1:

-        print ""+url

-        INDEX(url)

-

-elif mode==2:

-        print "NEW LINK: "+url

-        playVid(url)

-

-xbmcplugin.endOfDirectory(int(sys.argv[1]))

+       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]

+                               

+       return param

+

+

+def addLink(name,url,mode,iconimage,showcontext=True):

+       
u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)

+       ok=True

+       liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png", 
thumbnailImage=iconimage)

+       liz.setInfo( type="Video", infoLabels={ "Title": name } )

+       liz.setProperty('IsPlayable', 'true')

+       if showcontext:

+               contextMenu = 
[(__language__(30022),'XBMC.RunScript(special://home/addons/plugin.video.funny.or.die/default.py,addToPlayList,'+url+','+name+','+iconimage+')')]

+               liz.addContextMenuItems(contextMenu)

+       
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,totalItems=20)

+       return ok

+

+def addDir(name,url,mode,iconimage,showcontext=True):

+       
u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)

+       ok=True

+       liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png", 
thumbnailImage=iconimage)

+       liz.setInfo( type="Video", infoLabels={ "Title": name } )

+       if showcontext:

+               contextMenu = 
[(__language__(30023),'XBMC.RunScript(special://home/addons/plugin.video.funny.or.die/default.py,autoPlay,'+url+')')]

+               liz.addContextMenuItems(contextMenu)

+       
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)

+       return ok

+

+

+def startPlugin():     

+       params=get_params()

+       url=None

+       name=None

+       mode=None

+

+       try:

+               url=urllib.unquote_plus(params["url"])

+       except:

+               pass

+       try:

+               name=urllib.unquote_plus(params["name"])

+       except:

+               pass

+       try:

+               mode=int(params["mode"])

+       except:

+               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()

+

+       elif mode==1:

+               print ""+url

+               INDEX(url)

+

+       elif mode==2:

+               print "NEW LINK: "+url

+               playVid(url)

+

+       xbmcplugin.endOfDirectory(handle=int(sys.argv[1]))

+

+if sys.argv[1] == 'addToPlayList':

+               addToPlayList()

+

+elif sys.argv[1] == 'autoPlay':

+               getPlayList()

+

+else:

+               startPlugin()

diff --git a/plugin.video.funny.or.die/resources/language/English/strings.xml 
b/plugin.video.funny.or.die/resources/language/English/strings.xml
index fdd174b..95753d0 100644
--- a/plugin.video.funny.or.die/resources/language/English/strings.xml
+++ b/plugin.video.funny.or.die/resources/language/English/strings.xml
@@ -19,5 +19,8 @@
   <string id="30016">Most Recent</string>
   <string id="30017">Most Viewed</string>
   <string id="30018">Most Favorited</string>
-  <string id="30019">Highest Rated</string>
+  <string id="30020">Highest Rated</string>
+  <string id="30021">Next Page</string>
+  <string id="30022">Add To Now Playing</string>
+  <string id="30023">Play All</string>  
 </strings>
\ No newline at end of file

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

Summary of changes:
 plugin.video.funny.or.die/addon.xml                |    2 +-
 plugin.video.funny.or.die/changelog.txt            |   20 +-
 plugin.video.funny.or.die/default.py               |  298 ++++++++++++--------
 .../resources/language/English/strings.xml         |    5 +-
 4 files changed, 199 insertions(+), 126 deletions(-)


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Create and publish websites with WebMatrix
Use the most popular FREE web apps or write code yourself; 
WebMatrix provides all the features you need to develop and 
publish your website. http://p.sf.net/sfu/ms-webmatrix-sf
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to