The branch, dharma has been updated
       via  479cf5d8048c40e52a0dd8e4694c6b90de1a6e4b (commit)
       via  5e058199552df4b047a6a099efd6fa7b96cd8ff9 (commit)
       via  af6fdb5f8ef041c4afaa5406919a6c26799cae3d (commit)
      from  9e78ad6f41224803aedd7e994b361f282d929783 (commit)

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

commit 479cf5d8048c40e52a0dd8e4694c6b90de1a6e4b
Author: spiff <[email protected]>
Date:   Tue Feb 7 19:53:28 2012 +0100

    [plugin.audio.radio_de] updated to version 0.0.3

diff --git a/plugin.audio.radio_de/addon.py b/plugin.audio.radio_de/addon.py
index fa20d98..fb41f05 100644
--- a/plugin.audio.radio_de/addon.py
+++ b/plugin.audio.radio_de/addon.py
@@ -35,7 +35,7 @@ class Plugin_mod(Plugin):
         if options.get('is_playable'):
             li.setProperty('IsPlayable', 'true')
         if options.get('context_menu'):
-            li.addContextMenuItems(options['context_menu'], replaceItems=True)
+            li.addContextMenuItems(options['context_menu'], replaceItems=False)
         return options['url'], li, options.get('is_folder', True)
 
 plugin = Plugin_mod(__addon_name__, __id__, __file__)
@@ -206,7 +206,7 @@ def get_stream(id):
     __log('get_stream started with id=%s' % id)
     language = __get_language()
     station = scraper.get_station_by_station_id(language, id)
-    stream_url = station['streamURL']  # fixme: need to resolve .pls at least
+    stream_url = station['streamURL']
     __log('get_stream end with stream_url=%s' % stream_url)
     return plugin.set_resolved_url(stream_url)
 
diff --git a/plugin.audio.radio_de/addon.xml b/plugin.audio.radio_de/addon.xml
index 1852706..2d4e7b3 100644
--- a/plugin.audio.radio_de/addon.xml
+++ b/plugin.audio.radio_de/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.audio.radio_de" name="Radio" version="0.0.2" 
provider-name="Tristan Fischer ([email protected])">
+<addon id="plugin.audio.radio_de" name="Radio" version="0.0.3" 
provider-name="Tristan Fischer ([email protected])">
   <requires>
     <import addon="xbmc.python" version="1.0"/>
     <import addon="script.module.simplejson" version="2.0.10"/>
diff --git a/plugin.audio.radio_de/changelog.txt 
b/plugin.audio.radio_de/changelog.txt
index 1cf3a45..4fc50cd 100644
--- a/plugin.audio.radio_de/changelog.txt
+++ b/plugin.audio.radio_de/changelog.txt
@@ -1,3 +1,7 @@
+0.0.3 (07.02.2012)
+    - added workaround for streams with .m3u and .pls files
+    - changed: show full context menu
+
 0.0.2 (29.01.2012)
     - Fix error with UTF-8 characters in search string
 
diff --git a/plugin.audio.radio_de/resources/lib/scraper.py 
b/plugin.audio.radio_de/resources/lib/scraper.py
index e720c2f..4fe3d8b 100644
--- a/plugin.audio.radio_de/resources/lib/scraper.py
+++ b/plugin.audio.radio_de/resources/lib/scraper.py
@@ -2,7 +2,7 @@
 
 import simplejson as json
 from urllib import urlencode
-from urllib2 import urlopen, Request
+from urllib2 import urlopen, Request, HTTPError
 
 MAIN_URLS = {'english': 'http://rad.io/info',
              'german': 'http://radio.de/info',
@@ -109,6 +109,8 @@ def get_station_by_station_id(language, station_id):
         raise
     gets = {'broadcast': station_id}
     station = __get_json(path, gets, language)
+    if station['streamURL'].endswith(('m3u', 'pls')):
+        station['streamURL'] = __resolve_playlist(station['streamURL'])
     __log('get_station_by_station_id end')
     return station
 
@@ -132,5 +134,35 @@ def __get_json(path, gets, language):
     return json.loads(response)
 
 
+def __resolve_playlist(playlist_url):
+    __log('__resolve_playlist started with playlist_url=%s' % playlist_url)
+    req = Request(playlist_url)
+    req.add_header('User-Agent', USER_AGENT)
+    __log('__resolve_playlist opening url=%s' % playlist_url)
+    try:
+        response = urlopen(req).read()
+    except HTTPError, error:
+        __log('__resolve_playlist ERROR: %s' % error)
+        return playlist_url
+    stream_url = None
+    if playlist_url.endswith('m3u'):
+        __log('__resolve_playlist found .m3u file')
+        for entry in response.splitlines():
+            if not entry.strip().startswith('#'):
+                stream_url = entry
+                break
+    elif playlist_url.endswith('pls'):
+        __log('__resolve_playlist found .pls file')
+        for line in response.splitlines():
+            if line.strip().startswith('File1'):
+                stream_url = line.split('=')[1]
+                break
+    if not stream_url:
+        __log('__resolve_playlist falling back to playlist')
+        stream_url = playlist_url
+    __log('__resolve_playlist result=%s' % stream_url)
+    return stream_url
+
+
 def __log(text):
     print 'Radio.de scraper: %s' % text

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

commit 5e058199552df4b047a6a099efd6fa7b96cd8ff9
Author: spiff <[email protected]>
Date:   Tue Feb 7 19:42:33 2012 +0100

    [plugin.video.hgtv] updated to version 0.0.7

diff --git a/plugin.video.hgtv/addon.xml b/plugin.video.hgtv/addon.xml
index 017391b..b1c46a9 100644
--- a/plugin.video.hgtv/addon.xml
+++ b/plugin.video.hgtv/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>

 <addon id="plugin.video.hgtv"

        name="HGTV"

-       version="0.0.6"

+       version="0.0.7"

        provider-name="divingmule">

   <requires>

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

diff --git a/plugin.video.hgtv/changelog.txt b/plugin.video.hgtv/changelog.txt
index 678a9b3..687cba8 100644
--- a/plugin.video.hgtv/changelog.txt
+++ b/plugin.video.hgtv/changelog.txt
@@ -1,3 +1,6 @@
+Version 0.0.7

+we now scrape http://www.hgtv.com/full-episodes/package/index.html for the 
show list and hard-code other shows in the 'More' directory

+

 Version 0.0.6

 added new shows

 

diff --git a/plugin.video.hgtv/default.py b/plugin.video.hgtv/default.py
index d7af09e..404b43d 100644
--- a/plugin.video.hgtv/default.py
+++ b/plugin.video.hgtv/default.py
@@ -1,123 +1,121 @@
-import urllib,urllib2,re,xbmcplugin,xbmcgui,xbmcaddon

+import urllib

+import urllib2

+import re

+import os

+import xbmcplugin

+import xbmcgui

+import xbmcaddon

 from BeautifulSoup import BeautifulSoup

 

 __settings__ = xbmcaddon.Addon(id='plugin.video.hgtv')

 __language__ = __settings__.getLocalizedString

+home = __settings__.getAddonInfo('path')

 

 

-def getShows():

-        
addDir(__language__(30000),'/hgtv-15-fresh-handmade-gift-ideas/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/11/09/sp100_15-fresh-homemade-gift-ideas_s994x100.jpg')

-        
addDir(__language__(30001),'/hgtv-all-american-handyman/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/08/06/spShow_american-handyman_s994x100.jpg')

-        
addDir(__language__(30002),'/hgtv-bang-for-your-buck/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/03/04/sp100-bang-for-the-buck.jpg')

-        
addDir(__language__(30003),'/hgtv-battle-on-the-block/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/03/10/spShow_battle-on-the-block_s994x100.jpg')

-        
addDir(__language__(30004),'/hgtv-behind-the-magic-disney-holidays/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/10/09/spShow_disney-holiday-special_s994x100.jpg')

-        
addDir(__language__(30005),'/candice-tells-all-full-episodes/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/12/14/spShow_candice-tells-all-v2_s994x100.jpg')

-        
addDir(__language__(30006),'/hgtv246/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_carterCan.jpg')

-        
addDir(__language__(30007),'/hgtv-celebrity-holiday-homes/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/11/03/sp100_celebrity-holiday-homes_s994x100.jpg')

-        
addDir(__language__(30008),'/hgtv258/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/10/13/spShow_ctw-american-heroes_s994x200.jpg')

-        
addDir(__language__(30009),'/hgtv74/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/05/13/spShow_color-splash-2011_s994x100.jpg')

-        
addDir(__language__(30010),'/hgtv42/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_curbAppeal.jpg')

-        
addDir(__language__(30011),'/hgtv-curb-appeal-the-block2/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/12/10/sp100_curb-appeal-the-block_s994x100.jpg')

-        
addDir(__language__(30012),'/hgtv156/videos/index.html',1,'http://img.hgtv.com/HGTV/2008/10/17/showheader_dearGenevieve.jpg')

-        
addDir(__language__(30013),'/hgtv-deserving-design/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/31/sp200-deserving-design.jpg')

-        
addDir(__language__(30014),'/hgtv70/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_designedToSell.jpg')

-        
addDir(__language__(30015),'/hgtv-dinas-party/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/07/25/spShow_dinas-party_s994x100.jpg')

-        
addDir(__language__(30016),'/hgtv-first-time-design/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/12/10/spShow_first-time-design_s994x100.jpg')

-        
addDir(__language__(30017),'/hgtv262/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/03/13/sp100-for-rent.jpg')

-        
addDir(__language__(30018),'/hgtv8/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_gardeningByTheYard.jpg')

-        
addDir(__language__(30019),'/hgtv6/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_groundBreakers.jpg')

-        
addDir(__language__(30020),'/hgtv-showdown/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/01/06/sp200-hgtv-showdown.jpg')

-        
addDir(__language__(30021),'/hgtv146/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_summerShowdown_v2.jpg')

-        
addDir(__language__(30022),'/hgtv-hgtvd/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/12/15/spShow_hgtvd_s994x100.jpg')

-        
addDir(__language__(30023),'/hgtv236/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/04/16/sp200-250k-challenge-4.jpg')

-        
addDir(__language__(30024),'/hgtv-home-for-the-holidays/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/31/sp100-home-for-the-holidays.jpg')

-        
addDir(__language__(30025),'/hgtv-hammerheads/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_hammerHeads.jpg')

-        
addDir(__language__(30026),'/hgtv144/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_hiddenPotential_v2.jpg')

-        
addDir(__language__(30027),'/hgtv-holmes-inspection/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/02/18/sp200_holmes-inspection_s994x200.jpg')

-        
addDir(__language__(30028),'/hgtv-holmes-on-homes/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/04/17/sp200-holmes-on-homes.jpg')

-        
addDir(__language__(30029),'/hgtv-home-rules2/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/02/15/spShow_home-rules_s994x100.jpg')

-        
addDir(__language__(30030),'/hgtv-house-crashers/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/03/24/spShow_house-crashers-hgtv_s994x100.jpg')

-        
addDir(__language__(30031),'/hgtv40/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/02/01/spShow_house-hunters_s994x100.jpg')

-        
addDir(__language__(30032),'/hgtv56/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_houseHuntersInternational.jpg')

-        
addDir(__language__(30033),'/hgtv-house-hunters-on-vacation/videos/index.html',1,'http://img.hgtv.com/HGTV/2011/03/25/spShow_house-hunters-on-vacation_s994x100.jpg')

-        
addDir(__language__(30034),'/hgtv-house-of-bryan/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/08/30/spShow_house-of-bryan_s994x100.jpg')

-        
addDir(__language__(30035),'/hgtv-income-property/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/31/sp100-income-property.jpg')

-        
addDir(__language__(30036),'/hgtv-keys-to-the-castle/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/11/19/sp100-keys-to-the-castle-france.jpg')

-        
addDir(__language__(30037),'/hgtv58/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_myFirstPlace.jpg')

-        
addDir(__language__(30038),'/hgtv-my-first-sale/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/06/09/spShow_my-first-sale_s994x100.jpg')

-        
addDir(__language__(30039),'/hgtv32/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_myHouseIsWorthWhat_v2.jpg')

-        
addDir(__language__(30040),'/hgtv-my-yard-goes-disney/videos/index.html',1,'http://img.hgtv.com/HGTV/2011/05/06/spShow_my-yard-goes-disney_s994x100.jpg')

-        
addDir(__language__(30041),'/hgtv18/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/31/sp200-myles-of-style.jpg')

-        
addDir(__language__(30042),'/hgtv60/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_nationalOpenHouse.jpg')

-        
addDir(__language__(30043),'/hgtv162/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_overYourHead.jpg')

-        
addDir(__language__(30044),'/hgtv-professional-grade/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/09/17/spShow_professional-grade_s994x100.jpg')

-        
addDir(__language__(30045),'/hgtv48/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_propertyVirgins.jpg')

-        
addDir(__language__(30046),'/hgtv-rv-2010/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/12/01/spShow_rv-2011_s994x100.jpg')

-        
addDir(__language__(30047),'/hgtv2/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_RateMySpace.jpg')

-        
addDir(__language__(30048),'/hgtv176/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/06/10/sp100-real-estate-intervention.jpg')

-        
addDir(__language__(30049),'/hgtv46/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_redHotandGreen_v2.jpg')

-        
addDir(__language__(30050),'/hgtv-room-crashers/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/05/10/spShow_room-crashers_s994x100.jpg')

-        
addDir(__language__(30051),'/hgtv-sandra-lee-celebrates/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/10/09/sp100_sandra-lee-celebrates-holiday-homecoming_s994x100.jpg')

-        
addDir(__language__(30052),'/hgtv-sarah-101/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/06/03/spShow_sarah-101_s994x100.jpg')

-        
addDir(__language__(30053),'/hgtv-sarahs-holiday-party/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/10/20/spShow_sarahs-holiday-party_s994x100.jpg')

-        
addDir(__language__(30054),'/hgtv-sarahs-house/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/01/06/sp100-sarahs-house_s994x100.jpg')

-        
addDir(__language__(30055),'/hgtv-sarahs-summer-house/videos/index.html',1,'http://img.hgtv.com/HGTV/2011/02/10/spShow_sarahs-summer-house_s994x100.jpg')

-        
addDir(__language__(30056),'/hgtv-secrets-from-a-stylist2/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/08/23/spShow_secrets-from-a-stylist_s994x200.jpg')

-        
addDir(__language__(30057),'/hgtv-selling-new-york/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/01/11/spShow_selling-new-york_s994x100.jpg')

-        
addDir(__language__(30058),'/hgtv50/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/31/sp200-sleep-on-it.jpg')

-        
addDir(__language__(30059),'/hgtv24/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_spiceUpMyKitchen.jpg')

-        
addDir(__language__(30060),'/hgtv-the-antonio-treatment/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/01/12/spShow_the-antonio-treatment_s994x200.jpg')

-        
addDir(__language__(30061),'/hgtv-the-duchess/videos/index.html',1,'http://img.hgtv.com/HGTV/2009/10/07/spShow_the-duchess_s994x100.jpg')

-        
addDir(__language__(30062),'/hgtv-the-outdoor-room/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/11/23/spShow_the-outdoor-room-with-jamie-durie_s994x200.jpg')

-        
addDir(__language__(30063),'/hgtv54/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_theStagers.jpg')

-        
addDir(__language__(30064),'/hgtv-tough-as-nails/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/01/26/spShow_tough-as-nails_s994x100.jpg')

-        
addDir(__language__(30065),'/hgtv-white-house-christmas/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/11/24/sp200_white-house-xmas-2010_s994x200.jpg')

-        
addDir(__language__(30066),'/hgtv154/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/12/09/sp200-yard-crashers.jpg')

-

-

-def INDEX(url):

-        url='http://www.hgtv.com'+url

-        headers = {'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) 
Gecko/20100101 Firefox/6.0',

+def getRequest(url):

+        headers = {'User-agent' : '    Mozilla/5.0 (Windows NT 6.1; WOW64; 
rv:10.0) Gecko/20100101 Firefox/10.0',

                    'Referer' : 'http://www.hgtv.com'}

         req = urllib2.Request(url,None,headers)

         response = urllib2.urlopen(req)

         link=response.read()

         response.close()

-        soup = BeautifulSoup(link, convertEntities=BeautifulSoup.HTML_ENTITIES)

+        return link

+        

+        

+def getShows():

+        url = 'http://www.hgtv.com/full-episodes/package/index.html'

+        soup = BeautifulSoup(getRequest(url))

+        shows = soup.findAll('ol', attrs={'id' : "fe-list"})[1]('li')

+        Shows_list=[]

+        for i in shows:

+            name = i('img')[0]['alt']

+            if name.startswith(' '):

+                name = name[1:]

+            url = i('a')[1]['href']

+            thumbnail = i('img')[0]['src'].replace(' ','')

+            show = (name, url, thumbnail)

+            if not show in Shows_list:

+                Shows_list.append(show)

+        for i in Shows_list:

+            addDir(i[0], i[1], 1, i[2])

+        addDir(__language__(30027),'getMoreShows',2,xbmc.translatePath( 
os.path.join( home, 'icon.png' ) ))

+

+

+def getMoreShows():

+        
addDir(__language__(30000),'/hgtv-15-fresh-handmade-gift-ideas/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/11/09/sp100_15-fresh-homemade-gift-ideas_s994x100.jpg')
 # 15 Fresh Handmade Gift Ideas

+        
addDir(__language__(30001),'/hgtv-bang-for-your-buck/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/03/04/sp100-bang-for-the-buck.jpg')
 # Bang for Your Buck

+        
addDir(__language__(30002),'/hgtv-battle-on-the-block/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/03/10/spShow_battle-on-the-block_s994x100.jpg')
 # Battle On the Block

+        
addDir(__language__(30003),'/hgtv-behind-the-magic-disney-holidays/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/10/09/spShow_disney-holiday-special_s994x100.jpg')
 # Behind the Magic: Disney Holidays

+        
addDir(__language__(30004),'/candice-tells-all-full-episodes/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/12/14/spShow_candice-tells-all-v2_s994x100.jpg')
 # Candice Tells All

+        
addDir(__language__(30005),'/hgtv258/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/10/13/spShow_ctw-american-heroes_s994x200.jpg')
 # Change the World: American Heroes

+        
addDir(__language__(30006),'/hgtv-dinas-party/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/07/25/spShow_dinas-party_s994x100.jpg')
 # Dina's Party

+        
addDir(__language__(30007),'/hgtv-first-time-design/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/12/10/spShow_first-time-design_s994x100.jpg')
 # First Time Design

+        
addDir(__language__(30008),'/hgtv146/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_summerShowdown_v2.jpg')
 # HGTV Summer Showdown

+        
addDir(__language__(30009),'/hgtv236/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/04/16/sp200-250k-challenge-4.jpg')
 # HGTV's $250,000 Challenge

+        
addDir(__language__(30010),'/hgtv-hgtvs-great-rooms2/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/09/13/spShow_hgtv-great-rooms_s994x100.jpg')
 # HGTV's Great Rooms

+        
addDir(__language__(30011),'/hgtv-home-for-the-holidays/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/31/sp100-home-for-the-holidays.jpg')
 # HGTV's Home for the Holidays

+        
addDir(__language__(30012),'/hgtv-hgtv-the-making-of-our-magazine/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/08/12/spShow_making-of-our-magazine_s994x100.jpg')
 # HGTV: The Making of Our Magazine

+        
addDir(__language__(30013),'/hgtv-holmes-inspection/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2010/02/18/sp200_holmes-inspection_s994x200.jpg')
 # Holmes Inspection

+        
addDir(__language__(30014),'/hgtv-house-of-bryan/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/08/30/spShow_house-of-bryan_s994x100.jpg')
 # House of Bryan

+        
addDir(__language__(30015),'/hgtv-keys-to-the-castle/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/11/19/sp100-keys-to-the-castle-france.jpg')
 # Keys to the Castle, France

+        
addDir(__language__(30016),'/hgtv32/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_myHouseIsWorthWhat_v2.jpg')
 # My House Is Worth What?

+        
addDir(__language__(30017),'/hgtv-property-brothers/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/10/07/spShow_property-brothers_s994x100.jpg')
 # Property Brothers

+        
addDir(__language__(30018),'/hgtv-rv-2010/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/12/07/spShow_rv_s994x100.jpg')
 # RV

+        
addDir(__language__(30019),'/hgtv46/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2008/10/17/showheader_redHotandGreen_v2.jpg')
 # Red Hot & Green

+        
addDir(__language__(30020),'/hgtv-room-crashers/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/05/10/spShow_room-crashers_s994x100.jpg')
 # Room Crashers

+        
addDir(__language__(30021),'/hgtv-sandra-lee-celebrates/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/10/09/sp100_sandra-lee-celebrates-holiday-homecoming_s994x100.jpg')
 # Sandra Lee Celebrates: Holiday Homecoming

+        
addDir(__language__(30022),'/hgtv-sarah-101/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/06/03/spShow_sarah-101_s994x100.jpg')
 # Sarah 101

+        
addDir(__language__(30023),'/hgtv-sarahs-holiday-party/videos/index.html',1,'http://img.hgtv.com/HGTV/2010/10/20/spShow_sarahs-holiday-party_s994x100.jpg')
 # Sarah's Holiday Party

+        
addDir(__language__(30024),'/hgtv-the-duchess/videos/index.html',1,'http://img.hgtv.com/HGTV/2009/10/07/spShow_the-duchess_s994x100.jpg')
 # The Duchess

+        
addDir(__language__(30025),'/hgtv-the-outdoor-room/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2009/11/23/spShow_the-outdoor-room-with-jamie-durie_s994x200.jpg')
 # The Outdoor Room With Jamie Durie

+        
addDir(__language__(30026),'/hgtv-white-house-christmas/videos/index.html',1,'http://hgtv.sndimg.com/HGTV/2011/11/23/spShow_white-house-xmas-2011_s994x100.jpg')
 # White House Christmas 2011

+

+

+def INDEX(url, iconimage):

+        if url.startswith('/'):

+            url='http://www.hgtv.com'+url

+        soup = BeautifulSoup(getRequest(url), 
convertEntities=BeautifulSoup.HTML_ENTITIES)

         try:

             if soup.find('ul', attrs={'class' : "channel-list"}):

                 name = soup.find('ul', attrs={'class' : 
"channel-list"})('h4')[0]('em')[0].next

                 url = soup.find('ul', attrs={'class' : 
"channel-list"})('a')[0]['href']

-                addDir(name,url,1,'')

+                addDir(name,url,1,iconimage)

                 try:

                     seasons = soup.findAll('li', attrs={'class' : 'switch'})

                     for season in seasons:

                         name = season('h4')[0]('em')[0].next

                         url = season('a')[0]['href']

-                        addDir(name,url,1,'')

+                        addDir(name,url,1,iconimage)

                 except:

                     pass

         except:

                 pass

-        showID=re.compile("var snap = new 
SNI.HGTV.Player.FullSize\(\\'.+?\\',\\'(.+?)\\', \\'\\'\);").findall(link)

+        showID=re.compile("var snap = new 
SNI.HGTV.Player.FullSize\(\\'.+?\\',\\'(.+?)\\', \\'\\'\);").findall(str(soup))

         if len(showID)<1:

-            showID=re.compile("var snap = new 
SNI.HGTV.Player.FullSize\(\'.+?','(.+?)', '.+?'\);").findall(link)

-        url='http://www.hgtv.com/hgtv/channel/xml/0,,'+showID[0]+',00.xml'

-        req = urllib2.Request(url,None,headers)

-        response = urllib2.urlopen(req)

-        link=response.read()

-        response.close()

-        soup = BeautifulSoup(link, convertEntities=BeautifulSoup.HTML_ENTITIES)

-        videos = soup('video')

-        for video in videos:

-            name = video('clipname')[0].string

-            length = video('length')[0].string

-            thumb = video('thumbnailurl')[0].string

-            description = video('abstract')[0].string

-            link = video('videourl')[0].string

-            playpath = 
link.replace('http://wms.scrippsnetworks.com','').replace('.wmv','')

-            url = 'rtmp://flash.scrippsnetworks.com:1935/ondemand?ovpfv=1.1 
swfUrl="http://common.scrippsnetworks.com/common/snap/snap-3.0.3.swf"; 
playpath='+playpath

-            addLink(name,url,description,length,thumb)

+            showID=re.compile("var snap = new 
SNI.HGTV.Player.FullSize\(\'.+?','(.+?)', '.+?'\);").findall(str(soup))

+        if len(showID)<1:

+            try:

+                url = soup.find('ul', attrs={'class' : 
"button-nav"})('a')[1]['href']

+                INDEX(url, iconimage)

+            except:

+                try:

+                    url = soup.find('li', attrs={'class' : 
"tab-past-season"}).a['href']

+                    INDEX(url, iconimage)

+                except: print 'Houston we have a problem!'

+        else:

+            url='http://www.hgtv.com/hgtv/channel/xml/0,,'+showID[0]+',00.xml'

+            soup = BeautifulSoup(getRequest(url), 
convertEntities=BeautifulSoup.HTML_ENTITIES)

+            videos = soup('video')

+            for video in videos:

+                name = video('clipname')[0].string

+                length = video('length')[0].string

+                thumb = video('thumbnailurl')[0].string

+                description = video('abstract')[0].string

+                link = video('videourl')[0].string

+                playpath = 
link.replace('http://wms.scrippsnetworks.com','').replace('.wmv','')

+                url = 
'rtmp://flash.scrippsnetworks.com:1935/ondemand?ovpfv=1.1 
swfUrl="http://common.scrippsnetworks.com/common/snap/snap-3.0.3.swf"; 
playpath='+playpath

+                addLink(name,url,description,length,thumb)

+            xbmcplugin.setContent(int(sys.argv[1]), 'episodes')

 

 

 def get_params():

@@ -148,7 +146,7 @@ def addLink(name,url,description,length,iconimage):
 

 

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

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

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

         ok=True

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

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

@@ -170,6 +168,10 @@ try:
 except:

     pass

 try:

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

+except:

+    pass

+try:

     mode=int(params["mode"])

 except:

     pass

@@ -183,7 +185,11 @@ if mode==None or url==None or len(url)<1:
     getShows()

 

 elif mode==1:

-    print ""+url

-    INDEX(url)

+    print ""

+    INDEX(url, iconimage)

 

+elif mode==2:

+    print ""

+    getMoreShows()

+    

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

diff --git a/plugin.video.hgtv/resources/language/English/strings.xml 
b/plugin.video.hgtv/resources/language/English/strings.xml
index 4193b01..c6161f6 100644
--- a/plugin.video.hgtv/resources/language/English/strings.xml
+++ b/plugin.video.hgtv/resources/language/English/strings.xml
@@ -1,70 +1,31 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <strings>
   <string id="30000">15 Fresh Handmade Gift Ideas</string>
-  <string id="30001">All American Handyman</string>
-  <string id="30002">Bang for Your Buck</string>
-  <string id="30003">Battle On the Block</string>
-  <string id="30004">Behind the Magic: Disney Holidays</string>
-  <string id="30005">Candice Tells All</string>
-  <string id="30006">Carter Can</string>
-  <string id="30007">Celebrity Holiday Homes 2009</string>
-  <string id="30008">Change the World: American Heroes</string>
-  <string id="30009">Color Splash</string>
-  <string id="30010">Curb Appeal</string>
-  <string id="30011">Curb Appeal: The Block</string>
-  <string id="30012">Dear Genevieve</string>
-  <string id="30013">Deserving Design</string>
-  <string id="30014">Designed to Sell</string>
-  <string id="30015">'Dina's Party</string>
-  <string id="30016">First Time Design</string>
-  <string id='30017'>For Rent</string>
-  <string id='30018'>Gardening by the Yard</string>
-  <string id='30019'>Ground Breakers</string>
-  <string id='30020'>HGTV Showdown</string>
-  <string id='30021'>HGTV Summer Showdown</string>
-  <string id='30022'>HGTV'd</string>
-  <string id='30023'>HGTV's $250,000 Challenge</string>
-  <string id='30024'>HGTV's Home for the Holidays</string>
-  <string id='30025'>Hammer Heads</string>
-  <string id='30026'>Hidden Potential</string>
-  <string id='30027'>Holmes Inspection</string>
-  <string id='30028'>Holmes on Homes</string>
-  <string id='30029'>Home Rules</string>
-  <string id='30030'>House Crashers</string>
-  <string id='30031'>House Hunters</string>
-  <string id='30032'>House Hunters International</string>
-  <string id='30033'>House Hunters on Vacation</string>
-  <string id='30034'>House of Bryan</string>
-  <string id='30035'>Income Property</string>
-  <string id='30036'>Keys to the Castle, France</string>
-  <string id='30037'>My First Place</string>
-  <string id='30038'>My First Sale</string>
-  <string id='30039'>My House Is Worth What?</string>
-  <string id='30040'>My Yard Goes Disney</string>
-  <string id='30041'>Myles of Style</string>
-  <string id='30042'>National Open House</string>
-  <string id='30043'>Over Your Head</string>
-  <string id='30044'>Professional Grade</string>
-  <string id='30045'>Property Virgins</string>
-  <string id='30046'>RV 2011</string>
-  <string id='30047'>Rate My Space</string>
-  <string id='30048'>Real Estate Intervention</string>
-  <string id='30049'>Red Hot &amp; Green</string>
-  <string id='30050'>Room Crashers</string>
-  <string id='30051'>Sandra Lee Celebrates: Holiday Homecoming</string>
-  <string id='30052'>Sarah 101</string>
-  <string id='30053'>Sarah's Holiday Party</string>
-  <string id='30054'>Sarah's House</string>
-  <string id='30055'>Sarah's Summer House</string>
-  <string id='30056'>Secrets From a Stylist</string>
-  <string id='30057'>Selling New York</string>
-  <string id='30058'>Sleep On It</string>
-  <string id='30059'>Spice Up My Kitchen</string>
-  <string id='30060'>The Antonio Treatment</string>
-  <string id='30061'>The Duchess</string>
-  <string id='30062'>The Outdoor Room With Jamie Durie</string>
-  <string id='30063'>The Stagers</string>
-  <string id='30064'>Tough as Nails</string>
-  <string id='30065'>White House Christmas 2010</string>
-  <string id='30066'>Yard Crashers</string>
+  <string id="30001">Bang for Your Buck</string>
+  <string id="30002">Battle On the Block</string>
+  <string id="30003">Behind the Magic: Disney Holidays</string>
+  <string id="30004">Candice Tells All</string>
+  <string id="30005">Change the World: American Heroes</string>
+  <string id="30006">Dina's Party</string>
+  <string id="30007">First Time Design</string>
+  <string id="30008">HGTV Summer Showdown</string>
+  <string id="30009">HGTV's $250,000 Challenge</string>
+  <string id="30010">HGTV's Great Rooms</string>
+  <string id="30011">HGTV's Home for the Holidays</string>
+  <string id="30012">HGTV: The Making of Our Magazine</string>
+  <string id="30013">Holmes Inspection</string>
+  <string id="30014">House of Bryan</string>
+  <string id="30015">Keys to the Castle, France</string>
+  <string id='30016'>My House Is Worth What?</string>
+  <string id='30017'>Property Brothers</string>
+  <string id='30018'>RV</string>
+  <string id='30019'>Red Hot &amp; Green</string>
+  <string id='30020'>Room Crashers</string>
+  <string id='30021'>Sandra Lee Celebrates: Holiday Homecoming</string>
+  <string id='30022'>Sarah 101</string>
+  <string id='30023'>Sarah's Holiday Party</string>
+  <string id='30024'>The Duchess</string>
+  <string id='30025'>The Outdoor Room With Jamie Durie</string>
+  <string id='30026'>White House Christmas 2011</string>
+  <string id='30027'>More...</string>
 </strings>

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

commit af6fdb5f8ef041c4afaa5406919a6c26799cae3d
Author: spiff <[email protected]>
Date:   Tue Feb 7 19:40:22 2012 +0100

    [plugin.video.fox.news] updated to version 1.0.8

diff --git a/plugin.video.fox.news/addon.xml b/plugin.video.fox.news/addon.xml
index b09ba65..16e2758 100644
--- a/plugin.video.fox.news/addon.xml
+++ b/plugin.video.fox.news/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.fox.news"
        name="Fox News"
-       version="1.0.7"
+       version="1.0.8"
        provider-name="divingmule">
     <requires>
         <import addon="xbmc.python" version="1.0"/>
diff --git a/plugin.video.fox.news/default.py b/plugin.video.fox.news/default.py
index 23d2681..9385a4c 100644
--- a/plugin.video.fox.news/default.py
+++ b/plugin.video.fox.news/default.py
@@ -1,5 +1,9 @@
-import urllib,urllib2,re,os

-import xbmcplugin,xbmcgui,xbmcaddon

+import urllib

+import urllib2

+import os

+import xbmcplugin

+import xbmcgui

+import xbmcaddon

 from BeautifulSoup import BeautifulSoup

 try:

     import json

@@ -50,10 +54,15 @@ def getSubcategories(url):
             ok=True

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

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

+            contextMenu = 
[(__language__(30019),'RunPlugin(%s?url=%s&mode=3&play=True)' %(sys.argv[0], 
urllib.quote_plus(url)))]

+            liz.addContextMenuItems(contextMenu)

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

 

 

-def getVideos(url):

+def getVideos(url, play=False):

+        if play:

+            playlist = xbmc.PlayList(1)

+            playlist.clear()

         headers = {'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; 
rv:9.0.1) Gecko/20100101 Firefox/9.0.1',

                    'Referer' : 'http://video.foxnews.com'}

         req = 
urllib2.Request('http://video.foxnews.com/v/feed/playlist/'+url+'.js?',None,headers)

@@ -73,9 +82,15 @@ def getVideos(url):
             name = name.replace('&amp;',' & ')

             url = url.replace('HIGH',__settings__.getSetting('video_quality'))

             duration = video['media-content']['mvn-duration']

-            liz=xbmcgui.ListItem(name, iconImage="DefaultVideo.png", 
thumbnailImage=thumb)

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

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

+            if play:

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

+                playlist.add(url, info)

+            else:

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

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

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

+        if play:

+            xbmc.executebuiltin('playlist.playoffset(video,0)')

 

 

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

@@ -104,8 +119,8 @@ def get_params():
                     param[splitparams[0]]=splitparams[1]

 

         return param

-        

-        

+

+

 xbmcplugin.setContent(int(sys.argv[1]), 'movies')

 

 params=get_params()

@@ -126,6 +141,10 @@ try:
     mode=int(params["mode"])

 except:

     pass

+try:

+    play=eval(params["play"])

+except:

+    pass

 

 print "Mode: "+str(mode)

 print "URL: "+str(url)

@@ -136,11 +155,15 @@ if mode==None:
     getCategories()

 

 elif mode==1:

-    print ""+url

+    print ""

     getSubcategories(url)

 

 elif mode==2:

-    print ""+url

+    print ""

     getVideos(url)

 

+elif mode==3:

+    print ""

+    getVideos(url, True)

+

 xbmcplugin.endOfDirectory(int(sys.argv[1]))
\ No newline at end of file
diff --git a/plugin.video.fox.news/resources/language/English/strings.xml 
b/plugin.video.fox.news/resources/language/English/strings.xml
index f8b5c02..63ca96f 100644
--- a/plugin.video.fox.news/resources/language/English/strings.xml
+++ b/plugin.video.fox.news/resources/language/English/strings.xml
@@ -18,4 +18,5 @@
   <string id="30016">Medium</string>
   <string id="30017">Low</string>
   <string id="30018">Video Quality</string>
+  <string id="30019">Play</string>
 </strings>

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

Summary of changes:
 plugin.audio.radio_de/addon.py                     |    4 +-
 plugin.audio.radio_de/addon.xml                    |    2 +-
 plugin.audio.radio_de/changelog.txt                |    4 +
 plugin.audio.radio_de/resources/lib/scraper.py     |   34 ++++-
 plugin.video.fox.news/addon.xml                    |    2 +-
 plugin.video.fox.news/changelog.txt                |    2 +
 plugin.video.fox.news/default.py                   |   43 ++++-
 .../resources/language/English/strings.xml         |    1 +
 plugin.video.hgtv/addon.xml                        |    2 +-
 plugin.video.hgtv/changelog.txt                    |    3 +
 plugin.video.hgtv/default.py                       |  202 ++++++++++----------
 .../resources/language/English/strings.xml         |   93 +++-------
 12 files changed, 212 insertions(+), 180 deletions(-)
 create mode 100644 plugin.video.fox.news/changelog.txt


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

Reply via email to