The branch, frodo has been updated
       via  6af8cc0643a911cacfcee0f15075f224e6bb1b09 (commit)
      from  d2af899ff4319f30f2934b13aa87548e2361a80c (commit)

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

commit 6af8cc0643a911cacfcee0f15075f224e6bb1b09
Author: Martijn Kaijser <[email protected]>
Date:   Tue Aug 26 21:48:42 2014 +0200

    [plugin.video.abcradionational] 1.0.5

diff --git a/plugin.video.abcradionational/addon.py 
b/plugin.video.abcradionational/addon.py
index ea8fb39..26afd81 100644
--- a/plugin.video.abcradionational/addon.py
+++ b/plugin.video.abcradionational/addon.py
@@ -1,23 +1,26 @@
-from xbmcswift2 import Plugin, xbmcgui
+from xbmcswift2 import Plugin
 from resources.lib import abcradionational
 
 plugin = Plugin()
 
+
 @plugin.route('/')
 def main_menu():
     url = "plugin://plugin.video.youtube/?action=play_video&videoid="
-    video_data = abcradionational.get_podcasts()
+    video_data = abcradionational.get_videos()
+    items = []
 
-    items = [{
-        'label': x['title'],
-        'thumbnail': x['thumb'],
-        'path': url + x['url'],
-        'info': x['description'],
-        'is_playable': True,
-    } for x in video_data]
+    for x in video_data:
+        items.append({
+            'label': x['title'],
+            'thumbnail': x['thumbnail'],
+            'path': url + x['youtube_id'],
+            'info': x['description'],
+            'is_playable': True,
+        })
 
     return items
 
 
 if __name__ == '__main__':
-    plugin.run()
\ No newline at end of file
+    plugin.run()
diff --git a/plugin.video.abcradionational/addon.xml 
b/plugin.video.abcradionational/addon.xml
index cb51edb..1a0e000 100644
--- a/plugin.video.abcradionational/addon.xml
+++ b/plugin.video.abcradionational/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.video.abcradionational" name="RNTV - Radio National TV" 
version="1.0.4" provider-name="Damon Toumbourou">
+<addon id="plugin.video.abcradionational" name="RNTV - Radio National TV" 
version="1.0.5" provider-name="Damon Toumbourou">
   <requires>
     <import addon="xbmc.python" version="2.1.0"/>
     <import addon="script.module.xbmcswift2" version="2.4.0"/>
diff --git a/plugin.video.abcradionational/changelog.txt 
b/plugin.video.abcradionational/changelog.txt
index eb27a71..c33c753 100644
--- a/plugin.video.abcradionational/changelog.txt
+++ b/plugin.video.abcradionational/changelog.txt
@@ -1,6 +1,14 @@
-------changelog.txt-------
+1.0.5
+- Make scraper more resilient to website updates
 
-#version 0.0.1 - Initial working version.
-#version 1.0.2 - Fix index out of range error. 
-#version 1.0.3 - Rectify issue with the thumbs scraper.
-#version 1.0.4 - Updates to website scraper code.
\ No newline at end of file
+1.0.4
+- Updates to website scraper code.
+
+1.0.3
+- Rectify issue with the thumbs scraper.
+
+1.0.2
+- Fix index out of range error. 
+
+0.0.1
+- Initial working version.
diff --git a/plugin.video.abcradionational/resources/lib/abcradionational.py 
b/plugin.video.abcradionational/resources/lib/abcradionational.py
index 739cf09..0773837 100644
--- a/plugin.video.abcradionational/resources/lib/abcradionational.py
+++ b/plugin.video.abcradionational/resources/lib/abcradionational.py
@@ -2,59 +2,39 @@ import requests
 from BeautifulSoup import BeautifulSoup
 import re
 
-ABC_URL= "http://abc.net.au/radionational/rntv";
+ABC_URL = "http://abc.net.au/radionational/rntv";
 
-def get_podcasts():
-    """
-    returns videos from radionational - RNTV website
-    """
+
+def get_videos():
+    """Return videos from Radio National's RNTV website"""
     url = ABC_URL
     page = requests.get(url)
     soup = BeautifulSoup(page.text)
-    
-    urls = soup.findAll('a' , 'external')
-    titles = soup.findAll('h3', 'title')
-    thumbs = soup.findAll('img')
-    infos = soup.findAll('p')
-    
-    info_out = []
-    for info in infos:
-        if len(info.text) > 50:
-            info_out.append(info.text)
-    print len(info_out)
-    
-    thumb_sec = thumbs[1:42]
-    thumb_out = []
-    for thumb in thumb_sec:
-        thumb_out.append(thumb['src'])
-    print len(thumb_out)
-
-    title_out = []
-    for title in titles:
-        title_out.append(re.sub('&#039;', "'",title.text))
-    print len(title_out)
-
-    path = []
-    for u in urls:
-        if 'youtube' in str(u):
-            path.append(u['href'])
-
-    path_out = []
-    for i in path:
-        path_out.append(i[-11:])
-    print len(path_out)
-    
     output = []
 
-    for x in range(len(title_out)):  
-        items = {
-            'title': title_out[x],
-            'thumb': thumb_out[x],
-            'url': path_out[x],
-            'description': info_out[x],
-        } 
-        output.append(items)
+    content = soup.find('div', {'id': 'content'})
+    section_items = content.find('div', 'section').findAll('li')
 
-    return output
+    for i in section_items:
+        try:
+            title = i.find('h3', 'title').a.text
+        except AttributeError:
+            continue
+
+        title = re.sub('&#039;', "'", title)
+
+        thumbnail = i.find('div', 'figure').find('img')['src']
+        url = i.find('div', 'summary').find('a')['href']
+        youtube_id = url.split('/')[-1]
+        description = i.find('div', 'summary').findAll('p')[1].text
 
-get_podcasts()
+        item = {
+            'title': title,
+            'thumbnail': thumbnail,
+            'youtube_id': youtube_id,
+            'description': description
+        }
+
+        output.append(item)
+
+    return output

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

Summary of changes:
 plugin.video.abcradionational/addon.py             |   23 ++++---
 plugin.video.abcradionational/addon.xml            |    2 +-
 plugin.video.abcradionational/changelog.txt        |   18 ++++--
 .../resources/lib/abcradionational.py              |   76 +++++++------------
 4 files changed, 55 insertions(+), 64 deletions(-)


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to