The branch, frodo has been updated
       via  25eeb3d06ee9b4f08e32315ef548f6c1cd5e2390 (commit)
       via  24c6a09f2a660f3e6105df52f229ed82a72e4c80 (commit)
       via  f1a8fa7cabd6d3790382670bcb0d4c1eca845d4b (commit)
       via  6f5301b3579e9d8b0c9798b2ada9caeca9d85d39 (commit)
      from  0acf103fc19701520f5f9e9f9760b5c76787a1ad (commit)

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

commit 25eeb3d06ee9b4f08e32315ef548f6c1cd5e2390
Author: beenje <[email protected]>
Date:   Tue Dec 11 22:17:59 2012 +0100

    [plugin.video.jupiterbroadcasting] updated to version 2.8.1

diff --git a/plugin.video.jupiterbroadcasting/README.md 
b/plugin.video.jupiterbroadcasting/README.md
index cb00fab..3ab6d93 100644
--- a/plugin.video.jupiterbroadcasting/README.md
+++ b/plugin.video.jupiterbroadcasting/README.md
@@ -25,3 +25,7 @@ Instructions
 1. Download the addon from the official XBMC Addon Repository
 2. Visit Video Addons, configure and load up Jupiter Broadcasting
 
+About
+-----
+* Author: [Rob Loach](http://robloach.net)
+* Source: 
[GitHub](http://github.com/RobLoach/plugin.video.jupiterbroadcasting/)
diff --git a/plugin.video.jupiterbroadcasting/addon.xml 
b/plugin.video.jupiterbroadcasting/addon.xml
index 84cfb7d..8e0278b 100644
--- a/plugin.video.jupiterbroadcasting/addon.xml
+++ b/plugin.video.jupiterbroadcasting/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 <addon id="plugin.video.jupiterbroadcasting"

        name="Jupiter Broadcasting"

-       version="2.8.0"

+       version="2.8.1"

        provider-name="Rob Loach">

   <requires>

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

@@ -13,7 +13,7 @@
   </extension>

   <extension point="xbmc.addon.metadata">

     <summary>Jupiter Broadcasting video addon</summary>

-    <description>Watch shows from the Jupiter Broadcasting Network including 
the Linux Action Show, STOked, TechSNAP and more.</description>

+    <description>Watch shows from the Jupiter Broadcasting Network including 
the Linux Action Show, TechSNAP, SciByte, FauxShow, Coder Radio, and 
more.</description>

     <platform>all</platform>

     <language>en</language>

   </extension>

diff --git a/plugin.video.jupiterbroadcasting/changelog.txt 
b/plugin.video.jupiterbroadcasting/changelog.txt
index 779da13..4ea51b7 100644
--- a/plugin.video.jupiterbroadcasting/changelog.txt
+++ b/plugin.video.jupiterbroadcasting/changelog.txt
@@ -1,3 +1,8 @@
+[B]Version 2.8.1[/B]

+- #4 FauxShow: Use JupiterBroadcasting.com feeds

+- #2 Pagination

+- #3 Ship show images with the addon

+

 [B]Version 2.8.0: July 7th, 2012[/B]

 - New show: Coder Radio

 

diff --git a/plugin.video.jupiterbroadcasting/default.py 
b/plugin.video.jupiterbroadcasting/default.py
index c1b700b..7acfc39 100644
--- a/plugin.video.jupiterbroadcasting/default.py
+++ b/plugin.video.jupiterbroadcasting/default.py
@@ -1,4 +1,4 @@
-import urllib,urllib2,re,xbmcplugin,xbmcgui,xbmcaddon

+import urllib, urllib2, re, xbmcplugin, xbmcgui, xbmcaddon, os

 from time import strftime

 from BeautifulSoup import BeautifulSoup, BeautifulStoneSoup

 

@@ -9,20 +9,21 @@ def CATEGORIES():
     # List all the shows.

     shows = {}

 

-    # All Shows 

+    # All Shows

     shows[__language__(30006)] = {

         'feed': 'http://feeds2.feedburner.com/AllJupiterVideos?format=xml',

         'feed-low': 'http://feeds2.feedburner.com/AllJupiterVideos?format=xml',

-        'image': 
'http://images2.wikia.nocookie.net/__cb20110118004527/jupiterbroadcasting/images/2/24/JupiterBadgeGeneric.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'jupiterbroadcasting.jpg'),

         'plot': __language__(30206),

-        'genre': 'Technology'

+        'genre': 'Technology',

+        'count': 0

     }

 

     # Linux Action Show

     shows[__language__(30000)] = {

         'feed': 'http://feeds.feedburner.com/computeractionshowvideo',

         'feed-low': 
'http://feeds.feedburner.com/linuxactionshowipodvid?format=xml',

-        'image': 'http://www.jupiterbroadcasting.com/images/LAS-VIDEO.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'linuxactionshow.jpg'),

         'plot': __language__(30200),

         'genre': 'Technology'

     }

@@ -31,7 +32,7 @@ def CATEGORIES():
     shows[__language__(30002)] = {

         'feed': 'http://feeds.feedburner.com/stokedhd?format=xml',

         'feed-low': 'http://feeds.feedburner.com/stokedipod?format=xml',

-        'image': 
'http://www.jupiterbroadcasting.com/images/STOked-BadgeHD.png',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'stoked.png'),

         'plot': __language__(30202),

         'genre': 'Technology'

     }

@@ -40,7 +41,7 @@ def CATEGORIES():
     shows[__language__(30008)] = {

         'feed': 'http://feeds.feedburner.com/techsnaphd?format=xml',

         'feed-low': 'http://feeds.feedburner.com/techsnapmobile?format=xml',

-        'image': 
'http://images3.wikia.nocookie.net/jupiterbroadcasting/images/d/d6/Techsnapcenter.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'techsnap.jpg'),

         'plot': __language__(30208),

         'genre': 'Technology'

     }

@@ -49,7 +50,7 @@ def CATEGORIES():
     shows[__language__(30009)] = {

         'feed': 'http://feeds.feedburner.com/scibytehd?format=xml',

         'feed-low': 'http://feeds.feedburner.com/scibytemobile?format=xml',

-        'image': 
'http://www.jupiterbroadcasting.com/images/SciByteBadgeHD.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'scibyte.jpg'),

         'plot': __language__(30209),

         'genre': 'Science'

     }

@@ -58,7 +59,7 @@ def CATEGORIES():
     shows[__language__(30014)] = {

         'feed': 'http://www.jupiterbroadcasting.com/feeds/indepthlookihd.xml',

         'feed-low': 
'http://www.jupiterbroadcasting.com/feeds/indepthlookmob.xml',

-        'image': 
'http://images4.wikia.nocookie.net/jupiterbroadcasting/images/3/33/Indepthlook.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'indepthlook.jpg'),

         'plot': __language__(30214),

         'genre': 'Technology'

     }

@@ -67,25 +68,25 @@ def CATEGORIES():
     shows[__language__(30016)] = {

         'feed': 'http://www.jupiterbroadcasting.com/feeds/unfilterHD.xml',

         'feed-low': 'http://www.jupiterbroadcasting.com/feeds/unfilterMob.xml',

-        'image': 'http://www.jupiterbroadcasting.com/images/itunes-badge.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'unfilter.jpg'),

         'plot': __language__(30216),

         'genre': 'Technology'

     }

 

     # FauxShow

     shows[__language__(30011)] = {

-        'feed': 'http://blip.tv/fauxshow/rss/itunes',

-        'feed-low': 'http://blip.tv/fauxshow/rss/itunes',

-        'image': 'http://a.images.blip.tv/FauxShow-300x300_show_image205.png',

+        'feed': 'http://www.jupiterbroadcasting.com/feeds/FauxShowHD.xml',

+        'feed-low': 
'http://www.jupiterbroadcasting.com/feeds/FauxShowMobile.xml',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'fauxshow.jpg'),

         'plot': __language__(30211),

-        'genre': 'Humour'

+        'genre': 'Comedy'

     }

 

     # Jupiter@Nite

     shows[__language__(30004)] = {

         'feed': 'http://feeds.feedburner.com/jupiternitehd?format=xml',

         'feed-low': 'http://feeds.feedburner.com/jupiternitehd?format=xml',

-        'image': 'http://www.jupiterbroadcasting.com/images/JANBADGE-LVID.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'jupiteratnite.jpg'),

         'plot': __language__(30204),

         'genre': 'Technology'

     }

@@ -94,7 +95,7 @@ def CATEGORIES():
     shows[__language__(30007)] = {

         'feed': 'http://feeds.feedburner.com/MMOrgueHD?format=xml',

         'feed-low': 'http://feeds.feedburner.com/MMOrgueHD?format=xml',

-        'image': 
'http://www.jupiterbroadcasting.com/images/MMOrgueBadgeHD144.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'mmorgue.jpg'),

         'plot': __language__(30207),

         'genre': 'Technology'

     }

@@ -103,7 +104,7 @@ def CATEGORIES():
     shows[__language__(30003)] = {

         'feed': 'http://feeds.feedburner.com/lotsovideo?format=xml',

         'feed-low': 'http://feeds.feedburner.com/lotsovideo?format=xml',

-        'image': 
'http://www.jupiterbroadcasting.com/images/LOTSOiTunesVideo144.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'lotso.jpg'),

         'plot': __language__(30203),

         'genre': 'Technology'

     }

@@ -112,7 +113,7 @@ def CATEGORIES():
     shows[__language__(30001)] = {

         'feed': 
'http://feeds2.feedburner.com/jupiterbeeristasty-hd?format=xml',

         'feed-low': 
'http://feeds2.feedburner.com/jupiterbeeristasty-hd?format=xml',

-        'image': 
'http://www.jupiterbroadcasting.com/images/beeristasty/BeerisTasty-iTunesBadgeHD.png',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'beeristasty.png'),

         'plot': __language__(30201),

         'genre': 'Technology'

     }

@@ -121,7 +122,7 @@ def CATEGORIES():
     shows[__language__(30005)] = {

         'feed': 'http://feeds.feedburner.com/ldf-video?format=xml',

         'feed-low': 'http://feeds.feedburner.com/ldf-video?format=xml',

-        'image': 
'http://www.jupiterbroadcasting.com/images/LDF-FullStill144x139.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'jupiterfiles.jpg'),

         'plot': __language__(30205),

         'genre': 'Technology'

     }

@@ -130,7 +131,7 @@ def CATEGORIES():
     shows[__language__(30015)] = {

         'feed': 'http://feeds.feedburner.com/TorkedHd?format=xml',

         'feed-low': 'http://feeds.feedburner.com/TorkedMobile?format=xml',

-        'image': 
'http://images3.wikia.nocookie.net/jupiterbroadcasting/images/e/ea/Torked.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'torked.jpg'),

         'plot': __language__(30215),

         'genre': 'Technology'

     }

@@ -139,23 +140,30 @@ def CATEGORIES():
     shows[__language__(30017)] = {

         'feed': 'http://feeds.feedburner.com/coderradiovideo?format=xml',

         'feed-low': 
'http://www.jupiterbroadcasting.com/feeds/coderradioogg.xml?format=xml',

-        'image': 'http://www.jupiterbroadcasting.com/images/CR-rssBadge.jpg',

+        'image': os.path.join(__settings__.getAddonInfo('path'), 'resources', 
'media', 'coderradio.jpg'),

         'plot': __language__(30217),

         'genre': 'Technology'

     }

 

     # Jupiter Broadcasting Live via the RTMP stream

-    addLink(__language__(30010), 
'http://videocdn-us.geocdn.scaleengine.net/jblive-iphone/live/jblive.stream/playlist.m3u8',
 '', 
'http://images2.wikia.nocookie.net/__cb20110118004527/jupiterbroadcasting/images/2/24/JupiterBadgeGeneric.jpg',
 {

-        'title': __language__(30010),

-        'plot': __language__(30210),

-        'genre': 'Technology',

-        'count': 1

-    })

+    addLink(

+        name = __language__(30010),

+        url = 
'http://videocdn-us.geocdn.scaleengine.net/jblive-iphone/live/jblive.stream/playlist.m3u8',

+        date = '',

+        iconimage = os.path.join(__settings__.getAddonInfo('path'), 
'resources', 'media', 'jupiterbroadcasting.jpg'),

+        info = {

+            'title': __language__(30010),

+            'plot': __language__(30210),

+            'genre': 'Technology',

+            'count': 1

+        }

+    )

 

     # Loop through each of the shows and add them as directories.

     x = 2

     quality = int(__settings__.getSetting("video_quality"))

     for name, data in shows.iteritems():

+        # @TODO Get the ordering correct.

         data['count'] = x

         x = x + 1

         # Check whether to use the high or low quality feed.

@@ -164,20 +172,46 @@ def CATEGORIES():
             feed = data['feed-low']

         addDir(name, feed, 1, data['image'], data)

 

-def INDEX(name, url):

+def INDEX(name, url, page):

     # Load the XML feed.

     data = urllib2.urlopen(url)

 

     # Parse the data with BeautifulStoneSoup, noting any self-closing tags.

     soup = BeautifulStoneSoup(data, 
convertEntities=BeautifulStoneSoup.XML_ENTITIES, 
selfClosingTags=['media:thumbnail', 'enclosure', 'media:content'])

     count = 1

-    # Wrap in a try/catch to protect from borken RSS feeds.

+

+    # Figure out where to start and where to stop the pagination.

+    # TODO: Fix the Episodes per Page setting.

+    episodesperpage = 25 # int(__settings__.getSetting("episodes_per_page"))

+    start = episodesperpage * int(page);

+    print "Episodes per Page: " + str(episodesperpage) + "\n"

+    print "Start:" + str(start);

+    n = 0;

+

+    # Wrap in a try/catch to protect from broken RSS feeds.

     try:

         for item in soup.findAll('item'):

+            # Set up the pagination properly.

+            n += 1

+            if (n < start):

+                # Skip this episode since it's before the page starts.

+                continue

+            if (n >= start + episodesperpage):

+                # Add a go to next page link, and skip the rest of the loop.

+                addDir(

+                    name = __language__(30300),

+                    url = url,

+                    mode= 1,

+                    iconimage = 
os.path.join(__settings__.getAddonInfo('path'), 'resources', 'media', 
'next.png'),

+                    info = {},

+                    page = page + 1

+                )

+                break

+

             # Load up the initial episode information.

             info = {}

             title = item.find('title')

-            info['title'] = str(count) + '. '

+            info['title'] = str(n) + '. '

             if (title):

                 info['title'] += title.string

             info['tvshowtitle'] = name

@@ -249,7 +283,7 @@ def get_params():
                         splitparams=pairsofparams[i].split('=')

                         if (len(splitparams))==2:

                                 param[splitparams[0]]=splitparams[1]

-                                

+

         return param

 

 # Info takes Plot, date, size

@@ -260,8 +294,8 @@ def addLink(name, url, date, iconimage, info):
         
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=url,listitem=liz)

         return ok

 

-def addDir(name, url, mode, iconimage, info):

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

+def addDir(name, url, mode, iconimage, info, page = 0):

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

     ok=True

     info["Title"] = name

     liz=xbmcgui.ListItem(name, iconImage=iconimage, thumbnailImage=iconimage)

@@ -269,36 +303,38 @@ def addDir(name, url, mode, iconimage, info):
     
ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)

     return ok

 

-params=get_params()

-url=None

-name=None

-mode=None

+params = get_params()

+url = None

+name = None

+mode = None

+page = None

 

 try:

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

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

 except:

         pass

 try:

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

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

 except:

         pass

 try:

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

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

 except:

         pass

+try:

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

+except:

+        page = 0

 

 print "Mode: "+str(mode)

 print "URL: "+str(url)

 print "Name: "+str(name)

+print "Page: "+str(page)

 

 if mode==None or url==None or len(url)<1:

-        print ""

         CATEGORIES()

-

 elif mode==1:

-        print ""+url

-        INDEX(name, url)

-

+        INDEX(name, url, page)

 

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

 

diff --git 
a/plugin.video.jupiterbroadcasting/resources/language/English/strings.xml 
b/plugin.video.jupiterbroadcasting/resources/language/English/strings.xml
index 11932bd..ddba64f 100644
--- a/plugin.video.jupiterbroadcasting/resources/language/English/strings.xml
+++ b/plugin.video.jupiterbroadcasting/resources/language/English/strings.xml
@@ -50,9 +50,13 @@
   <string id="30217">A weekly talk show 
turces/language/English/strings.xmls.xml 
b/plugin.video.jupiterbroadcasting/resources/language/English/strings.xml.net/__cb20110118004527/jupiterbroadcasting/images/2/24/JupiterBadgeGeneric.jpg',
 {
 ‰Lÿk€aX+6 
èè!è!p+‰Lÿà+‰Lÿx4~Y+Ð!‰Lÿ’baX+†€aX+p+‰Lÿ`baX+¯+‰LÿÀ/âY+ujaX+
 âY+Ø$âY+¨)âY+€ŠbX+x4~Y+Ð!‰Lÿ  
‰Lÿk€aX+à!à!p+‰Lÿà+‰LÿHþ]Y+°"‰Lÿ’baX+†€aX+p+‰Lÿ`baX+¯+‰Lÿ +‰Lÿ˜+‰Lÿ8‹‚X+Œp˜à+‰LÿujaX+€ŠbX+°"‰Lÿ€!‰Lÿk€aX+GHIJKMNOPp+‰Lÿà+‰LÿHµ4Y+P$‰Lÿ’baX+†€aX+p+‰Lÿ0/âY+ujaX+@~Y+ éY+
 
âY+Ø$âY+¨)âY+€ŠbX+Hµ4Y+P$‰Lÿ"‰Lÿk€aX+8µ4Y+P$‰LÿÀ"‰Lÿk€aX+(µ4Y+P$‰Lÿð"‰Lÿk€aX+µ4Y+P$‰Lÿ
 #‰Lÿk€aX+     
¨.âY+ujaX+¨)âY+ ‰LÿŠ8Y+eiaX+Ø$âY+À#‰Lÿy8Y+eiaX+
 âY+ð#‰LÿZ8Y+eiaX+ØäY+@~Y+ éY+ 
âY+ØD~Y+Ø$âY+¨)âY+€ŠbX+8‹‚X+­ÝX+à+‰Lÿp{Y+ %‰Lÿp$‰Lÿk€aX+5678:<=>?@BDp+‰Lÿà+‰Lÿà­ÚX+à+‰LÿujaX+…‚X+
 $‰Lÿ­ÝX+eiaX+…‚X+Õ_@fÆS 
Qöl±íÁéX+à+‰Lÿà­ÚX+°&‰Lÿ€%‰Lÿk€aX+u]ÞÓ
     
4Q ÷U^Qʉ§¶uª¹ñìò*ēvp+‰Lÿà+‰LÿHþ¦X+DãX+ 
-‰Lÿ¦PEZ+¦PEZ+–àX+¯+‰Lÿà,‰Lÿ˜+‰Lÿ(‰LÿO~Y+ujaX+ØD~Y+`.‰Lÿ¢PEZ+0-‰LÿÀ(‰Lÿÿÿÿÿÿÿÿÿ¢PEZ+è+‰Lÿaking
 a pragmatic look at the art and business of Software Development and related 
technologies.</string>
 
   <!-- Settings -->
-  <string id="30100">General</string>  
-       <string id="30101">Video Quality</string>
-       <string id="30102">High</string>
-       <string id="30103">Low</string>
+  <string id="30100">General</string>
+  <string id="30101">Video Quality</string>
+  <string id="30102">High</string>
+  <string id="30103">Low</string>
+  <string id="30104">Episodes per Page</string>
+
+  <!-- Misc -->
+  <string id="30300">Older episodes</string>
 
 </strings>
diff --git a/plugin.video.jupiterbroadcasting/resources/settings.xml 
b/plugin.video.jupiterbroadcasting/resources/settings.xml
index 707ccdd..184e8c2 100644
--- a/plugin.video.jupiterbroadcasting/resources/settings.xml
+++ b/plugin.video.jupiterbroadcasting/resources/settings.xml
@@ -1,8 +1,21 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <settings>
-       <!-- General -->
-       <category label="30100">
-         <!-- Video Quality: High (0) / Low (1) -->
-               <setting id="video_quality" type="enum" label="30101" 
lvalues="30102|30103" default="0" />
-       </category>
+        <!-- General -->
+        <category label="30100">
+                <!-- Video Quality: High (0) / Low (1) -->
+                <setting id="video_quality"
+                        type="enum"
+                        label="30101"
+                        lvalues="30102|30103"
+                        default="0" />
+
+                <!-- Episodes per Page
+                @TODO: This is commented out until the setting actually works.
+                <setting id="episodes_per_page"
+                        type="slider"
+                        label="30104"
+                        default="25"
+                        range="5,5,200"
+                        option="int" /> -->
+        </category>
 </settings>

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

commit 24c6a09f2a660f3e6105df52f229ed82a72e4c80
Author: beenje <[email protected]>
Date:   Tue Dec 11 19:01:33 2012 +0100

    [plugin.video.svtplay] updated to version 3.1.2

diff --git a/plugin.video.svtplay/addon.xml b/plugin.video.svtplay/addon.xml
index 7032a42..87ca63f 100644
--- a/plugin.video.svtplay/addon.xml
+++ b/plugin.video.svtplay/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.svtplay"
        name="SVT Play"
-       version="3.1.1"
+       version="3.1.2"
        provider-name="nilzen">
   <requires>
     <import addon="script.module.parsedom" version="1.2.0"/>
diff --git a/plugin.video.svtplay/changelog.txt 
b/plugin.video.svtplay/changelog.txt
index eca7189..7322249 100644
--- a/plugin.video.svtplay/changelog.txt
+++ b/plugin.video.svtplay/changelog.txt
@@ -1,3 +1,7 @@
+Version 3.1.2
+-------------
+- Restored playback on Apple TV 2 (by linqcan)
+
 Version 3.1.1
 -------------
 - Fixed broken parsing of alphabetical program listing (by linqcan)
diff --git a/plugin.video.svtplay/default.py b/plugin.video.svtplay/default.py
index 5abfec7..056c074 100644
--- a/plugin.video.svtplay/default.py
+++ b/plugin.video.svtplay/default.py
@@ -576,36 +576,49 @@ def startVideo(url):
 
 def hlsStrip(videoUrl):
     """
-    This function removes all streams except
-    the 1024x576 or 704x396 stream from an .m3u8 HLS
-    playlist file. This is to ensure highest available
-    quality on devices like ATV2 that do not handle
-    avc1.77.30 well yet.
-    Note! The for-loop only works because of the ordering
-    in the .m3u8 file, so it is fragile.
+    Extracts the stream that supports the
+    highest bandwidth and is not using the avc1.77.30 codec.
+    Returns the path to a m3u8 file on the local disk with a
+    reference to the extracted stream.
     """
+    common.log("Stripping file: " + videoUrl)
+
     ufile = urllib.urlopen(videoUrl)
+    lines = ufile.readlines()
+
     newplaylist = "#EXTM3U\n"
     header = ""
     hlsurl = ""
-    foundheader = False
-    for line in ufile.readlines():
-        if ("1024x576" in line) or ("704x396" in line):
-            header = line
-            foundheader = True
-            continue
-        if foundheader:
-            foundheader = False
-            hlsurl = line
-            continue
-
+    bandwidth = 0
+    foundhigherquality = False
+
+    for line in lines:
+      if foundhigherquality:
+        foundhigherquality = False
+        hlsurl = line
+      if "EXT-X-STREAM-INF" in line:
+        if not "avc1.77.30" in line:
+          match = re.match(r'.*BANDWIDTH=(\d+),.*CODECS=\"(.+?),.+',line)
+          if match:
+            if bandwidth < int(match.group(1)):
+              foundhigherquality = True
+              header = line
+              bandwidth = int(match.group(1))
+          continue
+
+    if bandwidth == 0:
+      return None
+
+    ufile.close()
     newpath = os.path.join(xbmc.translatePath("special://temp"),"svt.m3u8")
     newfile = open(newpath, 'w')
     newplaylist += header + hlsurl
+
     try:
         newfile.write(newplaylist)
     finally:
         newfile.close()
+
     return newpath
 
 

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

commit f1a8fa7cabd6d3790382670bcb0d4c1eca845d4b
Author: beenje <[email protected]>
Date:   Tue Dec 11 19:01:27 2012 +0100

    [plugin.video.tmz] updated to version 2.0.9

diff --git a/plugin.video.tmz/addon.xml b/plugin.video.tmz/addon.xml
index f6c29c2..8c410a0 100644
--- a/plugin.video.tmz/addon.xml
+++ b/plugin.video.tmz/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.tmz"
        name="TMZ"
-       version="2.0.8"
+       version="2.0.9"
        provider-name="stacked">
   <requires>
        <import addon="xbmc.python" version="2.0"/>
diff --git a/plugin.video.tmz/changelog.txt b/plugin.video.tmz/changelog.txt
index 4349910..fdc3675 100644
--- a/plugin.video.tmz/changelog.txt
+++ b/plugin.video.tmz/changelog.txt
@@ -1,3 +1,7 @@
+[B]Version 2.0.9[/B]
+
+- Fixed 'Not a gzipped file' error
+
 [B]Version 2.0.8[/B]
 
 - Fixed index error caused by gzip encoding (Thanks to jbel & divingmule)
diff --git a/plugin.video.tmz/default.py b/plugin.video.tmz/default.py
index ad99017..e8d3c2e 100644
--- a/plugin.video.tmz/default.py
+++ b/plugin.video.tmz/default.py
@@ -5,8 +5,8 @@ import simplejson as json
 plugin = 'TMZ'
 __author__ = 'stacked <[email protected]>'
 __url__ = 'http://code.google.com/p/plugin/'
-__date__ = '12-05-2012'
-__version__ = '2.0.8'
+__date__ = '12-10-2012'
+__version__ = '2.0.9'
 settings = xbmcaddon.Addon( id = 'plugin.video.tmz' )
 dbg = False
 dbglevel = 3
@@ -206,10 +206,13 @@ def get_page(url):
                req = urllib2.Request(url)
                req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; 
WOW64; rv:15.0) Gecko/20100101 Firefox/15.0.1')
                content = urllib2.urlopen(req)
-               if url.find('http://www.tmz.com/videos') != -1:
-                       gzip_filehandle = 
gzip.GzipFile(fileobj=StringIO.StringIO(content.read()))
-                       html = gzip_filehandle.read()
-               else:
+               try:
+                       if content.info()['Content-Encoding'] == 'gzip':
+                               gzip_filehandle = 
gzip.GzipFile(fileobj=StringIO.StringIO(content.read()))
+                               html = gzip_filehandle.read()
+                       else:
+                               html = content.read()
+               except:
                        html = content.read()
                content.close()
                try:

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

commit 6f5301b3579e9d8b0c9798b2ada9caeca9d85d39
Author: beenje <[email protected]>
Date:   Tue Dec 11 19:01:22 2012 +0100

    [plugin.video.trailer.addict] updated to version 1.0.7

diff --git a/plugin.video.trailer.addict/addon.xml 
b/plugin.video.trailer.addict/addon.xml
index b23052c..86ff13e 100644
--- a/plugin.video.trailer.addict/addon.xml
+++ b/plugin.video.trailer.addict/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.trailer.addict"
        name="Trailer Addict"
-       version="1.0.6"
+       version="1.0.7"
        provider-name="stacked">
   <requires>
     <import addon="xbmc.python" version="2.0"/>
diff --git a/plugin.video.trailer.addict/changelog.txt 
b/plugin.video.trailer.addict/changelog.txt
index 026824f..d953189 100644
--- a/plugin.video.trailer.addict/changelog.txt
+++ b/plugin.video.trailer.addict/changelog.txt
@@ -1,3 +1,11 @@
+[B]Version 1.0.7[/B]
+
+- Fixed __plugin__ is not defined error
+- Fixed 'urllib2.URLError' error
+- Fixed HTTP Error 404 when searching the Film Database
+- Fixed 'list index out of range' error
+- Fixed 'expected string or buffer' error
+
 [B]Version 1.0.6[/B]
 
 - Initial commit to Eden and Frodo
diff --git a/plugin.video.trailer.addict/default.py 
b/plugin.video.trailer.addict/default.py
index 5223f3e..dd094da 100644
--- a/plugin.video.trailer.addict/default.py
+++ b/plugin.video.trailer.addict/default.py
@@ -4,8 +4,8 @@ import xbmc, xbmcgui, xbmcplugin, urllib2, urllib, re, string, 
sys, os, tracebac
 plugin = 'Trailer Addict'
 __author__ = 'stacked <[email protected]>'
 __url__ = 'http://code.google.com/p/plugin/'
-__date__ = '12-02-2012'
-__version__ = '1.0.6'
+__date__ = '12-10-2012'
+__version__ = '1.0.7'
 settings = xbmcaddon.Addon( id = 'plugin.video.trailer.addict' )
 buggalo.SUBMIT_URL = 'http://www.xbmc.byethost17.com/submit.php'
 
@@ -17,7 +17,7 @@ oscar_thumb = os.path.join( settings.getAddonInfo( 'path' ), 
'resources', 'media
 popcorn_thumb = os.path.join( settings.getAddonInfo( 'path' ), 'resources', 
'media', 'popcorn.png' )
 poster_thumb = os.path.join( settings.getAddonInfo( 'path' ), 'resources', 
'media', 'poster.png' )
 
-def open_url(url):
+def open_url(url, get = False):
        retries = 0
        while retries < 11:
                data = {'content': None, 'error': None}
@@ -25,7 +25,9 @@ def open_url(url):
                        if retries != 0:
                                time.sleep(3)
                        data = get_page(url)
-                       if data['content'] != None and data['error'] == None:
+                       if data['content'] != None and \
+                          data['error'] == None and \
+                          type(data['content']) == str or 
type(data['content']) == unicode:
                                return data['content']
                        if data['error'] == 'HTTP Error 404: Not Found':
                                break
@@ -170,7 +172,7 @@ def build_search_directory():
        link_title = re.compile( '</div><a href="/tags/(.*?)">(.*?)</a><br />' 
).findall( data )
        if len( link_title ) == 0:
                dialog = xbmcgui.Dialog()
-               ok = dialog.ok( __plugin__ , settings.getLocalizedString(30009) 
+ search_string + '.\n' + settings.getLocalizedString(30010) )
+               ok = dialog.ok( plugin , settings.getLocalizedString(30009) + 
search_string + '.\n' + settings.getLocalizedString(30010) )
                build_main_directory()
                return
        item_count=0
@@ -186,13 +188,16 @@ def build_search_directory():
 def build_film_database_directory():
        keyboard = xbmc.Keyboard( '', settings.getLocalizedString(30011) )
        keyboard.doModal()
-       if ( keyboard.isConfirmed() == False ):
-               return
-       search_string = keyboard.getText().replace( ' ', '+' )
-       if len( search_string ) == 0:
+       search_string = keyboard.getText().rsplit(' ')[0]
+       if ( (keyboard.isConfirmed() == False) or (len( search_string ) == 0) ):
                return
        data = open_url( 'http://www.traileraddict.com/thefilms/' + 
search_string )
        link_title = re.compile( '<img src="/images/arrow2.png" class="arrow"> 
<a href="(.+?)">(.+?)</a>' ).findall( data )
+       if len( link_title ) == 0:
+               dialog = xbmcgui.Dialog()
+               ok = dialog.ok( plugin , settings.getLocalizedString(30009) + 
search_string + '.\n' + settings.getLocalizedString(30013) )
+               build_main_directory()
+               return
        item_count=0
        for url, title in link_title:
                url = 'http://www.traileraddict.com/' + url
@@ -268,13 +273,13 @@ def play_video( url, name ):
        else:
                url = 'http://www.traileraddict.com/fvar.php?tid=' + url
        data = open_url( url )
+       thumb = re.compile( '&image=(.+?)&' ).findall( data )[0]
+       if thumb == 'http://www.traileraddict.com/images/noembed-removed.png':
+               dialog = xbmcgui.Dialog()
+               ok = dialog.ok(plugin, settings.getLocalizedString( 30012 ))
+               return
        url = re.compile( 'fileurl=(.+?)\n&vidwidth', re.DOTALL ).findall( data 
)[0]
-       thumb = re.compile( '&image=(.+?)' ).findall( data )[0]
        url = url.replace( '%3A', ':').replace( '%2F', '/' ).replace( '%3F', 
'?' ).replace( '%3D', '=' ).replace( '%26', '&' ).replace( '%2F', '//' )
-       req = urllib2.Request( url )
-       content = urllib2.urlopen( req )
-       url = content.geturl()
-       content.close()
        listitem = xbmcgui.ListItem( label = name, iconImage = 
"DefaultVideo.png", thumbnailImage = xbmc.getInfoImage( "ListItem.Thumb" ), 
path = str(url) )
        listitem.setInfo( type="Video", infoLabels={ "Title": name , "Studio": 
plugin } )
        xbmcplugin.setResolvedUrl( handle = int( sys.argv[1] ), succeeded = 
True, listitem = listitem )
diff --git a/plugin.video.trailer.addict/resources/language/English/strings.xml 
b/plugin.video.trailer.addict/resources/language/English/strings.xml
index d34e9e0..5a0fc6b 100644
--- a/plugin.video.trailer.addict/resources/language/English/strings.xml
+++ b/plugin.video.trailer.addict/resources/language/English/strings.xml
@@ -10,7 +10,9 @@
     <string id="30007">Search</string>
        <string id="30009">No results found for </string>
        <string id="30010">Try using the Film Database.</string>
-       <string id="30011">Enter the film's starting letter or word, or release 
year:</string>
+       <string id="30011">Enter the film's starting letter, word, or release 
year:</string>
+       <string id="30012">This video is currently not available.</string>
+       <string id="30013">Try searching for the movie.</string>
        <string id="30050">There was a connection error:</string>
        <string id="30051">If this problem persists, please submit the error 
report.</string>
        <string id="30052">Retry</string>
diff --git a/plugin.video.trailer.addict/resources/media/next.png 
b/plugin.video.trailer.addict/resources/media/next.png
index 6229c76..67aafb8 100644
Binary files a/plugin.video.trailer.addict/resources/media/next.png and 
b/plugin.video.trailer.addict/resources/media/next.png differ

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

Summary of changes:
 plugin.video.jupiterbroadcasting/README.md         |    4 +
 plugin.video.jupiterbroadcasting/addon.xml         |    4 +-
 plugin.video.jupiterbroadcasting/changelog.txt     |    5 +
 plugin.video.jupiterbroadcasting/default.py        |  126 +++++++++++++-------
 .../resources/language/English/strings.xml         |   12 ++-
 .../resources/media/beeristasty.png                |  Bin 0 -> 108138 bytes
 .../resources/media/coderradio.jpg                 |  Bin 0 -> 638313 bytes
 .../resources/media/fauxshow.jpg                   |  Bin 0 -> 120818 bytes
 .../resources/media/indepthlook.jpg                |  Bin 0 -> 26485 bytes
 .../resources/media/jupiteratnite.jpg              |  Bin 0 -> 50587 bytes
 .../resources/media/jupiterbroadcasting.jpg        |  Bin 0 -> 33783 bytes
 .../resources/media/jupiterfiles.jpg               |  Bin 0 -> 12908 bytes
 .../resources/media/linuxactionshow.jpg            |  Bin 0 -> 45968 bytes
 .../resources/media/lotso.jpg                      |  Bin 0 -> 19642 bytes
 .../resources/media/mmorgue.jpg                    |  Bin 0 -> 13876 bytes
 .../resources/media}/next.png                      |  Bin 18680 -> 18680 bytes
 .../resources/media/scibyte.jpg                    |  Bin 0 -> 26464 bytes
 .../resources/media/stoked.png                     |  Bin 0 -> 120241 bytes
 .../resources/media/techsnap.jpg                   |  Bin 0 -> 65396 bytes
 .../resources/media/torked.jpg                     |  Bin 0 -> 11436 bytes
 .../resources/media/unfilter.jpg                   |  Bin 0 -> 638946 bytes
 .../resources/settings.xml                         |   23 +++-
 plugin.video.svtplay/README                        |   14 --
 plugin.video.svtplay/README.md                     |   15 +++
 plugin.video.svtplay/addon.xml                     |    2 +-
 plugin.video.svtplay/changelog.txt                 |    4 +
 plugin.video.svtplay/default.py                    |   49 +++++---
 plugin.video.tmz/addon.xml                         |    2 +-
 plugin.video.tmz/changelog.txt                     |    4 +
 plugin.video.tmz/default.py                        |   15 ++-
 plugin.video.trailer.addict/addon.xml              |    2 +-
 plugin.video.trailer.addict/changelog.txt          |    8 ++
 plugin.video.trailer.addict/default.py             |   33 +++--
 .../resources/language/English/strings.xml         |    4 +-
 .../resources/media/next.png                       |  Bin 6290 -> 18680 bytes
 35 files changed, 214 insertions(+), 112 deletions(-)
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/beeristasty.png
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/coderradio.jpg
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/fauxshow.jpg
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/indepthlook.jpg
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/jupiteratnite.jpg
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/jupiterbroadcasting.jpg
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/jupiterfiles.jpg
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/linuxactionshow.jpg
 create mode 100644 plugin.video.jupiterbroadcasting/resources/media/lotso.jpg
 create mode 100644 plugin.video.jupiterbroadcasting/resources/media/mmorgue.jpg
 copy {plugin.video.bliptv/thumbnails => 
plugin.video.jupiterbroadcasting/resources/media}/next.png (100%)
 create mode 100644 plugin.video.jupiterbroadcasting/resources/media/scibyte.jpg
 create mode 100644 plugin.video.jupiterbroadcasting/resources/media/stoked.png
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/techsnap.jpg
 create mode 100644 plugin.video.jupiterbroadcasting/resources/media/torked.jpg
 create mode 100644 
plugin.video.jupiterbroadcasting/resources/media/unfilter.jpg
 delete mode 100644 plugin.video.svtplay/README
 create mode 100644 plugin.video.svtplay/README.md


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to