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(''', "'",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(''', "'", 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