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