The branch, frodo has been updated
       via  6e87c50d00e225ec5a8a3659f853e21140cd7876 (commit)
       via  5b27e890532bd6aa1b21be65382669f924212ab3 (commit)
       via  b2495bbfb029fb88e3d4a2919f7a910f428399e9 (commit)
      from  4d8273abb9611e591f6e362a69a93d5b7c3bd7a2 (commit)

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


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

commit 5b27e890532bd6aa1b21be65382669f924212ab3
Author: sphere <[email protected]>
Date:   Thu Jun 5 10:16:19 2014 +0200

    [plugin.video.noco] updated to version 1.0.7

diff --git a/plugin.video.noco/addon.py b/plugin.video.noco/addon.py
old mode 100644
new mode 100755
index 80e2618..3e345ad
--- a/plugin.video.noco/addon.py
+++ b/plugin.video.noco/addon.py
@@ -37,6 +37,8 @@ def index():
             'icon': partner['icon_1024x576'],
             'path': plugin.url_for('indexMenu', partner=partner['partner_key'])
             } for partner in api.get_partners(token['token'])]
+        partners.append({'label': plugin.get_string('30067'), 'path': 
plugin.url_for('indexPlaylists')})
+        partners.append({'label': plugin.get_string('30063'), 'path': 
plugin.url_for('search')})
         return plugin.finish(partners)
 
 
@@ -45,8 +47,12 @@ def indexMenu(partner):
     index = [
         {'label': plugin.get_string('30060'),
         'path': plugin.url_for('indexLast', partner=partner)},
+        {'label': plugin.get_string('30066'),
+        'path': plugin.url_for('indexAll', partner=partner)},
         {'label': plugin.get_string('30061'), 
         'path': plugin.url_for('indexPartner', partner=partner)},
+        {'label': plugin.get_string('30065'), 
+        'path': plugin.url_for('indexTypes', partner=partner)},
         {'label': plugin.get_string('30062'),
         'path': plugin.url_for('indexPopular', partner=partner)},
         ]
@@ -58,7 +64,7 @@ def indexLast(partner):
     videos = []
     num_last = str(plugin.get_setting('show_last'))
     for video in api.get_last(partner, token['token'], num_last):
-        videos.append(getVideoInfos(video, partner, 
video['family_TT'].encode('utf-8')))
+        videos.append(getVideoInfos(video))
     return plugin.finish(videos)
 
 @plugin.route('/partners/<partner>/popular')
@@ -67,9 +73,20 @@ def indexPopular(partner):
     videos = []
     num_last = str(plugin.get_setting('show_last'))
     for video in api.get_popular(partner, token['token'], num_last):
-        videos.append(getVideoInfos(video, partner, 
video['family_TT'].encode('utf-8')))
+        videos.append(getVideoInfos(video))
     return plugin.finish(videos)
 
[email protected]('/partners/<partner>/all')
+def indexAll(partner):
+    token = getToken()
+    res = []
+    shows = [{
+        'icon': fam['icon_1024x576'],
+        'label': fam['family_TT'],
+        'path': plugin.url_for('indexFamily', partner=partner, 
theme=fam['theme_key'], family=fam['family_key'])
+        } for fam in api.get_all(partner, token['token'])]
+    return plugin.finish(shows)
+
 @plugin.route('/partners/<partner>/themes')
 def indexPartner(partner):
     token = getToken()
@@ -81,13 +98,47 @@ def indexPartner(partner):
         } for theme in api.get_themes(partner, token['token'])]
     return plugin.finish(themes)
 
[email protected]('/partners/<partner>/search')
-def search(partner):
[email protected]('/partners/<partner>/types')
+def indexTypes(partner):
+    token = getToken()
+    res = []
+    alltypes = [{
+        'icon': ty['icon'],
+        'label': ty['type_name'],
+        'path': plugin.url_for('indexByType', partner=partner, 
typename=ty['type_key'])
+        } for ty in api.get_types(partner, token['token'])]
+    return plugin.finish(alltypes)
+
[email protected]('/search')
+def search():
     token = getToken()
     videos = []
     query = plugin.keyboard(heading=plugin.get_string('30064'))
-    for video in api.search(partner, query, token['token']):
-        videos.append(getVideoInfos(video, partner, 
video['family_TT'].encode('utf-8')))
+    try:
+        for video in api.search(query, token['token']):
+            videos.append(getVideoInfos(video))
+        return plugin.finish(videos)
+    except:
+        error=plugin.get_string('30051').encode('utf-8')
+        plugin.notify(msg=error, delay=5000)
+
+
[email protected]('/playlists')
+def indexPlaylists():
+    token = getToken()
+    playlists = [{
+        'label': playlist['playlist_title'],
+        'path': plugin.url_for('indexPlaylist', playlist=playlist['playlist'])
+        } for playlist in api.get_playlists(token['token'])]
+    return plugin.finish(playlists)
+
[email protected]('/playlists/<playlist>')
+def indexPlaylist(playlist):
+    token = getToken()
+    videos = []
+    for video in playlist.split(','):
+        v = api.get_videodata(token['token'], video)
+        videos.append(getVideoInfos(v))
     return plugin.finish(videos)
 
 @plugin.route('/partners/<partner>/themes/<theme>')
@@ -100,13 +151,38 @@ def indexThemes(partner, theme):
         } for family in api.get_families(partner, theme, token['token'])]
     return plugin.finish(families)
 
[email protected]('/partners/<partner>/types/<typename>')
+def indexByType(partner, typename):
+    token = getToken()
+    families = [{
+        'icon': family['icon_1024x576'],
+        'label': family['family_OT'],
+        'path': plugin.url_for('indexFamType', partner=partner, 
typename=typename, family=family['family_key'])
+        } for family in api.get_fambytype(partner, typename, token['token'])]
+    return plugin.finish(families)
+
 @plugin.route('/partners/<partner>/themes/<theme>/families/<family>')
 def indexFamily(partner, theme, family):
     token = getToken()
     videos = []
     num_video = str(plugin.get_setting('show_n'))
     for video in api.get_videos(partner, family, token['token'], num_video):
-        videos.append(getVideoInfos(video, partner, family))
+        videos.append(getVideoInfos(video))
+    if plugin.get_setting('random') == "true":
+        rand = { 'label': plugin.get_string('30040'), 'path': 
plugin.url_for('playVideo', partner=partner, family=family, video='RANDOM'), 
'is_playable': True}
+        videos.insert(0, rand)
+    return plugin.finish(videos)
+
[email protected]('/partners/<partner>/types/<typename>/families/<family>')
+def indexFamType(partner, typename, family):
+    token = getToken()
+    videos = []
+    num_video = str(plugin.get_setting('show_n'))
+    for video in api.get_videos(partner, family, token['token'], num_video):
+        videos.append(getVideoInfos(video))
+    if plugin.get_setting('random') == "true":
+        rand = { 'label': plugin.get_string('30040'), 'path': 
plugin.url_for('playVideo', partner=partner, family=family, video='RANDOM'), 
'is_playable': True}
+        videos.insert(0, rand)
     return plugin.finish(videos)
 
 @plugin.route('/partners/<partner>/families/<family>/<video>')
@@ -123,9 +199,16 @@ def playVideo(partner, family, video):
         quality = 'HD_720' 
     if quality == "4": 
         quality = 'HD_1080' 
-    plugin.set_resolved_url(api.get_video(video, token['token'], quality))
+    if video == 'RANDOM':
+        video = api.get_random(partner, family, token['token'], quality)
+        if video == None:
+            plugin.notify(msg=plugin.get_string('30052').encode('utf-8'), 
delay=10000)
+        else:
+            plugin.set_resolved_url(api.get_video(video, token['token'], 
quality))
+    else: 
+        plugin.set_resolved_url(api.get_video(video, token['token'], quality))
 
-def getVideoInfos(video, partner, family):
+def getVideoInfos(video):
     if video['show_TT'] == None:
         label = video['family_TT'].encode('utf-8')+' - 
'+str(video['episode_number'])
     else:
@@ -174,7 +257,7 @@ def getVideoInfos(video, partner, family):
         'info': infos,
         'properties': properties,
         'stream_info': stream_infos,
-        'path': plugin.url_for('playVideo', partner=partner, family=family, 
video=video['id_show']),
+        'path': plugin.url_for('playVideo', partner=video['partner_key'], 
family=video['family_TT'].encode('utf-8'), video=video['id_show']),
         'is_playable': True
         }
     return v
diff --git a/plugin.video.noco/addon.xml b/plugin.video.noco/addon.xml
index 6d65885..915b9a5 100644
--- a/plugin.video.noco/addon.xml
+++ b/plugin.video.noco/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.video.noco" name="noco" version="1.0.1" 
provider-name="Julien Gormotte (gormux)">
+<addon id="plugin.video.noco" name="noco" version="1.0.7" 
provider-name="Julien Gormotte (gormux)">
   <requires>
     <import addon="xbmc.python" version="2.1.0"/>
     <import addon="script.module.xbmcswift2" version="2.4.0"/>
diff --git a/plugin.video.noco/changelog.txt b/plugin.video.noco/changelog.txt
index 576a8b9..1c3052f 100644
--- a/plugin.video.noco/changelog.txt
+++ b/plugin.video.noco/changelog.txt
@@ -1,2 +1,23 @@
 v1.0.0
  - Initial commit
+
+v1.0.1
+ - Bug corrections
+
+v1.0.2
+ - Added submenu to list by video type
+
+v1.0.3
+ - Added submenu to list all shows in one menu
+
+v1.0.4
+ - Added option to hide already seen videos
+
+v1.0.5
+ - Added submenu to access playlists
+
+v1.0.6
+ - Added search menu
+
+v1.0.7
+ - Added an option to show a random element in shows directories
diff --git a/plugin.video.noco/icon.png b/plugin.video.noco/icon.png
index d0ef4c6..f9fd157 100644
Binary files a/plugin.video.noco/icon.png and b/plugin.video.noco/icon.png 
differ
diff --git a/plugin.video.noco/resources/language/English/strings.xml 
b/plugin.video.noco/resources/language/English/strings.xml
index e754aeb..a653df4 100644
--- a/plugin.video.noco/resources/language/English/strings.xml
+++ b/plugin.video.noco/resources/language/English/strings.xml
@@ -17,15 +17,27 @@
     <string id="30024">Show autopromos</string>
     <string id="30025">Show announces</string>
     <string id="30026">Hide forbidden videos from age</string>
+    <string id="30027">Preferred language</string>
+    <string id="30028">Show subtitles when available</string>
+    <string id="30029">Preferred language for subtitles</string>
+    <string id="30030">Show a random element in directories</string>
+
+    <!-- Various strings -->
+    <string id="30040">Random</string>
 
     <!-- Messages -->
     <string id="30050">You MUST provide a user and a password !</string>
+    <string id="30051">The search did not return any results</string>
+    <string id="30052">Did not found any not played element</string>
 
     <!-- Categories names -->
     <string id="30060">Last videos</string>
     <string id="30061">Themes</string>
+    <string id="30065">Types</string>
     <string id="30062">Most popular</string>
     <string id="30063">Search</string>
     <string id="30064">Enter your search terms</string>
+    <string id="30066">All shows</string>
+    <string id="30067">Playlists</string>
 
 </strings>
diff --git a/plugin.video.noco/resources/language/French/strings.xml 
b/plugin.video.noco/resources/language/French/strings.xml
index 5387726..e028aa0 100644
--- a/plugin.video.noco/resources/language/French/strings.xml
+++ b/plugin.video.noco/resources/language/French/strings.xml
@@ -17,15 +17,27 @@
     <string id="30024">Afficher les autopromos</string>
     <string id="30025">Afficher les annonces</string>
     <string id="30026">Cacher les videos interdites à partir de</string>
+    <string id="30027">Langue préférée</string>
+    <string id="30028">Afficher les sous titres si disponibles</string>
+    <string id="30029">Langue préférée pour les sous titres</string>
+    <string id="30030">Afficher un élément aléatoire dans les 
dossiers</string>
+
+    <!-- Various strings -->
+    <string id="30040">Aléatoire</string>
 
     <!-- Messages -->
     <string id="30050">Vous DEVEZ fournir un utilisateur et un mot de passe 
!</string>
+    <string id="30051">La recherche n'a donné aucun résultat</string>
+    <string id="30052">Aucun élément non lu trouvé !</string>
 
     <!-- Categories names -->
     <string id="30060">Dernières vidéos</string>
-    <string id="30061">Thèmes</string>
+    <string id="30061">Emissions par thème</string>
+    <string id="30065">Emissions par type</string>
     <string id="30062">Les plus populaires</string>
     <string id="30063">Recherche</string>
     <string id="30064">Entrez votre recherche</string>
+    <string id="30066">Toutes les émissions</string>
+    <string id="30067">Listes de lecture</string>
     
 </strings>
diff --git a/plugin.video.noco/resources/lib/api.py 
b/plugin.video.noco/resources/lib/api.py
index 8fb2471..cbe6767 100644
--- a/plugin.video.noco/resources/lib/api.py
+++ b/plugin.video.noco/resources/lib/api.py
@@ -26,11 +26,15 @@ from base64 import b64encode
 from urllib import urlencode
 from urllib2 import urlopen, Request, HTTPError, URLError, build_opener
 from urlparse import urlparse,parse_qs
+from random import randint
+from xbmcswift2 import Plugin
 
 mainURL = 'https://api.noco.tv/1.1/'
 client_id = 'xbmc_gormux'
 client_secret = '5a613e170e1613e512e8434dddcdb413'
 
+plugin = Plugin()
+
 class nocoApi():
     def get_token(self, user, password):
         loginrequest = urlencode({'username': user,
@@ -68,20 +72,36 @@ class nocoApi():
         return partners
     def get_themes(self, partner, token):
         data = []
-        request = {'access_token': token, 'partner_key': partner}
+        request = {'access_token': token, 'partner_key': partner, 
'elements_per_page': '4000'}
         json_data = json.loads(requests.get(mainURL+'families', 
params=request).text)
         for element in json_data:
             if not any(d['theme_key'] == element['theme_key'] for d in data):
                 data.append({'theme_key': element['theme_key'], 'theme_name': 
element['theme_name'], 'icon': element['icon_1024x576']})
         return data
-    def search(self, partner, query, token):
+    def get_types(self, partner, token):
+        data = []
+        request = {'access_token': token, 'partner_key': partner, 
'elements_per_page': '4000'}
+        json_data = json.loads(requests.get(mainURL+'families', 
params=request).text)
+        for element in json_data:
+            if not any(d['type_key'] == element['type_key'] for d in data):
+                data.append({'type_key': element['type_key'], 'type_name': 
element['type_name'], 'icon': element['icon_1024x576']})
+        return data
+    def get_all(self, partner, token):
+        data = []
+        request = {'access_token': token, 'partner_key': partner, 
'elements_per_page': '4000'}
+        data = json.loads(requests.get(mainURL+'families', 
params=request).text)
+        return data
+    def search(self, query, token):
         data = []
-        request = {'access_token': token, 'partner_key': partner, 'query': 
query}
+        request = {'access_token': token, 'query': query}
         json_data = json.loads(requests.get(mainURL+'search/', 
params=request).text)
+        shows = []
         for element in json_data:
             if element['type'] == 'show':
-                request = {'access_token': token, 'partner_key': partner, 
'id_show': str(element['id'])}
-                
data.append(json.loads(requests.get(mainURL+'/shows/by_id/'+str(element['id']), 
params=request).text))
+                shows.append(str(element['id']))
+        search = '%2C'.join(shows)
+        request = {'access_token': token, 'id_show': search}
+        data = json.loads(requests.get(mainURL+'shows/by_id/'+search, 
params=request).text)
         return data
     def get_last(self, partner, token, num_video):
         request = {'access_token': token, 'partner_key': partner, 
'elements_per_page': num_video}
@@ -91,18 +111,61 @@ class nocoApi():
         request = {'access_token': token, 'partner_key': partner, 
'elements_per_page': num_video}
         data = json.loads(requests.get(mainURL+'shows/most_popular', 
params=request).text)
         return data
+    def get_fambytype(self, partner, typename, token):
+        request = {'access_token': token, 'partner_key': partner, 'type_key': 
typename, 'elements_per_page': '4000'}
+        data = json.loads(requests.get(mainURL+'families', 
params=request).text)
+        return data
     def get_families(self, partner, theme, token):
-        request = {'access_token': token, 'partner_key': partner, 'theme_key': 
theme}
+        request = {'access_token': token, 'partner_key': partner, 'theme_key': 
theme, 'elements_per_page': '4000'}
         data = json.loads(requests.get(mainURL+'families', 
params=request).text)
         return data
+    def get_playlists(self, token):
+        request = {'access_token': token}
+        playlists = []
+        data = json.loads(requests.get(mainURL+'users/queue_list', 
params=request).text)
+        for playlist in data:
+            playlists.append(playlist)
+        return playlists
+    def get_videodata(self, token, vid):
+        request = {'access_token': token, 'id_show': vid}
+        data = json.loads(requests.get(mainURL+'shows/by_id/'+vid, 
params=request).text)
+        return data[0]
     def get_videos(self, partner, family, token, num_video):
         request = {'access_token': token, 'partner_key': partner, 
'family_key': family, 'elements_per_page': num_video}
         data = json.loads(requests.get(mainURL+'shows', params=request).text)
-        return data
+        if plugin.get_setting('showseen') == 'true':
+            return data
+        else:
+            d = []
+            for e in data:
+                if e['mark_read'] == None:
+                    d.append(e)
+            return d
+    def get_random(self, partner, family, token, quality):
+        request = {'access_token': token, 'partner_key': partner, 
'family_key': family, 'elements_per_page': '4000'}
+        data = json.loads(requests.get(mainURL+'shows', params=request).text)
+        notseen = []
+        for e in data:
+            if e['mark_read'] == None:
+                notseen.append(e)
+        if len(notseen) > 0:
+            r = randint(0, len(notseen))
+            return str(notseen[r]['id_show'])
     def get_video(self, show, token, quality):
-        #data = self.__get_json(url=mainURL+'shows/'+show+'/qualities', 
items={'id_show': show, 'access_token': token})
-        request = {'access_token': token}
-        data = 
json.loads(requests.get(mainURL+'shows/'+show+'/video/'+quality+'/fr', 
params=request).text)
+        show_lang = ''
+        subs = None
+        request = {'access_token': token, 'id_show': show}
+        langs = json.loads(requests.get(mainURL+'shows/'+show+'/languages', 
params=request).text)
+        for lang in langs:
+            if plugin.get_setting('lang') == lang['audio_lang']:
+                show_lang = lang['audio_lang']
+                if lang['sub_lang'] != None:
+                    subs = lang['sub_lang']
+        if show_lang == '':
+            show_lang = langs[0]['audio_lang']
+            subs = langs[0]['sub_lang']
+        request = {'access_token': token, 'sub_lang': subs}
+        data = 
json.loads(requests.get(mainURL+'shows/'+show+'/video/'+quality+'/'+show_lang, 
params=request).text)
         return data['file']
     def __get_json(self, url, items=None):
         if items:
diff --git a/plugin.video.noco/resources/settings.xml 
b/plugin.video.noco/resources/settings.xml
index cd3fb52..435043a 100644
--- a/plugin.video.noco/resources/settings.xml
+++ b/plugin.video.noco/resources/settings.xml
@@ -10,8 +10,14 @@
     <category label="30006">
         <setting id="show_n" subsetting="true" type="slider" label="30009" 
default="100" range="10,10,1000" option="int"/>
         <setting id="show_last" subsetting="true" type="slider" label="30012" 
default="30" range="10,10,100" option="int"/>
-        <!-- <setting id="showseen" type="bool" label="30011" default="true"/> 
-->
+        <setting id="showseen" type="bool" label="30011" default="true"/>
         <setting id="quality" type="labelenum" label="30010" 
values="LQ|HQ|TV|HD_720|HD_1080" default="HD_720"/>
+        <setting id="lang" type="labelenum" label="30027" values="fr|ja" 
default="fr"/>
+        <setting id="random" type="bool" label="30030" default="false"/>
+        <!--
+        <setting id="subs" type="bool" label="30028" default="False"/>
+        <setting id="subs_lang" type="labelenum" label="30029" values="fr|ja" 
default="fr" enable="eq(-1,true)"/>
+        -->
     </category>
 
 </settings>

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

commit b2495bbfb029fb88e3d4a2919f7a910f428399e9
Author: sphere <[email protected]>
Date:   Thu Jun 5 09:58:03 2014 +0200

    [plugin.video.dmaxitalia] updated to version 1.0.6

diff --git a/plugin.video.dmaxitalia/addon.xml 
b/plugin.video.dmaxitalia/addon.xml
index c00bb68..49dd177 100644
--- a/plugin.video.dmaxitalia/addon.xml
+++ b/plugin.video.dmaxitalia/addon.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.video.dmaxitalia" name="DMAX Italia" version="1.0.5" 
provider-name="Goph">
+<addon id="plugin.video.dmaxitalia" name="DMAX Italia" version="1.0.6" 
provider-name="Goph">
   <requires>
        <import addon="xbmc.python" version="2.1.0"/>
        <import addon="xbmc.addon" version="12.0.0"/>
@@ -19,7 +19,7 @@
     <description lang="it">Visualizza i programmi e gli episodi completi dal 
sito www.dmax.it</description>
        <description lang="en">Watch the programs and the complete episodes 
from the website www.dmax.it</description>
        <forum>http://forum.xbmc.org/showthread.php?tid=196136</forum>
-    <website>https://github.com/xbmc-goph/dmaxitalia</website>
+    <website>https://github.com/xbmc-goph/plugin.video.dmaxitalia</website>
     <email></email>
     <source></source>
     <license>GNU GENERAL PUBLIC LICENSE. Version 2, June 1991</license>
diff --git a/plugin.video.dmaxitalia/changelog.txt 
b/plugin.video.dmaxitalia/changelog.txt
index 6261597..ef464bd 100644
--- a/plugin.video.dmaxitalia/changelog.txt
+++ b/plugin.video.dmaxitalia/changelog.txt
@@ -1,3 +1,7 @@
+1.0.6 (2014-06-03)
+Added autoplay function
+Minor fixes
+
 1.0.5 (2014-05-28)
 Using only BeautifulSoup, getting rid of regexp
 Using common plugin cache to cache thumbnail url (much better times from the 
second access)
diff --git a/plugin.video.dmaxitalia/default.py 
b/plugin.video.dmaxitalia/default.py
index b319f95..951aed4 100644
--- a/plugin.video.dmaxitalia/default.py
+++ b/plugin.video.dmaxitalia/default.py
@@ -108,6 +108,8 @@ def watchEpisode(link):
        soup = BeautifulSoup(page)
        videoID = soup.find('param', {'name': '@videoPlayer'})['value']
        playBrightCoveStream(videoID)
+       xbmc.sleep(4000)
+       xbmc.executebuiltin('XBMC.PlayerControl(Play)')
 
 def playBrightCoveStream(videoID):
        playerID = const_playerID

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

Summary of changes:
 plugin.video.dmaxitalia/addon.xml                  |    4 +-
 plugin.video.dmaxitalia/changelog.txt              |    4 +
 plugin.video.dmaxitalia/default.py                 |    2 +
 plugin.video.noco/addon.py                         |  103 +++++++++-
 plugin.video.noco/addon.xml                        |    2 +-
 plugin.video.noco/changelog.txt                    |   21 ++
 plugin.video.noco/icon.png                         |  Bin 12398 -> 19291 bytes
 .../resources/language/English/strings.xml         |   12 +
 .../resources/language/French/strings.xml          |   14 ++-
 plugin.video.noco/resources/lib/api.py             |   83 +++++++-
 plugin.video.noco/resources/settings.xml           |    8 +-
 .../LICENSE.txt                                    |    0
 plugin.video.yogaglo/addon.xml                     |   27 +++
 plugin.video.yogaglo/changelog.txt                 |   12 +
 plugin.video.yogaglo/default.py                    |   10 +
 plugin.video.yogaglo/fanart.jpg                    |  Bin 0 -> 277837 bytes
 plugin.video.yogaglo/icon.png                      |  Bin 0 -> 17287 bytes
 .../resources/language/English/strings.xml         |   12 +
 plugin.video.yogaglo/resources/settings.xml        |    7 +
 .../yogaglo}/__init__.py                           |    0
 plugin.video.yogaglo/yogaglo/authentication.py     |   73 +++++++
 plugin.video.yogaglo/yogaglo/http.py               |  138 +++++++++++++
 plugin.video.yogaglo/yogaglo/soup_crawler.py       |  215 ++++++++++++++++++++
 plugin.video.yogaglo/yogaglo/xbmc_util.py          |  111 ++++++++++
 plugin.video.yogaglo/yogaglo/yogaglo.py            |  187 +++++++++++++++++
 25 files changed, 1020 insertions(+), 25 deletions(-)
 mode change 100644 => 100755 plugin.video.noco/addon.py
 copy {plugin.audio.deejayIt.reloaded => plugin.video.yogaglo}/LICENSE.txt 
(100%)
 create mode 100644 plugin.video.yogaglo/addon.xml
 create mode 100644 plugin.video.yogaglo/changelog.txt
 create mode 100644 plugin.video.yogaglo/default.py
 create mode 100644 plugin.video.yogaglo/fanart.jpg
 create mode 100644 plugin.video.yogaglo/icon.png
 create mode 100644 plugin.video.yogaglo/resources/language/English/strings.xml
 create mode 100644 plugin.video.yogaglo/resources/settings.xml
 copy {plugin.audio.abcradionational/resources => 
plugin.video.yogaglo/yogaglo}/__init__.py (100%)
 create mode 100644 plugin.video.yogaglo/yogaglo/authentication.py
 create mode 100644 plugin.video.yogaglo/yogaglo/http.py
 create mode 100644 plugin.video.yogaglo/yogaglo/soup_crawler.py
 create mode 100644 plugin.video.yogaglo/yogaglo/xbmc_util.py
 create mode 100644 plugin.video.yogaglo/yogaglo/yogaglo.py


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their 
applications. Written by three acclaimed leaders in the field, 
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to