The branch, frodo has been updated
via 146b748b25b7b862d42f5d4203e3d2c7b0bb325f (commit)
via 7ed4d403de2bf1cefbb7c70ced29f406f4cc9aee (commit)
from 6f379be1b3e8e6cc6d3df9d3ada94af16a6a7a2b (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=146b748b25b7b862d42f5d4203e3d2c7b0bb325f
commit 146b748b25b7b862d42f5d4203e3d2c7b0bb325f
Author: beenje <[email protected]>
Date: Mon Dec 2 22:38:56 2013 +0100
[plugin.audio.cherrymusic] updated to version 0.0.5
diff --git a/plugin.audio.cherrymusic/addon.xml
b/plugin.audio.cherrymusic/addon.xml
index c8a58a9..31caaa9 100644
--- a/plugin.audio.cherrymusic/addon.xml
+++ b/plugin.audio.cherrymusic/addon.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.audio.cherrymusic" name="CherryMusic" version="0.0.4"
provider-name="Sets">
+<addon id="plugin.audio.cherrymusic" name="CherryMusic" version="0.0.5"
provider-name="Sets">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
</requires>
diff --git a/plugin.audio.cherrymusic/changelog.txt
b/plugin.audio.cherrymusic/changelog.txt
index bfeef36..fae3a7c 100644
--- a/plugin.audio.cherrymusic/changelog.txt
+++ b/plugin.audio.cherrymusic/changelog.txt
@@ -1,3 +1,7 @@
+[B]0.0.5[/B]
+Fixed: Add http:// to host if not entered
+Added: Note under host and port field in settings, to avoid implicit entry
+
[B]0.0.4[/B]
Fixed: Error if never configured
diff --git a/plugin.audio.cherrymusic/cherrymusic.py
b/plugin.audio.cherrymusic/cherrymusic.py
index 8538c23..217fb86 100644
--- a/plugin.audio.cherrymusic/cherrymusic.py
+++ b/plugin.audio.cherrymusic/cherrymusic.py
@@ -85,7 +85,7 @@ class UI(object):
playlist.add(urllib.unquote(url), listitem)
self.show_message("CherryMusic", translated(30015), 6000)
- def create_playlist(self, data):
+ def create_playlist(self, host, data):
""" Creates playlist out of data """
playlist = xbmc.PlayList(xbmc.PLAYLIST_MUSIC)
playlist.clear()
@@ -119,7 +119,7 @@ class UI(object):
self.add_item(item['title'], str(item['plid']),3)
self.end_of_directory()
- def search_menu(self, data):
+ def search_menu(self, host, data):
""" Load Playlist menu """
if data is not None:
for item in data['data']:
@@ -128,27 +128,20 @@ class UI(object):
self.add_item(item.get("label"), url, 1)
self.end_of_directory()
- def load_playlist_menu(url, data):
- """ Load selected playlist """
- playlist = xbmc.PlayList(xbmc.PLAYLIST_MUSIC)
- playlist.clear()
- for item in data:
- listitem = xbmcgui.ListItem('test')
- listitem.setInfo(type='music', infoLabels={'title':
item.get("label")})
- url = urlparse.urljoin(host, "/serve/")
- url = urlparse.urljoin(url, item['urlpath'])
- playlist.add(url, listitem)
- xbmc.Player().play(playlist)
-
class Main(object):
def __init__(self):
self.session_id = None
- self.host = host
+ self.host = self.fix_host(host)
self.username = username
self.password = password
+ def fix_host(self, host):
+ if host.lower().startswith("http://") or
host.lower().startswith("https://"):
+ return host
+ else:
+ return "http://" + host
def main(self):
@@ -170,15 +163,15 @@ class Main(object):
elif mode == '1' and url is None:
data = UI().get_data_from_keyboard()
if data:
- UI().search_menu(self.search(data))
+ UI().search_menu(self.host, self.search(data))
elif mode == '1' and url:
UI().add_to_current_playlist(name, url)
elif mode == '2':
- UI().create_playlist(self.get_random_list())
+ UI().create_playlist(self.host, self.get_random_list())
elif mode == '3' and url is None:
UI().show_playlists_menu(self.get_playlists())
elif mode == '3' and url:
- UI().create_playlist(self.get_playlist(url))
+ UI().create_playlist(self.host, self.get_playlist(url))
def login(self, host, username, password):
""" Login to CherryMusic using POST method """
@@ -197,7 +190,7 @@ class Main(object):
def get_random_list(self):
""" CherryMusic server generates random playlist, function returns
deserialised data """
- request = urllib2.Request(urlparse.urljoin(host,
"api/generaterandomplaylist"))
+ request = urllib2.Request(urlparse.urljoin(self.host,
"api/generaterandomplaylist"))
request.add_header("Cookie", self.session_id)
try:
response = urllib2.urlopen(request)
@@ -214,7 +207,7 @@ class Main(object):
def get_playlists(self):
""" CherryMusic server returns available playlists, function returns
deserialised data """
- request = urllib2.Request(urlparse.urljoin(host, "api/showplaylists"))
+ request = urllib2.Request(urlparse.urljoin(self.host,
"api/showplaylists"))
request.add_header("Cookie", self.session_id)
try:
response = urllib2.urlopen(request)
@@ -232,7 +225,7 @@ class Main(object):
def get_playlist(self, id):
""" CherryMusic server returns playlists by id, function returns
deserialised data """
- request = urllib2.Request(urlparse.urljoin(host, "api/loadplaylist"))
+ request = urllib2.Request(urlparse.urljoin(self.host,
"api/loadplaylist"))
data = urllib.urlencode({"data": json.dumps({"playlistid": id})})
request.add_header("Cookie", self.session_id)
response = urllib2.urlopen(request, data=data)
@@ -242,7 +235,7 @@ class Main(object):
def search(self, text):
""" CherryMusic server returns found tracks by sting, function returns
deserialised data """
- request = urllib2.Request(urlparse.urljoin(host, "api/search"))
+ request = urllib2.Request(urlparse.urljoin(self.host, "api/search"))
data = urllib.urlencode({"data": json.dumps({"searchstring": text})})
request.add_header("Cookie", self.session_id)
try:
diff --git a/plugin.audio.cherrymusic/resources/language/English/strings.po
b/plugin.audio.cherrymusic/resources/language/English/strings.po
index 6f6f8fd..06fccd4 100644
--- a/plugin.audio.cherrymusic/resources/language/English/strings.po
+++ b/plugin.audio.cherrymusic/resources/language/English/strings.po
@@ -29,6 +29,10 @@ msgctxt "#30003"
msgid "Password"
msgstr ""
+msgctxt "#30004"
+msgid "Note: Field 'Host and port' should be like this: http://HOST:PORT"
+msgstr ""
+
msgctxt "#30010"
msgid "Search by Title"
msgstr ""
diff --git a/plugin.audio.cherrymusic/resources/language/Russian/strings.po
b/plugin.audio.cherrymusic/resources/language/Russian/strings.po
index 72ca871..6a71046 100644
--- a/plugin.audio.cherrymusic/resources/language/Russian/strings.po
+++ b/plugin.audio.cherrymusic/resources/language/Russian/strings.po
@@ -29,6 +29,10 @@ msgctxt "#30003"
msgid "Password"
msgstr "ÐаÑолÑ"
+msgctxt "#30004"
+msgid "Note: Field 'Host and port' should be like this: http://HOST:PORT"
+msgstr "Ðажно: Ðоле 'Узел и поÑÑ' должно бÑÑÑ
Ñаким: http://ХоÑÑ:ÐоÑÑ"
+
msgctxt "#30010"
msgid "Search by Title"
msgstr "ÐÑкаÑÑ Ð¿Ð¾ имени"
diff --git a/plugin.audio.cherrymusic/resources/settings.xml
b/plugin.audio.cherrymusic/resources/settings.xml
index f06c435..0dc8116 100644
--- a/plugin.audio.cherrymusic/resources/settings.xml
+++ b/plugin.audio.cherrymusic/resources/settings.xml
@@ -2,6 +2,7 @@
<settings>
<category label="30000">
<setting id="cherrymusichost" type="text" label="30001"
default=""/>
+ <setting label="30004" type="lsep"/>
<setting id="cherrymusicuser" type="text" label="30002"
default=""/>
<setting id="cherrymusicpass" type="text" label="30003"
default="" option="hidden"/>
</category>
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=7ed4d403de2bf1cefbb7c70ced29f406f4cc9aee
commit 7ed4d403de2bf1cefbb7c70ced29f406f4cc9aee
Author: beenje <[email protected]>
Date: Mon Dec 2 22:38:56 2013 +0100
[plugin.video.zapiks] updated to version 1.1.2
diff --git a/plugin.video.zapiks/addon.xml b/plugin.video.zapiks/addon.xml
index 45390cd..c784827 100644
--- a/plugin.video.zapiks/addon.xml
+++ b/plugin.video.zapiks/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.zapiks"
name="Zapiks"
- version="1.1.1"
+ version="1.1.2"
provider-name="divingmule">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
diff --git a/plugin.video.zapiks/changelog.txt
b/plugin.video.zapiks/changelog.txt
index 3f9fa81..14d2a0a 100644
--- a/plugin.video.zapiks/changelog.txt
+++ b/plugin.video.zapiks/changelog.txt
@@ -1,3 +1,6 @@
+Version 1.1.2
+fix website changes
+
Version 1.1.1
update fanart
diff --git a/plugin.video.zapiks/default.py b/plugin.video.zapiks/default.py
index e8677b7..8c48c01 100644
--- a/plugin.video.zapiks/default.py
+++ b/plugin.video.zapiks/default.py
@@ -1,3 +1,4 @@
+import re
import urllib
import urllib2
from urlparse import urlparse, parse_qs
@@ -53,10 +54,10 @@ def make_request(url, post_data=None):
def cache_categories():
soup = BeautifulSoup(make_request(base_url), 'html.parser')
items = soup('ul', attrs={'id' : "sports_navigation"})[0]('a')
- cats = [{'name': i.string.encode('utf-8'), 'url': i['href']} for i in
items]
+ cats = [{'name': i.string.encode('utf-8'), 'url': i['href']} for i in
items if i.string]
return cats
-
-
+
+
def cache_pro_categories():
label_list = ['marques', 'events', 'prods', 'riders', 'crews', 'media']
label_dict = {}
@@ -69,15 +70,15 @@ def cache_pro_categories():
'items': [{'title': x.a['title'].encode('utf-8'),
'url': x.a['href'],
'thumb': x.img['src']} for
- x in i('div')]} for i in soup('div', class_='pro-type-bloc')]
+ x in i('div', class_='pro-preview')]} for i in soup('div',
class_='pro-type-bloc')]
return pro_list
-
-
+
+
def display_pro_categories():
for i in range(30002, 30008):
add_dir(language(i), 'pro_cat', icon, 'get_pro_cat')
-
-
+
+
def display_pro_category(cat_name):
cat_list = cache.cacheFunction(cache_pro_categories)
items = [i['items'] for i in cat_list if i['label'] == cat_name][0]
@@ -89,7 +90,6 @@ def display_categories():
add_dir(language(30000), None, icon, 'get_partners')
items = cache.cacheFunction(cache_categories)
for i in items:
- if i['name'] == 'more sports': continue
add_dir(i['name'].title(), i['url'], icon, 'get_category')
@@ -104,12 +104,23 @@ def display_category(url):
else:
soup = BeautifulSoup(make_request(base_url + url), 'html.parser')
if '/pro/' in url:
- items = soup.find('div', attrs={'id': 'content'})('div',
class_='media_thumbnail')
+ items = soup('div', class_='media_thumbnail')
else:
- items = soup.find('div', class_='col wrapper')('div',
class_='media_thumbnail')
+ items = soup.find('div', attrs={'id': 'list-media'})('div',
class_='media_thumbnail')
+ thumb_data = soup.find('style', attrs={'type': 'text/css'})
+ thumb_items = thumb_data.get_text().replace(' ', '').split('@media')
+ id_pattern = re.compile('thumbnail_container.(.+?){')
+ url_pattern = re.compile("background-image:url\('(.+?)'\);")
+ thumb_dict = {}
+ for i in thumb_items:
+ thumb_dict[id_pattern.findall(i)[0]] = url_pattern.findall(i)[0]
for i in items:
- title = i.a['title'].encode('utf-8')
- add_dir(title, base_url + i.a['href'], i.img['src'], 'resolve_url')
+ try:
+ title = i.a['title'].encode('utf-8')
+ thumb_id = i.div['class'][1]
+ add_dir(title, base_url + i.a['href'], thumb_dict[thumb_id],
'resolve_url')
+ except:
+ addon_log('addonException display_category: %s' %format_exc())
try:
page_url = soup.find('h4', class_='page_navigator')('a',
class_='next')[0]['href']
@@ -121,7 +132,7 @@ def display_category(url):
def get_navigation(url):
soup = BeautifulSoup(make_request(url), 'html.parser')
- nav_tags = soup.find('div', attrs={'id': 'content'})('div',
class_='col')[:3]
+ nav_tags = soup('div', class_='top-videos-block')
page_url = soup.find('div', attrs={'id': 'central_block'}).a['href']
nav = {'url': page_url,
'filters': [{'name': i.a['title'].encode('utf-8').title(),
@@ -156,7 +167,7 @@ def resolve_url(url, thumb):
addon_log('addonException: hd.file: %s' %format_exc())
pass
return data['config']['file']
-
+
def add_dir(name, url, iconimage, mode):
params = {'name': name, 'url': url, 'mode': mode, 'thumb': iconimage}
@@ -207,7 +218,7 @@ elif mode == 'resolve_url':
elif mode == 'select_filter':
select_filter()
xbmcplugin.endOfDirectory(int(sys.argv[1]))
-
+
elif mode == 'get_partners':
display_pro_categories()
xbmcplugin.endOfDirectory(int(sys.argv[1]))
-----------------------------------------------------------------------
Summary of changes:
plugin.audio.cherrymusic/addon.xml | 2 +-
plugin.audio.cherrymusic/changelog.txt | 4 ++
plugin.audio.cherrymusic/cherrymusic.py | 37 +++++++----------
.../resources/language/English/strings.po | 4 ++
.../resources/language/Russian/strings.po | 4 ++
plugin.audio.cherrymusic/resources/settings.xml | 1 +
plugin.video.zapiks/addon.xml | 2 +-
plugin.video.zapiks/changelog.txt | 3 +
plugin.video.zapiks/default.py | 43 ++++++++++++-------
9 files changed, 60 insertions(+), 40 deletions(-)
hooks/post-receive
--
Plugins
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons