The branch, frodo has been updated
       via  ce4ce09ceec43c8a898bec8aa48ebf7dc60df099 (commit)
       via  361ce4578a064b982cd36f8457e682ac415a1b4e (commit)
       via  b75c287db46ee07581ffd4b2413e71a1d9beea35 (commit)
       via  6c2c92311ea9eb5fdbe72bfe1f5b3653c3caf7af (commit)
       via  4743879ff9530b637762de738ed44fb574bbfc6c (commit)
       via  de36968d1f5953b97dcf4b062c3aa85d07079a8b (commit)
      from  cecc77427417409ca6266a341cbf5d789dab4277 (commit)

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

commit ce4ce09ceec43c8a898bec8aa48ebf7dc60df099
Author: beenje <[email protected]>
Date:   Sat Mar 23 21:59:40 2013 +0100

    [plugin.video.4players] updated to version 2.0.1

diff --git a/plugin.video.4players/addon.py b/plugin.video.4players/addon.py
index d37e248..cf92d0f 100644
--- a/plugin.video.4players/addon.py
+++ b/plugin.video.4players/addon.py
@@ -1,85 +1,212 @@
-from xbmcswift import Plugin
-import resources.lib.scraper as scraper
-
-
-class Plugin_adv(Plugin):
-
-    def add_items(self, iterable, view_mode=None, is_update=False,
-                  sort_method_ids=[]):
-        items = []
-        urls = []
-        for i, li_info in enumerate(iterable):
-            items.append(self._make_listitem(**li_info))
-            if self._mode in ['crawl', 'interactive', 'test']:
-                print '[%d] %s%s%s (%s)' % (i + 1, '', li_info.get('label'),
-                                            '', li_info.get('url'))
-                urls.append(li_info.get('url'))
-        if self._mode is 'xbmc':
-            if view_mode:
-                import xbmc
-                xbmc.executebuiltin('Container.SetViewMode(%s)' % view_mode)
-            import xbmcplugin
-            xbmcplugin.addDirectoryItems(self.handle, items, len(items))
-            for id in sort_method_ids:
-                xbmcplugin.addSortMethod(self.handle, id)
-            xbmcplugin.endOfDirectory(self.handle, updateListing=is_update)
-        return urls
-
-
-plugin = Plugin_adv('4Players Videos', 'plugin.video.4players', __file__)
-
-
[email protected]('/', default=True)
-def show_categories():
-    categories = scraper.getCategories()
-    cat_ids = (30100, 30101, 30102, 30103, 30104, 30105, 30106, 30107,
-               30108)
-    items = [{'label': plugin.get_string(cat_ids[i]),
-              'url': plugin.url_for('show_videos',
-                                    category=category, page='1'),
-             } for i, category in enumerate(categories)]
-    return plugin.add_items(items)
-
-
[email protected]('/category/<category>/<page>/')
-def show_videos(category, page):
-    videos, last_page_num = scraper.getVideos(category, page)
-    items = [{'label': video['title'],
-              'thumbnail': video['image'],
-              'info': {'originaltitle': video['title'],
-                       'duration': video['length'],
-                       'date': video['date'],
-                       'rating': float(video['rating']),
-                       'votes': str(video['views'])},
-              'url': plugin.url_for('watch_video', url=video['url']),
-              'is_folder': False,
-              'is_playable': True,
-             } for video in videos]
-    if int(page) < int(last_page_num):
-        next_page = str(int(page) + 1)
-        items.insert(0, {'label': '>> %s %s >>' % (plugin.get_string(30001),
-                                                   next_page),
-                         'url': plugin.url_for('show_videos',
-                                               category=category,
-                                               page=next_page)})
-    if int(page) > 1:
-        prev_page = str(int(page) - 1)
-        items.insert(0, {'label': '<< %s %s <<' % (plugin.get_string(30001),
-                                                   prev_page),
-                         'url': plugin.url_for('show_videos',
-                                               category=category,
-                                               page=prev_page)})
-    is_update = (int(page) != 1)  # only update the listing if page is not 1
-    sort_method_ids = (21, 3, 29)  # Playlist, date, runtime
-    return plugin.add_items(items, is_update=is_update,
-                            sort_method_ids=sort_method_ids)
-
-
[email protected]('/watch/<url>/')
-def watch_video(url):
-    video_url = scraper.getVideoFile(url)
-    return plugin.set_resolved_url(video_url)
+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+#
+#     Copyright (C) 2013 Tristan Fischer ([email protected])
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published by
+#    the Free Software Foundation, either version 3 of the License, or
+#    (at your option) any later version.
+#
+#    This program is distributed in the hope that it will be useful,
+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#    GNU General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+from xbmcswift2 import Plugin
+from resources.lib.api import XBMC4PlayersApi, NetworkError, SYSTEMS
+
+STRINGS = {
+    'latest_videos': 30000,
+    'next': 30001,
+    'popular_videos': 30002,
+    'network_error': 30200,
+    'videos_by_game': 30003,
+    'search_by_game': 30004,
+    'enter_game_title': 30005,
+    'reviews': 30006,
+}
+
+plugin = Plugin()
+api = XBMC4PlayersApi()
+
+
[email protected]('/')
+def show_root_menu():
+    items = [
+        {'label': _('latest_videos'),
+         'path': plugin.url_for('latest_videos')},
+        {'label': _('reviews'),
+         'path': plugin.url_for('reviews')},
+        {'label': _('popular_videos'),
+         'path': plugin.url_for('popular_videos')},
+        {'label': _('search_by_game'),
+         'path': plugin.url_for('search_by_game')},
+    ]
+    return plugin.finish(items)
+
+
[email protected]('/latest_reviews/', name='reviews', options={'reviews': True})
[email protected]('/latest_videos/', name='latest_videos')
[email protected]('/latest_videos/<game_id>/', name='videos_by_game')
+def latest_videos(game_id=None, reviews=False):
+    older_than = int(plugin.request.args.get('older_than', [0])[0])
+    if game_id:
+        videos = api.get_videos_by_game(older_than=older_than, game_id=game_id)
+    elif reviews:
+        videos = api.get_latest_reviews(older_than=older_than)
+    else:
+        videos = api.get_latest_videos(older_than=older_than)
+    most_recent_ts = min((v['ts'] for v in videos))
+    items = __format_videos(videos)
+    if len(items) == api.LIMIT:
+        items.append({
+            'label': '>> %s >>' % _('next'),
+            'path': plugin.url_for(
+                endpoint='latest_videos',
+                game_id=game_id,
+                older_than=most_recent_ts
+            )
+        })
+    finish_kwargs = {
+        'update_listing': 'older_than' in plugin.request.args
+    }
+    if plugin.get_setting('force_viewmode', bool):
+        finish_kwargs['view_mode'] = 'thumbnail'
+    return plugin.finish(items, **finish_kwargs)
+
+
[email protected]('/popular_videos/')
+def popular_videos():
+    page = int(plugin.request.args.get('page', ['1'])[0])
+    videos = api.get_popular_videos(page=page)
+    items = __format_videos(videos)
+    items.append({
+        'label': '>> %s >>' % _('next'),
+        'path': plugin.url_for(
+            endpoint='popular_videos',
+            page=(page + 1)
+        )
+    })
+
+    finish_kwargs = {
+        'update_listing': 'page' in plugin.request.args
+    }
+    if plugin.get_setting('force_viewmode', bool):
+        finish_kwargs['view_mode'] = 'thumbnail'
+    return plugin.finish(items, **finish_kwargs)
+
+
[email protected]('/search/')
+def search_by_game():
+    search_string = plugin.keyboard(heading=_('enter_game_title'))
+    if search_string:
+        url = plugin.url_for(
+            endpoint='show_games',
+            search_string=search_string
+        )
+        plugin.redirect(url)
+
+
[email protected]('/search/<search_string>/')
+def show_games(search_string):
+    games = api.get_games(search_string)
+    items = __format_games(games)
+    finish_kwargs = {}
+    if plugin.get_setting('force_viewmode', bool):
+        finish_kwargs['view_mode'] = 'thumbnail'
+    return plugin.finish(items, **finish_kwargs)
+
+
[email protected]('/play/<url>')
+def play_video(url):
+    return plugin.set_resolved_url(url)
+
+
+def __format_videos(videos):
+    quality = plugin.get_setting('quality', choices=('normal', 'hq'))
+    videos = [{
+        'label': '%s: %s' % (video['game']['title'], video['video_title']),
+        'thumbnail': video['thumb'],
+        'info': {
+            'title': video['game']['title'],
+            'tagline': video['video_title'],
+            'size': video['streams'][quality]['size'],
+            'date': video['date'],
+            'genre': video['game']['genre'],
+            'studio': video['game']['studio'],
+            'rating': float(video['rating']),
+            'votes': video['play_count'],
+            'count': i,
+            'plot': '[CR]'.join((
+                'Date: %s' % video['date'],
+                'Size: %d MB' % (video['streams'][quality]['size'] / 1048576),
+                'Length: %s' % video['duration_str'],
+            )),
+        },
+        'is_playable': True,
+        'context_menu': [(
+            _('videos_by_game'),
+            'Container.Update(%s)' % plugin.url_for(
+                endpoint='videos_by_game',
+                game_id=str(video['game']['id'])
+            )
+        )],
+        'stream_info': {
+            'video': {'duration': video['duration']}
+        },
+        'path': plugin.url_for(
+            endpoint='play_video',
+            url=video['streams'][quality]['url']
+        ),
+    } for i, video in enumerate(videos)]
+    return videos
+
+
+def __format_games(games):
+    games = [{
+        'label': game['title'],
+        'thumbnail': game['thumb'],
+        'info': {
+            'original_title': game['title'],
+            'genre': game['genre'],
+            'studio': game['studio'],
+            'count': i,
+        },
+        'path': plugin.url_for(
+            endpoint='videos_by_game',
+            game_id=str(game['id'])
+        ),
+    } for i, game in enumerate(games)]
+    return games
+
+
+def __get_enabled_systems():
+    if plugin.get_setting('system_filter_enabled', bool):
+        enabled_systems = []
+        for system in SYSTEMS:
+            s = 'show_%s' % system.lower()
+            if plugin.get_setting(s, bool):
+                enabled_systems.append(system)
+        return enabled_systems
+    return SYSTEMS
+
+
+def _(string_id):
+    if string_id in STRINGS:
+        return plugin.get_string(STRINGS[string_id])
+    else:
+        plugin.log.warning('String is missing: %s' % string_id)
+        return string_id
 
 
 if __name__ == '__main__':
-    plugin.run()
+    try:
+        api.set_systems(__get_enabled_systems())
+        plugin.run()
+    except NetworkError:
+        plugin.notify(msg=_('network_error'))
diff --git a/plugin.video.4players/addon.xml b/plugin.video.4players/addon.xml
index e36f1c3..51d75e7 100644
--- a/plugin.video.4players/addon.xml
+++ b/plugin.video.4players/addon.xml
@@ -1,9 +1,8 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.video.4players" name="4Players Videos" version="1.1.5" 
provider-name="Tristan Fischer ([email protected])">
+<addon id="plugin.video.4players" name="4Players Videos" version="2.0.1" 
provider-name="Tristan Fischer ([email protected])">
   <requires>
-    <import addon="xbmc.python" version="2.0"/>
-    <import addon="script.module.beautifulsoup" version="3.0.8"/>
-    <import addon="script.module.xbmcswift" version="0.2.0"/>
+    <import addon="xbmc.python" version="2.1.0"/>
+    <import addon="script.module.xbmcswift2" version="2.4.0"/>
   </requires>
   <extension point="xbmc.python.pluginsource" library="addon.py">
     <provides>video</provides>
@@ -11,9 +10,7 @@
   <extension point="xbmc.addon.metadata">
     <platform>all</platform>
     <language>de</language>
-    <summary lang="de">Computerspiel-Videos und -Trailer von 
www.4players.de</summary>
-    <summary lang="en">Watch game videos and trailers from 
www.4players.de</summary>
-    <description lang="de">Bietet aktuelle Videos und Trailer zu Computer- und 
Konsolenspielen von der Webseite www.4players.de</description>
-    <description lang="en">You can watch all computer- and console-game videos 
and trailers from the german website www.4players.de</description>
+    <summary lang="en">Game related videos from www.4players.de</summary>
+    <description lang="en">4Players is a german video-game magazine.[CR]With 
this add-on you can browse latest- or popular-videos, game reviews or browse 
videos by games you are interested in.[CR]You can also filter the videos by 
platforms in the add-on settings.</description>
   </extension>
 </addon>
\ No newline at end of file
diff --git a/plugin.video.4players/changelog.txt 
b/plugin.video.4players/changelog.txt
index 91e1b56..f9bf1b0 100644
--- a/plugin.video.4players/changelog.txt
+++ b/plugin.video.4players/changelog.txt
@@ -1,3 +1,14 @@
+2.0.1
+ Code rewrite (using dedicated API)
+ New menu structure
+ Platform filter in settings
+ Video quality choosable
+ Better icons/thumbnails
+ Frodo changes (duration)
+ Catch network errors
+ Added Possibility to search videos by game
+ Context Menu Integration
+
 1.1.5
  Fixed Playback (website changes)
 
diff --git a/plugin.video.4players/icon.png b/plugin.video.4players/icon.png
index b3b5324..8b1ccc6 100644
Binary files a/plugin.video.4players/icon.png and 
b/plugin.video.4players/icon.png differ
diff --git a/plugin.video.4players/resources/language/English/strings.xml 
b/plugin.video.4players/resources/language/English/strings.xml
index 3e6777d..470d504 100644
--- a/plugin.video.4players/resources/language/English/strings.xml
+++ b/plugin.video.4players/resources/language/English/strings.xml
@@ -1,13 +1,37 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <strings>
-    <string id="30001">Page</string>
-    <string id="30100">All</string>
-    <string id="30101">Most viewed</string>
-    <string id="30102">Best rated</string>
-    <string id="30103">Video-conclusion</string>
-    <string id="30104">PC</string>
-    <string id="30105">PlayStation 3</string>
-    <string id="30106">Xbox 360</string>
-    <string id="30107">Wii</string>
-    <string id="30108">Handhelds</string>
+    <string id="30000">Latest Videos</string>
+    <string id="30001">Next Videos</string>
+    <string id="30002">Popular Videos</string>
+    <string id="30003">All videos from this game</string>
+    <string id="30004">Search Videos by Game</string>
+    <string id="30005">Enter Game title</string>
+    <string id="30006">Game Reviews</string>
+    <!-- Settings -->
+    <string id="30300">General</string>
+    <string id="30301">System Filter</string>
+    <string id="30100">Force Viewmode to "Thumbnail"</string>
+    <string id="30101">Quality</string>
+    <string id="30102">Normal</string>
+    <string id="30103">HQ</string>
+    <string id="30200">System Filter enabled</string>
+    <string id="30201">360</string>
+    <string id="30202">PC-CDROM</string>
+    <string id="30203">iPhone</string>
+    <string id="30204">iPad</string>
+    <string id="30205">Android</string>
+    <string id="30206">3DS</string>
+    <string id="30207">NDS</string>
+    <string id="30208">Wii U</string>
+    <string id="30209">PlayStation3</string>
+    <string id="30210">PlayStation4</string>
+    <string id="30211">PSP</string>
+    <string id="30212">PS Vita</string>
+    <string id="30213">Spielkultur</string>
+    <string id="30214">WindowsPhone7</string>
+    <string id="30215">XBox</string>
+    <string id="30216">Wii</string>
+    <string id="30217">PlayStation2</string>
+    <!-- messages -->
+    <string id="30200">Network error</string>
 </strings>

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


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

commit b75c287db46ee07581ffd4b2413e71a1d9beea35
Author: beenje <[email protected]>
Date:   Sat Mar 23 21:58:40 2013 +0100

    [plugin.video.nrk] updated to version 4.4.5

diff --git a/plugin.video.nrk/addon.xml b/plugin.video.nrk/addon.xml
index ffb7c1d..c0a7e07 100644
--- a/plugin.video.nrk/addon.xml
+++ b/plugin.video.nrk/addon.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <addon id="plugin.video.nrk"
        name="NRK Nett-TV"
-       version="4.4.4"
+       version="4.4.5"
        provider-name="takoi">
   <requires>
     <import addon="xbmc.python" version="2.1.0"/>
diff --git a/plugin.video.nrk/changelog.txt b/plugin.video.nrk/changelog.txt
index 76a34c6..c36d531 100644
--- a/plugin.video.nrk/changelog.txt
+++ b/plugin.video.nrk/changelog.txt
@@ -1,3 +1,9 @@
+[B]4.4.5[/B]
+- Fikset direktestrømmer og «siste» pga. sideendringer
+
+[B]4.4.4[/B]
+- Kompatibilitetsendringer
+
 [B]4.4.3[/B]
 - Fikset: plugin krasjet hvis videobeskrivelse ikke fantes
 
diff --git a/plugin.video.nrk/data.py b/plugin.video.nrk/data.py
index 37d5bb9..44abd6a 100644
--- a/plugin.video.nrk/data.py
+++ b/plugin.video.nrk/data.py
@@ -79,11 +79,11 @@ def get_recommended():
 
 def get_most_recent():
   url = "http://tv.nrk.no/listobjects/recentlysent.json/page/0";
-  elems = xhrsession.get(url).json()['ListObjectModels']
+  elems = xhrsession.get(url).json()['Data']
   titles = [ e['Title'] for e in elems ]
   titles = map(html_decode, titles)
   urls = [ e['Url'] for e in elems ]
-  thumbs = [ e['ImageUrl'] for e in elems ]
+  thumbs = [ e['Images'][0]['ImageUrl'] for e in elems ]
   fanart = [ _fanart_url(url) for url in urls ]
   return titles, urls, thumbs, fanart
 
diff --git a/plugin.video.nrk/default.py b/plugin.video.nrk/default.py
index 451873d..8b60379 100644
--- a/plugin.video.nrk/default.py
+++ b/plugin.video.nrk/default.py
@@ -39,10 +39,9 @@ def view_top():
 
 @plugin.route('/live')
 def live():
-  b = ['380','659','1394','2410','3660'][BITRATE-1]
-  add("NRK 1", 
"http://nrk1us-f.akamaihd.net/i/nrk1us_0@79328/index_%s_av-p.m3u8?sd=10&rebase=on";
 % b, "application/vnd.apple.mpegurl", "nrk1.png")
-  add("NRK 2", 
"http://nrk2us-f.akamaihd.net/i/nrk2us_0@79327/index_%s_av-p.m3u8?sd=10&rebase=on";
 % b, "application/vnd.apple.mpegurl", "nrk2.png")
-  add("NRK 3", 
"http://nrk3us-f.akamaihd.net/i/nrk3us_0@79326/index_%s_av-p.m3u8?sd=10&rebase=on";
 % b, "application/vnd.apple.mpegurl", "nrk3.png")
+  add("NRK 1", "http://nrk1-i.akamaihd.net/hls/live/201543/nrk1/master.m3u8";, 
"application/vnd.apple.mpegurl", "nrk1.png")
+  add("NRK 2", "http://nrk2-i.akamaihd.net/hls/live/201544/nrk2/master.m3u8";, 
"application/vnd.apple.mpegurl", "nrk2.png")
+  add("NRK 3", "http://nrk3-i.akamaihd.net/hls/live/201545/nrk3/master.m3u8";, 
"application/vnd.apple.mpegurl", "nrk3.png")
   add("NRK P1", "http://lyd.nrk.no/nrk_radio_p1_ostlandssendingen_mp3_h";, 
"audio/mpeg")
   add("NRK P2", "http://lyd.nrk.no/nrk_radio_p2_mp3_h";, "audio/mpeg")
   add("NRK P3", "http://lyd.nrk.no/nrk_radio_p3_mp3_h";, "audio/mpeg")
diff --git a/plugin.video.nrk/resources/language/English/strings.xml 
b/plugin.video.nrk/resources/language/English/strings.xml
index f3ed803..037da54 100644
--- a/plugin.video.nrk/resources/language/English/strings.xml
+++ b/plugin.video.nrk/resources/language/English/strings.xml
@@ -4,4 +4,6 @@
        <string id="30002">Subtitles</string>
        <string id="30003">Off</string>
        <string id="30004">On</string>
+       <string id="30005">Note: Quality on live streams are determined by the 
bandwidth</string>
+       <string id="30006">limitation set in Settings->System->Internet 
access</string>
 </strings>
diff --git a/plugin.video.nrk/resources/language/Norwegian/strings.xml 
b/plugin.video.nrk/resources/language/Norwegian/strings.xml
index adc155f..fca3f68 100644
--- a/plugin.video.nrk/resources/language/Norwegian/strings.xml
+++ b/plugin.video.nrk/resources/language/Norwegian/strings.xml
@@ -4,4 +4,6 @@
        <string id="30002">Teksting</string>
        <string id="30003">Av</string>
        <string id="30004">PÃ¥</string>
+       <string id="30005">Obs: Kvalitet på direktestrømmer bestemmes av 
båndbreddebegrensning</string>
+       <string id="30006">satt i 
Innstillinger->System->Internettilgang</string>
 </strings>
diff --git a/plugin.video.nrk/resources/settings.xml 
b/plugin.video.nrk/resources/settings.xml
index 15c9870..e337afd 100644
--- a/plugin.video.nrk/resources/settings.xml
+++ b/plugin.video.nrk/resources/settings.xml
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <settings>
-       <setting id="bitrate" type="enum" label="30001" values="400 kbit/s|700 
kbit/s|1400 kbit/s|2300 kbit/s|3500 kbit/s" default="4"/>
        <setting id="showsubtitles" type="enum" label="30002" 
lvalues="30003|30004" default="1"/>
+       <setting id="bitrate" type="enum" label="30001" values="400 kbit/s|700 
kbit/s|1400 kbit/s|2300 kbit/s|3500 kbit/s" default="4"/>
+       <setting label="30005" type="lsep"/>
+       <setting label="30006" type="lsep"/>
 </settings>

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


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


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


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

Summary of changes:
 .../LICENSE.txt                                    |    0
 plugin.video.4od/addon.xml                         |   22 +
 plugin.video.4od/changelog.txt                     |  146 +++
 plugin.video.4od/default.py                        |  132 +++
 plugin.video.4od/episodelist.py                    |  355 +++++++
 plugin.video.4od/fanart.jpg                        |  Bin 0 -> 33057 bytes
 plugin.video.4od/fourOD.py                         |  786 +++++++++++++++
 plugin.video.4od/fourOD_token_decoder.py           |  496 ++++++++++
 plugin.video.4od/httpmanager.py                    |  584 +++++++++++
 plugin.video.4od/icon.png                          |  Bin 0 -> 7406 bytes
 plugin.video.4od/loggingexception.py               |  101 ++
 plugin.video.4od/mycgi.py                          |  106 ++
 plugin.video.4od/provider.py                       |  514 ++++++++++
 plugin.video.4od/proxyconfig.py                    |   59 ++
 .../resources/language/English/strings.po          |  442 +++++++++
 .../resources/language/English/strings.xml         |   74 ++
 plugin.video.4od/resources/media/4oD_latest.jpg    |  Bin 0 -> 2066 bytes
 plugin.video.4od/resources/media/4oD_next.jpg      |  Bin 0 -> 2091 bytes
 plugin.video.4od/resources/media/4oD_popular.jpg   |  Bin 0 -> 3802 bytes
 plugin.video.4od/resources/media/4oD_previous.jpg  |  Bin 0 -> 2769 bytes
 plugin.video.4od/resources/media/4oD_title.jpg     |  Bin 0 -> 1465 bytes
 plugin.video.4od/resources/nosubtitles.smi         |   20 +
 plugin.video.4od/resources/settings.xml            |   38 +
 plugin.video.4od/rtmp.py                           |  196 ++++
 plugin.video.4od/utils.py                          |  162 +++
 plugin.video.4od/watched.py                        |  117 +++
 plugin.video.4players/addon.py                     |  291 ++++--
 plugin.video.4players/addon.xml                    |   13 +-
 plugin.video.4players/changelog.txt                |   11 +
 plugin.video.4players/fanart.jpg                   |  Bin 0 -> 201090 bytes
 plugin.video.4players/icon.png                     |  Bin 41980 -> 44561 bytes
 .../resources/language/English/strings.xml         |   44 +-
 .../resources/language/German/strings.xml          |   13 -
 plugin.video.4players/resources/lib/api.py         |  209 ++++
 plugin.video.4players/resources/lib/scraper.py     |  120 ---
 plugin.video.4players/resources/settings.xml       |   27 +
 .../LICENSE.txt                                    |    0
 plugin.video.irishtv/addon.xml                     |   23 +
 plugin.video.irishtv/aertv.py                      |  490 +++++++++
 plugin.video.irishtv/brightcove.py                 |  216 ++++
 plugin.video.irishtv/changelog.txt                 |   51 +
 plugin.video.irishtv/default.py                    |  246 +++++
 plugin.video.irishtv/fanart.jpg                    |  Bin 0 -> 35686 bytes
 plugin.video.irishtv/httpmanager.py                |  584 +++++++++++
 plugin.video.irishtv/icon.png                      |  Bin 0 -> 31605 bytes
 plugin.video.irishtv/loggingexception.py           |  101 ++
 plugin.video.irishtv/mycgi.py                      |  113 +++
 plugin.video.irishtv/provider.py                   |  514 ++++++++++
 plugin.video.irishtv/providerfactory.py            |   26 +
 plugin.video.irishtv/proxyconfig.py                |   59 ++
 .../resources/language/English/strings.po          |  748 ++++++++++++++
 .../resources/language/English/strings.xml         |  128 +++
 plugin.video.irishtv/resources/media/AerTV.jpg     |  Bin 0 -> 5508 bytes
 plugin.video.irishtv/resources/media/RTE.jpg       |  Bin 0 -> 4467 bytes
 plugin.video.irishtv/resources/media/RTE_AtoZ.jpg  |  Bin 0 -> 1946 bytes
 .../resources/media/RTE_Categories.jpg             |  Bin 0 -> 3457 bytes
 .../resources/media/RTE_Classics.jpg               |  Bin 0 -> 2687 bytes
 .../resources/media/RTE_Latest.jpg                 |  Bin 0 -> 2140 bytes
 plugin.video.irishtv/resources/media/RTE_Live.jpg  |  Bin 0 -> 1602 bytes
 .../resources/media/RTE_MostPopular.jpg            |  Bin 0 -> 2523 bytes
 .../resources/media/RTE_NewsNow.jpg                |  Bin 0 -> 5399 bytes
 plugin.video.irishtv/resources/media/RTE_One.jpg   |  Bin 0 -> 3313 bytes
 .../resources/media/RTE_Search.jpg                 |  Bin 0 -> 2323 bytes
 plugin.video.irishtv/resources/media/RTE_Two.jpg   |  Bin 0 -> 2940 bytes
 plugin.video.irishtv/resources/media/TG4.jpg       |  Bin 0 -> 4741 bytes
 plugin.video.irishtv/resources/media/TG4_Beo.jpg   |  Bin 0 -> 1014 bytes
 .../resources/media/TG4_Catagoiri.jpg              |  Bin 0 -> 1817 bytes
 .../resources/media/TG4_Categories.jpg             |  Bin 0 -> 1922 bytes
 plugin.video.irishtv/resources/media/TG4_Ceol.jpg  |  Bin 0 -> 1053 bytes
 .../resources/media/TG4_Cuardaigh.jpg              |  Bin 0 -> 1860 bytes
 plugin.video.irishtv/resources/media/TG4_Cula4.jpg |  Bin 0 -> 1305 bytes
 .../resources/media/TG4_Documentaries.jpg          |  Bin 0 -> 2236 bytes
 plugin.video.irishtv/resources/media/TG4_Drama.jpg |  Bin 0 -> 1375 bytes
 .../resources/media/TG4_Dramaiocht.jpg             |  Bin 0 -> 2001 bytes
 .../resources/media/TG4_Entertainment.jpg          |  Bin 0 -> 2193 bytes
 .../resources/media/TG4_Faisneis.jpg               |  Bin 0 -> 1640 bytes
 .../resources/media/TG4_IsCoitianta.jpg            |  Bin 0 -> 2080 bytes
 .../resources/media/TG4_IsDeanai.jpg               |  Bin 0 -> 1789 bytes
 .../resources/media/TG4_Latest.jpg                 |  Bin 0 -> 1253 bytes
 plugin.video.irishtv/resources/media/TG4_Live.jpg  |  Bin 0 -> 1086 bytes
 plugin.video.irishtv/resources/media/TG4_Music.jpg |  Bin 0 -> 1346 bytes
 plugin.video.irishtv/resources/media/TG4_News.jpg  |  Bin 0 -> 1226 bytes
 .../resources/media/TG4_Nuacht.jpg                 |  Bin 0 -> 1469 bytes
 .../resources/media/TG4_Popular.jpg                |  Bin 0 -> 1493 bytes
 .../resources/media/TG4_Search.jpg                 |  Bin 0 -> 1380 bytes
 .../resources/media/TG4_Siamsaiocht.jpg            |  Bin 0 -> 2065 bytes
 plugin.video.irishtv/resources/media/TG4_Sport.jpg |  Bin 0 -> 1280 bytes
 plugin.video.irishtv/resources/media/TV3.jpg       |  Bin 0 -> 3930 bytes
 .../resources/media/TV3_AllShowsAtoZ.jpg           |  Bin 0 -> 1842 bytes
 .../resources/media/TV3_AllShowsByDate.jpg         |  Bin 0 -> 2428 bytes
 .../resources/media/TV3_GoingGoing.jpg             |  Bin 0 -> 3293 bytes
 .../resources/media/TV3_MostTalkedAbout.jpg        |  Bin 0 -> 2399 bytes
 .../resources/media/TV3_Search.jpg                 |  Bin 0 -> 2296 bytes
 .../resources/media/TV3_StraightOffTheTelly.jpg    |  Bin 0 -> 1985 bytes
 plugin.video.irishtv/resources/nosubtitles.smi     |   20 +
 plugin.video.irishtv/resources/settings.xml        |   47 +
 plugin.video.irishtv/rte.py                        | 1045 ++++++++++++++++++++
 plugin.video.irishtv/rtmp.py                       |  196 ++++
 plugin.video.irishtv/tg4.py                        |  849 ++++++++++++++++
 plugin.video.irishtv/tv3.py                        |  798 +++++++++++++++
 plugin.video.irishtv/utils.py                      |  153 +++
 .../LICENSE.txt                                    |    0
 plugin.video.metacafe/addon.py                     |  140 +++
 plugin.video.metacafe/addon.xml                    |   17 +
 plugin.video.metacafe/changelog.txt                |    6 +
 plugin.video.metacafe/icon.png                     |  Bin 0 -> 35922 bytes
 .../resources}/__init__.py                         |    0
 .../resources/language/English/strings.xml         |   14 +
 .../resources/lib}/__init__.py                     |    0
 plugin.video.metacafe/resources/lib/scraper.py     |  137 +++
 plugin.video.metacafe/resources/settings.xml       |    5 +
 plugin.video.nrk/addon.xml                         |    2 +-
 plugin.video.nrk/changelog.txt                     |    6 +
 plugin.video.nrk/data.py                           |    4 +-
 plugin.video.nrk/default.py                        |    7 +-
 .../resources/language/English/strings.xml         |    2 +
 .../resources/language/Norwegian/strings.xml       |    2 +
 plugin.video.nrk/resources/settings.xml            |    4 +-
 .../LICENSE.txt                                    |    0
 plugin.video.vine/addon.xml                        |   21 +
 plugin.video.vine/changelog.txt                    |    2 +
 plugin.video.vine/default.py                       |  133 +++
 plugin.video.vine/fanart.jpg                       |  Bin 0 -> 41565 bytes
 plugin.video.vine/httpmanager.py                   |  584 +++++++++++
 plugin.video.vine/icon.png                         |  Bin 0 -> 6544 bytes
 plugin.video.vine/loggingexception.py              |   88 ++
 plugin.video.vine/mycgi.py                         |  106 ++
 plugin.video.vine/provider.py                      |  507 ++++++++++
 plugin.video.vine/proxyconfig.py                   |   59 ++
 .../resources/language/English/strings.po          |  308 ++++++
 .../resources/language/English/strings.xml         |   52 +
 .../resources/media/Vine_LatestVines.jpg           |  Bin 0 -> 1976 bytes
 .../resources/media/Vine_Searchbytag.jpg           |  Bin 0 -> 2035 bytes
 plugin.video.vine/resources/settings.xml           |   13 +
 plugin.video.vine/rtmp.py                          |  196 ++++
 plugin.video.vine/utils.py                         |  148 +++
 plugin.video.vine/vine.png                         |  Bin 0 -> 51961 bytes
 plugin.video.vine/vine.py                          |  232 +++++
 plugin.video.vine/vineplayer.py                    |   57 ++
 139 files changed, 14096 insertions(+), 241 deletions(-)
 copy {plugin.audio.dradio => plugin.video.4od}/LICENSE.txt (100%)
 create mode 100644 plugin.video.4od/addon.xml
 create mode 100644 plugin.video.4od/changelog.txt
 create mode 100644 plugin.video.4od/default.py
 create mode 100644 plugin.video.4od/episodelist.py
 create mode 100644 plugin.video.4od/fanart.jpg
 create mode 100644 plugin.video.4od/fourOD.py
 create mode 100644 plugin.video.4od/fourOD_token_decoder.py
 create mode 100644 plugin.video.4od/httpmanager.py
 create mode 100644 plugin.video.4od/icon.png
 create mode 100644 plugin.video.4od/loggingexception.py
 create mode 100644 plugin.video.4od/mycgi.py
 create mode 100644 plugin.video.4od/provider.py
 create mode 100644 plugin.video.4od/proxyconfig.py
 create mode 100644 plugin.video.4od/resources/language/English/strings.po
 create mode 100644 plugin.video.4od/resources/language/English/strings.xml
 create mode 100644 plugin.video.4od/resources/media/4oD_latest.jpg
 create mode 100644 plugin.video.4od/resources/media/4oD_next.jpg
 create mode 100644 plugin.video.4od/resources/media/4oD_popular.jpg
 create mode 100644 plugin.video.4od/resources/media/4oD_previous.jpg
 create mode 100644 plugin.video.4od/resources/media/4oD_title.jpg
 create mode 100644 plugin.video.4od/resources/nosubtitles.smi
 create mode 100644 plugin.video.4od/resources/settings.xml
 create mode 100644 plugin.video.4od/rtmp.py
 create mode 100644 plugin.video.4od/utils.py
 create mode 100644 plugin.video.4od/watched.py
 create mode 100644 plugin.video.4players/fanart.jpg
 delete mode 100644 plugin.video.4players/resources/language/German/strings.xml
 create mode 100644 plugin.video.4players/resources/lib/api.py
 delete mode 100644 plugin.video.4players/resources/lib/scraper.py
 create mode 100644 plugin.video.4players/resources/settings.xml
 copy {plugin.audio.dradio => plugin.video.irishtv}/LICENSE.txt (100%)
 create mode 100644 plugin.video.irishtv/addon.xml
 create mode 100644 plugin.video.irishtv/aertv.py
 create mode 100644 plugin.video.irishtv/brightcove.py
 create mode 100644 plugin.video.irishtv/changelog.txt
 create mode 100644 plugin.video.irishtv/default.py
 create mode 100644 plugin.video.irishtv/fanart.jpg
 create mode 100644 plugin.video.irishtv/httpmanager.py
 create mode 100644 plugin.video.irishtv/icon.png
 create mode 100644 plugin.video.irishtv/loggingexception.py
 create mode 100644 plugin.video.irishtv/mycgi.py
 create mode 100644 plugin.video.irishtv/provider.py
 create mode 100644 plugin.video.irishtv/providerfactory.py
 create mode 100644 plugin.video.irishtv/proxyconfig.py
 create mode 100644 plugin.video.irishtv/resources/language/English/strings.po
 create mode 100644 plugin.video.irishtv/resources/language/English/strings.xml
 create mode 100644 plugin.video.irishtv/resources/media/AerTV.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_AtoZ.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_Categories.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_Classics.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_Latest.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_Live.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_MostPopular.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_NewsNow.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_One.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_Search.jpg
 create mode 100644 plugin.video.irishtv/resources/media/RTE_Two.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Beo.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Catagoiri.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Categories.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Ceol.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Cuardaigh.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Cula4.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Documentaries.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Drama.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Dramaiocht.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Entertainment.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Faisneis.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_IsCoitianta.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_IsDeanai.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Latest.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Live.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Music.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_News.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Nuacht.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Popular.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Search.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Siamsaiocht.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TG4_Sport.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TV3.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TV3_AllShowsAtoZ.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TV3_AllShowsByDate.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TV3_GoingGoing.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TV3_MostTalkedAbout.jpg
 create mode 100644 plugin.video.irishtv/resources/media/TV3_Search.jpg
 create mode 100644 
plugin.video.irishtv/resources/media/TV3_StraightOffTheTelly.jpg
 create mode 100644 plugin.video.irishtv/resources/nosubtitles.smi
 create mode 100644 plugin.video.irishtv/resources/settings.xml
 create mode 100644 plugin.video.irishtv/rte.py
 create mode 100644 plugin.video.irishtv/rtmp.py
 create mode 100644 plugin.video.irishtv/tg4.py
 create mode 100644 plugin.video.irishtv/tv3.py
 create mode 100644 plugin.video.irishtv/utils.py
 copy {plugin.audio.booksshouldbefree_com => plugin.video.metacafe}/LICENSE.txt 
(100%)
 create mode 100644 plugin.video.metacafe/addon.py
 create mode 100644 plugin.video.metacafe/addon.xml
 create mode 100644 plugin.video.metacafe/changelog.txt
 create mode 100644 plugin.video.metacafe/icon.png
 copy {plugin.audio.qobuz/resources/lib/qobuz/gui => 
plugin.video.metacafe/resources}/__init__.py (100%)
 create mode 100644 plugin.video.metacafe/resources/language/English/strings.xml
 copy {plugin.audio.qobuz/resources/lib/qobuz/gui => 
plugin.video.metacafe/resources/lib}/__init__.py (100%)
 create mode 100644 plugin.video.metacafe/resources/lib/scraper.py
 create mode 100644 plugin.video.metacafe/resources/settings.xml
 copy {plugin.audio.dradio => plugin.video.vine}/LICENSE.txt (100%)
 create mode 100644 plugin.video.vine/addon.xml
 create mode 100644 plugin.video.vine/changelog.txt
 create mode 100644 plugin.video.vine/default.py
 create mode 100644 plugin.video.vine/fanart.jpg
 create mode 100644 plugin.video.vine/httpmanager.py
 create mode 100644 plugin.video.vine/icon.png
 create mode 100644 plugin.video.vine/loggingexception.py
 create mode 100644 plugin.video.vine/mycgi.py
 create mode 100644 plugin.video.vine/provider.py
 create mode 100644 plugin.video.vine/proxyconfig.py
 create mode 100644 plugin.video.vine/resources/language/English/strings.po
 create mode 100644 plugin.video.vine/resources/language/English/strings.xml
 create mode 100644 plugin.video.vine/resources/media/Vine_LatestVines.jpg
 create mode 100644 plugin.video.vine/resources/media/Vine_Searchbytag.jpg
 create mode 100644 plugin.video.vine/resources/settings.xml
 create mode 100644 plugin.video.vine/rtmp.py
 create mode 100644 plugin.video.vine/utils.py
 create mode 100644 plugin.video.vine/vine.png
 create mode 100644 plugin.video.vine/vine.py
 create mode 100644 plugin.video.vine/vineplayer.py


hooks/post-receive
-- 
Plugins

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons

Reply via email to