Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion addon.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.pbs"
name="PBS"
version="3.0.10"
version="3.0.11"
provider-name="stacked">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
Expand Down
6 changes: 6 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
[B]Version 3.0.11[/B]

- Removed deprecated video quality 'MPEG-4 500kbps'
- Set default video quality to 'MP4 800k'
- Fixed 'base' referenced before assignment error

[B]Version 3.0.10[/B]

- Fixed index error when loading directories
Expand Down
33 changes: 18 additions & 15 deletions default.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
plugin = "PBS"
__author__ = 'stacked <stacked.xbmc@gmail.com>'
__url__ = 'http://code.google.com/p/plugin/'
__date__ = '01-20-2013'
__version__ = '3.0.10'
__date__ = '01-16-2014'
__version__ = '3.0.12'
settings = xbmcaddon.Addon( id = 'plugin.video.pbs' )
buggalo.SUBMIT_URL = 'http://www.xbmc.byethost17.com/submit.php'
dbg = False
Expand Down Expand Up @@ -185,10 +185,10 @@ def build_search_directory( url, page ):

@retry(TypeError)
def find_videos( name, program_id, topic, page ):
if settings.getSetting("quality") == '0':
type = ['MPEG-4 500kbps', 'MP4 800k', HIGH]
if settings.getSetting("video") == '0':
type = ['MP4 800k', 'Legacy KIDS encoding', HIGH]
else:
type = [HIGH, 'MP4 800k', 'MPEG-4 500kbps' ]
type = [HIGH, 'MP4 800k', 'Legacy KIDS encoding']
start = str( 200 * page )
url = 'None'
backup_url = None
Expand Down Expand Up @@ -232,7 +232,9 @@ def find_videos( name, program_id, topic, page ):
backup_url = str(encoding.items()[0][1]['backup_url'])
infoLabels = { "Title": results['title'].encode('utf-8'), "Director": "PBS", "Studio": name, "Plot": results['long_description'].encode('utf-8'), "Aired": results['airdate'].rsplit(' ')[0], "Duration": str((int(results['mediafiles'][0]['length_mseconds'])/1000)/60) }
u = { 'mode': '5', 'name': results['title'].encode('utf-8'), 'url': url, 'thumb': thumb, 'plot': results['long_description'].encode('utf-8'), 'studio': name, 'backup_url': backup_url }
addListItem(label = results['title'].encode('utf-8'), image = thumb, url = u, isFolder = False, infoLabels = infoLabels, fanart = fanart, duration = str(int(results['mediafiles'][0]['length_mseconds'])/1000))
#Only show videos longer than ___ minutes
if int(results['mediafiles'][0]['length_mseconds'])/1000/60 > int(settings.getSetting("minimum_duration")):
addListItem(label = results['title'].encode('utf-8'), image = thumb, url = u, isFolder = False, infoLabels = infoLabels, fanart = fanart, duration = str(int(results['mediafiles'][0]['length_mseconds'])/1000))
if topic == 'False':
play_video( results['title'].encode('utf-8'), url, thumb, results['long_description'].encode('utf-8'), name.encode('utf-8'), None, backup_url )
return
Expand All @@ -255,6 +257,7 @@ def play_video( name, url, thumb, plot, studio, starttime, backup_url ):
print 'PBS - ' + studio + ' - ' + name
print url
playpath = False
defaulturl = url

#Release Urls
if 'http://release.theplatform.com/' in url:
Expand All @@ -274,15 +277,6 @@ def play_video( name, url, thumb, plot, studio, starttime, backup_url ):
try:
base = re.compile( '<meta base="(.+?)" />' ).findall( data )[0]
src = re.compile( '<ref src="(.+?)" title="(.+?)" (author)?' ).findall( data )[0][0]
except:
print 'PBS - Release backup_url'
if backup_url != 'None':
url = backup_url
backup_url = 'None'
else:
url = 'None'
backup_url = 'None'
if url != 'None' and 'http://urs.pbs.org/redirect/' not in url:
if base == 'http://ad.doubleclick.net/adx/':
src_data = src.split( "&lt;break&gt;" )
url = src_data[0] + "mp4:" + src_data[1].replace('mp4:','')
Expand All @@ -291,6 +285,14 @@ def play_video( name, url, thumb, plot, studio, starttime, backup_url ):
else:
url = base
playpath = "mp4:" + src.replace('mp4:','')
except:
print 'PBS - Release backup_url'
if backup_url != 'None':
url = backup_url
backup_url = 'None'
else:
url = 'None'
backup_url = 'None'

#Empty Urls
if url == 'None':
Expand Down Expand Up @@ -342,6 +344,7 @@ def play_video( name, url, thumb, plot, studio, starttime, backup_url ):
dialog = xbmcgui.Dialog()
ok = dialog.ok(plugin , settings.getLocalizedString( 30008 ))
ok = dialog.ok(plugin, settings.getLocalizedString( 30051 ))
buggalo.addExtraData('defaulturl', defaulturl)
buggalo.addExtraData('url', url)
buggalo.addExtraData('info', studio + ' - ' + name)
raise Exception("backup_url ERROR")
Expand Down
3 changes: 2 additions & 1 deletion resources/language/English/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,12 @@
<string id="30016">access to this content.</string>
<string id="30017">Preferred video quality:</string>
<string id="30018">2500k-1200k</string>
<string id="30019">800k-500k</string>
<string id="30019">800k</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>
<string id="30053">Quit</string>
<string id="30054">There was an index error.</string>
<string id="30055">Enable default view for Confluence skin</string>
<string id="30056">Only show videos longer than ___ minutes</string>
</strings>
3 changes: 2 additions & 1 deletion resources/settings.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<settings>
<setting id="quality" type="enum" label="30017" lvalues="30019|30018" default="1"/>
<setting id="video" type="enum" label="30017" lvalues="30019|30018" default="0"/>
<setting id="minimum_duration" type="number" label="30056" default="0"/>
<setting id="view" type="bool" label="30055" default="true"/>
</settings>