The branch, eden has been updated
via d2f776a4a362df5e93fc9a027a0f40b97fe5240b (commit)
via ac51c8b683c0b68ca37dab36eb3ed2e3c8a96945 (commit)
via aa234c0a11bb031d2c988cc0841e758f0c83f3ca (commit)
from 32480b62624169414f93d2e71b0490099e606605 (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=d2f776a4a362df5e93fc9a027a0f40b97fe5240b
commit d2f776a4a362df5e93fc9a027a0f40b97fe5240b
Author: spiff <[email protected]>
Date: Wed Jun 27 09:22:31 2012 +0200
[plugin.video.pbs] updated to version 2.0.1
diff --git a/plugin.video.pbs/addon.xml b/plugin.video.pbs/addon.xml
index 10b3dcf..f60f1ce 100644
--- a/plugin.video.pbs/addon.xml
+++ b/plugin.video.pbs/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.pbs"
name="PBS"
- version="2.0.0"
+ version="2.0.1"
provider-name="stacked">
<requires>
<import addon="xbmc.python" version="2.0"/>
@@ -15,6 +15,7 @@
<summary>PBS: Discover award-winning programming â right at your
fingertips.</summary>
<description>Watch award-winning national programming and locally produced
shows. Catch up on the episodes you may have missed and watch your favorite,
full-length shows free and on-demand.</description>
<platform>all</platform>
- <disclaimer>Some videos may not play. Please record any videos not
playing, save the xbmc debug log, and email [email protected].</disclaimer>
+ <language>en</language>
+ <disclaimer>Please report any issues with this addon to
[email protected]</disclaimer>
</extension>
</addon>
diff --git a/plugin.video.pbs/changelog.txt b/plugin.video.pbs/changelog.txt
index b193fd5..f07dde8 100644
--- a/plugin.video.pbs/changelog.txt
+++ b/plugin.video.pbs/changelog.txt
@@ -1,3 +1,11 @@
+[B]Version 2.0.1[/B]
+
+- Added more programs including PBS KIDS
+- Fixed errors when playing videos
+- Replaced icons and added fanart
+- Added an option to allow other addons to play PBS videos
+ plugin://plugin.video.pbs?play=<video_id>
+
[B]Version 2.0.0[/B]
- Version bump for eden, 1.0.5 to 2.0.0
diff --git a/plugin.video.pbs/default.py b/plugin.video.pbs/default.py
index fc0ec9b..5b4c50a 100644
--- a/plugin.video.pbs/default.py
+++ b/plugin.video.pbs/default.py
@@ -5,14 +5,15 @@ from urllib2 import Request, urlopen, URLError, HTTPError
__plugin__ = "PBS"
__author__ = 'stacked <[email protected]>'
__url__ = 'http://code.google.com/p/plugin/'
-__date__ = '11-28-2011'
-__version__ = '2.0.0'
+__date__ = '06-26-2012'
+__version__ = '2.0.1'
__settings__ = xbmcaddon.Addon( id = 'plugin.video.pbs' )
programs_thumb = os.path.join( __settings__.getAddonInfo( 'path' ),
'resources', 'media', 'programs.png' )
topics_thumb = os.path.join( __settings__.getAddonInfo( 'path' ), 'resources',
'media', 'topics.png' )
search_thumb = os.path.join( __settings__.getAddonInfo( 'path' ), 'resources',
'media', 'search.png' )
next_thumb = os.path.join( __settings__.getAddonInfo( 'path' ), 'resources',
'media', 'next.png' )
+fanart = os.path.join( __settings__.getAddonInfo( 'path' ), 'fanart.jpg' )
cove = coveapi.connect(base64.b64decode(__settings__.getLocalizedString( 30010
)),
base64.b64decode(__settings__.getLocalizedString( 30011
)))
@@ -44,7 +45,9 @@ def open_url( url ):
return "data"
def clean( string ):
- list = [( '&', '&' ), ( '"', '"' ), ( ''', '\'' ), (
'\n','' ), ( '\r', ''), ( '\t', ''), ( '</p>', '' ), ( '<br />', ' ' ), (
'<b>', '' ), ( '</b>', '' ), ( '<p>', '' ), ( '<div>', '' ), ( '</div>', '' )]
+ list = [( '&', '&' ), ( '"', '"' ), ( ''', '\'' ), (
'\n','' ), ( '\r', ''), ( '\t', ''), ( '</p>', '' ), ( '<br />', ' ' ),
+ ( '<br/>', ' ' ), ( '<b>', '' ), ( '</b>', '' ), (
'<p>', '' ), ( '<div>', '' ), ( '</div>', '' ), ( '<strong>', ' ' ),
+ ( '<\/strong>', ' ' ), ( '</strong>', ' ' ), (
'…', '...' ), ( 'ñ', 'n' )]
for search, replace in list:
string = string.replace( search, replace )
return string
@@ -57,22 +60,35 @@ def build_main_directory():
]
for name, thumbnailImage, mode in main:
listitem = xbmcgui.ListItem( label = name, iconImage =
"DefaultVideo.png", thumbnailImage = thumbnailImage )
+ listitem.setProperty('fanart_image',fanart)
u = sys.argv[0] + "?mode=" + mode
ok = xbmcplugin.addDirectoryItem( handle = int( sys.argv[1] ),
url = u, listitem = listitem, isFolder = True )
xbmcplugin.addSortMethod( handle = int(sys.argv[1]), sortMethod =
xbmcplugin.SORT_METHOD_NONE )
xbmcplugin.endOfDirectory( int( sys.argv[1] ) )
-def build_programs_directory():
- data =
cove.programs.filter(fields='associated_images,mediafiles,categories',filter_categories__namespace__name='COVE
Taxonomy',order_by='title')['results']
+def build_programs_directory( name, page ):
+ start = str( 200 * page )
+ #data =
cove.programs.filter(fields='associated_images,mediafiles,categories',filter_categories__namespace__name='COVE
Taxonomy',order_by='title',limit_start=start)['results']
+ if name:
+ data =
cove.programs.filter(fields='associated_images,mediafiles',filter_producer__name='PBS',order_by='title',limit_start=start,filter_title=name)['results']
+ else:
+ data =
cove.programs.filter(fields='associated_images,mediafiles',filter_producer__name='PBS',order_by='title',limit_start=start)['results']
for results in data:
- if len(results['associated_images']) >= 2:
- thumb = results['associated_images'][1]['url']
- else:
- thumb = programs_thumb
- program_id = re.compile( '/cove/v1/programs/(.*?)/' ).findall(
results['resource_uri'] )[0]
- listitem = xbmcgui.ListItem( label = results['title'],
iconImage = thumb, thumbnailImage = thumb )
- listitem.setInfo( type="Video", infoLabels={ "Title":
results['title'], "Plot": results['long_description'] } )
- u = sys.argv[0] + '?mode=0&name=' + urllib.quote_plus(
results['title'] ) + '&program_id=' + urllib.quote_plus( program_id )
+ if len(results['nola_root'].strip()) != 0:
+ if len(results['associated_images']) >= 2:
+ thumb = results['associated_images'][1]['url']
+ else:
+ thumb = programs_thumb
+ program_id = re.compile( '/cove/v1/programs/(.*?)/'
).findall( results['resource_uri'] )[0]
+ listitem = xbmcgui.ListItem( label = results['title'],
iconImage = thumb, thumbnailImage = thumb )
+ listitem.setProperty('fanart_image',fanart)
+ listitem.setInfo( type="Video", infoLabels={ "Title":
results['title'].encode('utf-8'), "Plot": clean(results['long_description']) } )
+ u = sys.argv[0] + '?mode=0&name=' + urllib.quote_plus(
results['title'].encode('utf-8') ) + '&program_id=' + urllib.quote_plus(
program_id )
+ ok = xbmcplugin.addDirectoryItem( handle = int(
sys.argv[1] ), url = u, listitem = listitem, isFolder = True )
+ if ( len(data) ) == 200:
+ listitem = xbmcgui.ListItem( label = '[Next Page (' + str( int(
page ) + 2 ) + ')]' , iconImage = next_thumb, thumbnailImage = next_thumb )
+ listitem.setProperty('fanart_image',fanart)
+ u = sys.argv[0] + '?mode=1&page=' + str( int( page ) + 1 )
ok = xbmcplugin.addDirectoryItem( handle = int( sys.argv[1] ),
url = u, listitem = listitem, isFolder = True )
xbmcplugin.addSortMethod( handle = int(sys.argv[1]), sortMethod =
xbmcplugin.SORT_METHOD_NONE )
xbmcplugin.endOfDirectory( int( sys.argv[1] ) )
@@ -83,6 +99,7 @@ def build_topics_directory():
for results in data:
if item != results['name']:
listitem = xbmcgui.ListItem( label = results['name'],
iconImage = topics_thumb, thumbnailImage = topics_thumb )
+ listitem.setProperty('fanart_image',fanart)
u = sys.argv[0] + "?mode=0&name=" + urllib.quote_plus(
results['name'] ) + "&topic=" + urllib.quote_plus( 'True' )
ok = xbmcplugin.addDirectoryItem( handle = int(
sys.argv[1] ), url = u, listitem = listitem, isFolder = True )
item = results['name']
@@ -114,12 +131,18 @@ def build_search_directory( url, page ):
item_count = 0
for title, id, thumb in title_id_thumb:
listitem = xbmcgui.ListItem( label = clean ( title ), iconImage
= thumb, thumbnailImage = thumb )
+ listitem.setProperty('fanart_image',fanart)
listitem.setInfo( type="Video", infoLabels={ "Title": clean(
title ) , "Director": "PBS", "Studio": clean( program[item_count] ), "Plot":
clean( plot[item_count][0] ) } )
u = sys.argv[0] + '?mode=0&name=' + urllib.quote_plus( clean(
program[item_count] ) ) + '&program_id=' + urllib.quote_plus( id.rsplit('/')[4]
) + "&topic=" + urllib.quote_plus( 'False' )
ok = xbmcplugin.addDirectoryItem( handle = int( sys.argv[1] ),
url = u, listitem = listitem, isFolder = False )
item_count += 1
+ xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_STUDIO )
+ xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_LABEL )
+ if page == 0:
+ build_programs_directory( save_url.replace( '%20', ' ' ), 0 )
if ( int( video_count[0] ) - ( 10 * int( page ) ) ) > 10:
listitem = xbmcgui.ListItem( label = '[Next Page (' + str( int(
page ) + 2 ) + ')]' , iconImage = next_thumb, thumbnailImage = next_thumb )
+ listitem.setProperty('fanart_image',fanart)
u = sys.argv[0] + "?mode=6" + "&page=" + str( int( page ) + 1 )
+ "&url=" + urllib.quote_plus( save_url )
ok = xbmcplugin.addDirectoryItem( handle = int( sys.argv[1] ),
url = u, listitem = listitem, isFolder = True )
xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_STUDIO )
@@ -128,6 +151,8 @@ def build_search_directory( url, page ):
def find_videos( name, program_id, topic, page ):
start = str( 200 * page )
+ url = 'None'
+ backup_url = None
if topic == 'True':
program_id = 'program_id'
data =
cove.videos.filter(fields='associated_images,mediafiles,categories',filter_categories__name=name,filter_categories__namespace__name='COVE
Taxonomy',order_by='-airdate',filter_type='Episode',filter_producer__name='PBS',filter_availability_status='Available',limit_start=start)['results']
@@ -141,31 +166,49 @@ def find_videos( name, program_id, topic, page ):
else:
topic = 'topic'
data =
cove.videos.filter(fields='associated_images,mediafiles',filter_program=program_id,order_by='-airdate',filter_availability_status='Available',limit_start=start,filter_type='Episode')['results']
+ if len(data) <= 1:
+ data =
cove.videos.filter(fields='associated_images,mediafiles',filter_program=program_id,order_by='-airdate',filter_availability_status='Available',limit_start=start)['results']
for results in data:
+ playable = None
if results['associated_images'] != None and
len(results['associated_images']) > 0:
thumb = results['associated_images'][0]['url']
else:
thumb = 'None'
- if results['mediafiles'][0]['video_data_url'] != None:
- url = results['mediafiles'][0]['video_data_url']
- mode = '5'
- if results['mediafiles'][0]['video_download_url'] !=
None:
- backup_url =
results['mediafiles'][0]['video_download_url']
+ count = 0
+ for videos in results['mediafiles']:
+ if
results['mediafiles'][count]['video_encoding']['mime_type'] == 'video/mp4' or
results['mediafiles'][count]['video_encoding']['mime_type'] == 'video/FLV':
+ playable = count
+ count += 1
+ if playable != None:
+ if results['mediafiles'][playable]['video_data_url'] !=
None:
+ url =
results['mediafiles'][playable]['video_data_url']
+ mode = '5'
+ if
results['mediafiles'][playable]['video_download_url'] != None:
+ backup_url =
results['mediafiles'][playable]['video_download_url']
+ else:
+ backup_url = 'None'
+ elif results['mediafiles'][playable]['video_data_url']
== None and results['mediafiles'][playable]['video_download_url'] == None:
+ url = 'None'
+ mode = '5'
else:
- backup_url = 'None'
- else:
- url = results['mediafiles'][0]['video_download_url']
- mode = '7'
- if topic == 'False':
- play_video( results['title'], url, thumb,
results['long_description'].encode('utf-8'), name, None, backup_url )
- return
- if results['mediafiles'][0]['length_mseconds'] != 0:
- listitem = xbmcgui.ListItem( label =
results['title'].encode('utf-8'), iconImage = thumb, thumbnailImage = thumb )
- listitem.setInfo( type="Video", infoLabels={ "Title":
results['title'].encode('utf-8'), "Director": "PBS", "Studio": name, "Plot":
results['long_description'].encode('utf-8'), "Duration":
str(datetime.timedelta(milliseconds=int(results['mediafiles'][0]['length_mseconds']))),
"Aired": results['airdate'].rsplit(' ')[0] } )
- u = sys.argv[0] + "?mode=" + mode + "&name=" +
urllib.quote_plus( results['title'].encode('utf-8') ) + "&url=" +
urllib.quote_plus( url ) + "&thumb=" + urllib.quote_plus( thumb ) + "&plot=" +
urllib.quote_plus( results['long_description'].encode('utf-8') ) + "&studio=" +
urllib.quote_plus( name ) + "&backup_url=" + urllib.quote_plus( backup_url )
- ok = xbmcplugin.addDirectoryItem( handle = int(
sys.argv[1] ), url = u, listitem = listitem, isFolder = False )
+ url =
results['mediafiles'][playable]['video_download_url']
+ mode = '7'
+ if results['mediafiles'][playable]['length_mseconds']
!= 0:
+ listitem = xbmcgui.ListItem( label =
results['title'].encode('utf-8'), iconImage = thumb, thumbnailImage = thumb )
+ listitem.setProperty('fanart_image',fanart)
+ listitem.setInfo( type="Video", infoLabels={
"Title": results['title'].encode('utf-8'), "Director": "PBS", "Studio": name,
"Plot": results['long_description'].encode('utf-8'), "Duration":
str(datetime.timedelta(milliseconds=int(results['mediafiles'][0]['length_mseconds']))),
"Aired": results['airdate'].rsplit(' ')[0] } )
+ u = sys.argv[0] + "?mode=" + mode + "&name=" +
urllib.quote_plus( results['title'].encode('utf-8') ) + "&url=" +
urllib.quote_plus( url ) + "&thumb=" + urllib.quote_plus( thumb ) + "&plot=" +
urllib.quote_plus( results['long_description'].encode('utf-8') ) + "&studio=" +
urllib.quote_plus( name ) + "&backup_url=" + urllib.quote_plus( backup_url )
+ ok = xbmcplugin.addDirectoryItem( handle = int(
sys.argv[1] ), url = u, listitem = listitem, isFolder = False )
+ 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
+ if len(data) == 0:
+ dialog = xbmcgui.Dialog()
+ ok = dialog.ok( __plugin__ , __settings__.getLocalizedString(
30012 ) + ' ' + name + '.' )
+ return
if ( len(data) ) == 200:
listitem = xbmcgui.ListItem( label = '[Next Page (' + str( int(
page ) + 2 ) + ')]' , iconImage = next_thumb, thumbnailImage = next_thumb )
+ listitem.setProperty('fanart_image',fanart)
u = sys.argv[0] + '?mode=0&name=' + urllib.quote_plus( name ) +
'&program_id=' + urllib.quote_plus( program_id ) + "&topic=" +
urllib.quote_plus( topic ) + "&page=" + str( int( page ) + 1 )
ok = xbmcplugin.addDirectoryItem( handle = int( sys.argv[1] ),
url = u, listitem = listitem, isFolder = True )
xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ),
sortMethod=xbmcplugin.SORT_METHOD_UNSORTED )
@@ -174,6 +217,10 @@ def find_videos( name, program_id, topic, page ):
xbmcplugin.endOfDirectory( int( sys.argv[1] ) )
def play_video( name, url, thumb, plot, studio, starttime, backup_url ):
+ if url == 'None':
+ dialog = xbmcgui.Dialog()
+ ok = dialog.ok( __plugin__ , __settings__.getLocalizedString(
30008 ) )
+ return
data = open_url( url + '&format=SMIL' )
print 'PBS - ' + studio + ' - ' + name
try:
@@ -191,14 +238,20 @@ def play_video( name, url, thumb, plot, studio,
starttime, backup_url ):
dialog = xbmcgui.Dialog()
ok = dialog.ok( __plugin__ ,
__settings__.getLocalizedString( 30008 ) )
return
- src = re.compile( '<ref src="(.+?)" title="(.+?)" author' ).findall(
data )[0][0]
+ src = re.compile( '<ref src="(.+?)" title="(.+?)" (author)?' ).findall(
data )[0][0]
+ if src.find('m3u8') != -1:
+ dialog = xbmcgui.Dialog()
+ ok = dialog.ok( __plugin__ , __settings__.getLocalizedString(
30008 ) )
+ return
playpath = None
if base == 'http://ad.doubleclick.net/adx/':
src_data = src.split( "<break>" )
rtmp_url = src_data[0] + "mp4:" + src_data[1].replace('mp4:','')
- elif base == 'http://www-tc.pbs.org/cove-media/':
+ elif base != 'http://ad.doubleclick.net/adx/' and base.find('http://')
!= -1:
play_mp4( name, base+src.replace('mp4:',''), thumb, plot,
studio, starttime )
return
+ elif src.find('.flv') != -1 or src.find('.mp4') != -1:
+ rtmp_url = base + src
else:
rtmp_url = base
playpath = "mp4:" + src.replace('mp4:','')
@@ -302,11 +355,14 @@ except:
if mode == None:
print __plugin__ + ' ' + __version__ + ' ' + __date__
- build_main_directory()
+ if sys.argv[2].startswith('?play='):
+ find_videos( 'Video', sys.argv[2][6:].strip(), 'False', page )
+ else:
+ build_main_directory()
elif mode == 0:
find_videos( name, program_id, topic, page )
elif mode == 1:
- build_programs_directory()
+ build_programs_directory( name, page )
elif mode == 2:
build_topics_directory()
elif mode == 4:
diff --git a/plugin.video.pbs/icon.png b/plugin.video.pbs/icon.png
index 394aee3..fa8cc7a 100644
Binary files a/plugin.video.pbs/icon.png and b/plugin.video.pbs/icon.png differ
diff --git a/plugin.video.pbs/resources/language/English/strings.xml
b/plugin.video.pbs/resources/language/English/strings.xml
index 3881eda..08c02b8 100644
--- a/plugin.video.pbs/resources/language/English/strings.xml
+++ b/plugin.video.pbs/resources/language/English/strings.xml
@@ -12,4 +12,5 @@
<string id="30009">This video is only available on the PBS
website:</string>
<string
id="30010">eGJtYy01ZGYyNjgwMC0zYTUzLTRlZjQtODQxNy1jODJkYTM2ZTVhYzQ=</string>
<string
id="30011">ZjNlNzM0NzEtZWNkNC00MmI2LWJmNGUtZmJkNGQ4MzFmYjQx</string>
+ <string id="30012">There are currently no videos available for</string>
</strings>
diff --git a/plugin.video.pbs/resources/media/next.png
b/plugin.video.pbs/resources/media/next.png
index 6229c76..ec199f0 100644
Binary files a/plugin.video.pbs/resources/media/next.png and
b/plugin.video.pbs/resources/media/next.png differ
diff --git a/plugin.video.pbs/resources/media/programs.png
b/plugin.video.pbs/resources/media/programs.png
index c38e160..ffad382 100644
Binary files a/plugin.video.pbs/resources/media/programs.png and
b/plugin.video.pbs/resources/media/programs.png differ
diff --git a/plugin.video.pbs/resources/media/search.png
b/plugin.video.pbs/resources/media/search.png
index e6e843b..db107b6 100644
Binary files a/plugin.video.pbs/resources/media/search.png and
b/plugin.video.pbs/resources/media/search.png differ
diff --git a/plugin.video.pbs/resources/media/topics.png
b/plugin.video.pbs/resources/media/topics.png
index 973ab5c..17bc90b 100644
Binary files a/plugin.video.pbs/resources/media/topics.png and
b/plugin.video.pbs/resources/media/topics.png differ
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=ac51c8b683c0b68ca37dab36eb3ed2e3c8a96945
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=aa234c0a11bb031d2c988cc0841e758f0c83f3ca
-----------------------------------------------------------------------
Summary of changes:
.../LICENSE.txt | 0
plugin.program.akinator_com/addon.xml | 21 ++++
plugin.program.akinator_com/changelog.txt | 2 +
plugin.program.akinator_com/default.py | 97 +++++++++++++++
plugin.program.akinator_com/icon.png | Bin 0 -> 103603 bytes
.../resources/language/English/strings.xml | 12 ++
.../resources/language/French/strings.xml | 12 ++
.../resources/language/German/strings.xml | 12 ++
.../resources/language/Italian/strings.xml | 12 ++
.../resources/language/Russian/strings.xml | 12 ++
.../resources/language/Spanish/strings.xml | 12 ++
plugin.program.akinator_com/resources/settings.xml | 5 +
.../LICENSE.txt | 0
.../addon.xml | 9 +-
plugin.video.gronkh_de/changelog.txt | 1 +
plugin.video.gronkh_de/default.py | 121 +++++++++++++++++++
plugin.video.gronkh_de/icon.png | Bin 0 -> 14116 bytes
.../resources/language/English/strings.xml | 6 +
.../resources/language/German/strings.xml | 6 +
plugin.video.pbs/addon.xml | 5 +-
plugin.video.pbs/changelog.txt | 8 ++
plugin.video.pbs/default.py | 124 ++++++++++++++------
plugin.video.pbs/fanart.jpg | Bin 0 -> 575418 bytes
plugin.video.pbs/icon.png | Bin 30987 -> 45140 bytes
.../resources/language/English/strings.xml | 1 +
plugin.video.pbs/resources/media/next.png | Bin 6290 -> 13505 bytes
plugin.video.pbs/resources/media/programs.png | Bin 57390 -> 10616 bytes
plugin.video.pbs/resources/media/search.png | Bin 26723 -> 25666 bytes
plugin.video.pbs/resources/media/topics.png | Bin 58402 -> 22865 bytes
29 files changed, 437 insertions(+), 41 deletions(-)
copy {plugin.audio.abradio.cz => plugin.program.akinator_com}/LICENSE.txt
(100%)
create mode 100644 plugin.program.akinator_com/addon.xml
create mode 100644 plugin.program.akinator_com/changelog.txt
create mode 100644 plugin.program.akinator_com/default.py
create mode 100644 plugin.program.akinator_com/icon.png
create mode 100644
plugin.program.akinator_com/resources/language/English/strings.xml
create mode 100644
plugin.program.akinator_com/resources/language/French/strings.xml
create mode 100644
plugin.program.akinator_com/resources/language/German/strings.xml
create mode 100644
plugin.program.akinator_com/resources/language/Italian/strings.xml
create mode 100644
plugin.program.akinator_com/resources/language/Russian/strings.xml
create mode 100644
plugin.program.akinator_com/resources/language/Spanish/strings.xml
create mode 100644 plugin.program.akinator_com/resources/settings.xml
copy {plugin.audio.einslive_de => plugin.video.gronkh_de}/LICENSE.txt (100%)
copy {plugin.video.drdish-tv_de => plugin.video.gronkh_de}/addon.xml (53%)
create mode 100644 plugin.video.gronkh_de/changelog.txt
create mode 100644 plugin.video.gronkh_de/default.py
create mode 100644 plugin.video.gronkh_de/icon.png
create mode 100644
plugin.video.gronkh_de/resources/language/English/strings.xml
create mode 100644 plugin.video.gronkh_de/resources/language/German/strings.xml
create mode 100644 plugin.video.pbs/fanart.jpg
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons