The branch, dharma has been updated
via ed4358aced49f3f8841ad28c134f56cbfea49d6a (commit)
via b2e74f795659e7fddddf8fc2f975bb9f46803411 (commit)
from 935e74392ce34808df38bf49ef505d4dd7efc84f (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=ed4358aced49f3f8841ad28c134f56cbfea49d6a
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=b2e74f795659e7fddddf8fc2f975bb9f46803411
commit b2e74f795659e7fddddf8fc2f975bb9f46803411
Author: amet <[email protected]>
Date: Tue Nov 22 09:49:06 2011 +0400
[script.audio.grooveshark] -v 0.4.4
- Fixed API changes
- Title, album, etc. is shown as "Now playing" instead of merely stream.php
diff --git a/script.audio.grooveshark/addon.xml
b/script.audio.grooveshark/addon.xml
index 4d7a18b..57ee690 100644
--- a/script.audio.grooveshark/addon.xml
+++ b/script.audio.grooveshark/addon.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="script.audio.grooveshark"
name="GrooveShark"
- version="0.4.3"
+ version="0.4.4"
provider-name="Solver">
<requires>
<import addon="xbmc.python" version="1.0"/>
diff --git a/script.audio.grooveshark/changelog.txt
b/script.audio.grooveshark/changelog.txt
index bc530ad..904af44 100644
--- a/script.audio.grooveshark/changelog.txt
+++ b/script.audio.grooveshark/changelog.txt
@@ -1,6 +1,10 @@
+0.4.4:
+ - Fixed API changes
+ - Title, album, etc. is shown as "Now playing" instead of merely stream.php
+
0.4.3:
- - Fixed a bug (change in the API) that prevented song name, albun etc. from
being displayed correctly in search results.
+ - Fixed a bug (change in the API) that prevented song name, album etc. from
being displayed correctly in search results.
- Updated the Danish translation. Thanks mrdominuzq.
- Added Portuguese (Brazil). Thanks Wanilton.
diff --git a/script.audio.grooveshark/default.py
b/script.audio.grooveshark/default.py
index cccab42..a87d598 100644
--- a/script.audio.grooveshark/default.py
+++ b/script.audio.grooveshark/default.py
@@ -113,7 +113,7 @@ else:
url = gs.getStreamURL(str(songId))
if url != "":
listitem=xbmcgui.ListItem(label='music', path=url)
- listitem.setInfo(type='Music',
infoLabels = {'url': url})
+ listitem.setInfo(type='Music',
infoLabels = {'url': url, 'title': get('songName'), 'artist':
get('artistName'), 'album': get('albumName')})
listitem.setProperty('mimetype',
'audio/mpeg')
if options == 'radio':
print 'GrooveShark: Radio mode'
diff --git a/script.audio.grooveshark/resources/lib/GrooveAPI.py
b/script.audio.grooveshark/resources/lib/GrooveAPI.py
index bb820f8..e47dbc7 100644
--- a/script.audio.grooveshark/resources/lib/GrooveAPI.py
+++ b/script.audio.grooveshark/resources/lib/GrooveAPI.py
@@ -9,13 +9,14 @@ from gw import Request as Request
from gw import JsonRPC as gwAPI
CLIENT_NAME = "jsqueue"#"gslite" #htmlshark #jsqueue
-CLIENT_VERSION = "20110606.04"#"20101012.37" #"20100831.25"
-SECRET_KEY_JS = "bewareOfBearsharktopus"
-SECRET_KEY = "backToTheScienceLab"
+CLIENT_VERSION = "20110906"#"20101012.37" #"20100831.25"
+SECRET_KEY_JS = "theTicketsAreNowDiamonds"
+SECRET_KEY = "imOnAHorse"
+COUNTRY =
'"country":{"ID":"57","CC1":"72057594037927936","CC2":"0","CC3":"0","CC4":"0","IPR":"9157"}'
RANDOM_CHARS = "1234567890abcdef"
VALIDITY_SESSION = 172800 #2 days
-VALIDITY_TOKEN = 1000 # ca. 16 min.
+VALIDITY_TOKEN = 1#1000 # ca. 16 min.
class LoginTokensExceededError(Exception):
def __init__(self):
@@ -48,7 +49,7 @@ class AuthRequest(Request):
"clientRevision": clientVersion,
"uuid": api._uuid,
"session": api._session},
- "country": {"IPR":"1021", "ID":"223",
"CC1":"0", "CC2":"0", "CC3":"0", "CC4":"2147483648"},
+
"country":{"ID":"57","CC1":"72057594037927936","CC2":"0","CC3":"0","CC4":"0","IPR":"9157"},
"privacy": 1,
"parameters": parameters,
"method": method}
@@ -278,8 +279,10 @@ class GrooveAPI(gwAPI):
"songID": songID,
"prefetch": False,
"mobile": False,
- "country": {"IPR":"1021","ID":"223", "CC1":"0",
"CC2":"0", "CC3":"0", "CC4":"2147483648"}
+
"country":{"ID":"57","CC1":"72057594037927936","CC2":"0","CC3":"0","CC4":"0","IPR":"9157"}
}
+ #"country": {"IPR":"1021","ID":"223", "CC1":"0",
"CC2":"0", "CC3":"0", "CC4":"2147483648"}
+
response = Request(self,
parameters,"getStreamKeyFromSongIDEx").send()
try:
streamKey = response["result"]["streamKey"]
@@ -288,8 +291,10 @@ class GrooveAPI(gwAPI):
postData = {"streamKey": streamKey}
postData = urllib.urlencode(postData)
url = "http://" + streamServer + "/stream.php?" +
str(postData)
+ print "############# Song URL: " + url
return url
except:
+ print "############# Didn't get an URL #############"
traceback.print_exc()
return ''
diff --git a/script.audio.grooveshark/resources/lib/gw/__init__.py
b/script.audio.grooveshark/resources/lib/gw/__init__.py
index 9df6d1d..585849f 100644
--- a/script.audio.grooveshark/resources/lib/gw/__init__.py
+++ b/script.audio.grooveshark/resources/lib/gw/__init__.py
@@ -27,17 +27,17 @@ import time
# Constants
DOMAIN = "grooveshark.com"
HOME_URL = "http://listen." + DOMAIN
-TOKEN_URL = "https://" + DOMAIN + "/more.php" #"https://cowbell." + DOMAIN +
"/service.php"
+TOKEN_URL = "https://cowbell." + DOMAIN + "/more.php" #"https://cowbell." +
DOMAIN + "/service.php"
#API_URL = "http://cowbell." + DOMAIN + "/more.php"
API_URL = "http://" + DOMAIN + "/more.php"
-SERVICE_URL = "http://" + DOMAIN + "/service.php"
+SERVICE_URL = "http://cowbell." + DOMAIN + "/service.php"
RANDOM_CHARS = "1234567890abcdef"
-SECRET_KEY_JS = "bewareOfBearsharktopus"
-SECRET_KEY = "backToTheScienceLab"
-CLIENT_NAME = "gslite" #"gslite" #htmlshark #jsqueue
+SECRET_KEY_JS = "theTicketsAreNowDiamonds"
+SECRET_KEY = "imOnAHorse"
+CLIENT_NAME = "jsqueue" #"gslite" #htmlshark #jsqueue
#CLIENT_VERSION = "20101012.37" #"20100831.25"
-CLIENT_VERSION = "20110606"#.04"
+CLIENT_VERSION = "20110906"#.04"
#CLIENT_VERSION = "20110718.01"
RE_SESSION = re.compile('"sessionID":"\s*?([A-z0-9]+)"')
#re.compile('sessionID:\s*?\'([A-z0-9]+)\',')
@@ -57,7 +57,8 @@ class Request:
clientName = 'htmlshark'
if method == 'getStreamKeyFromSongIDEx':
clientName = 'jsqueue'
- clientVersion = "20110606.04"
+ clientVersion = "20110906"
+ #clientVersion = "20110906"
if method == 'getCommunicationToken' or type == "token":
clientName = 'htmlshark'
if method == 'getSearchResultsEx':
@@ -72,7 +73,7 @@ class Request:
"clientRevision": clientVersion,
"uuid": api._uuid,
"session": api._session},
- "country": {"IPR":"1021", "ID":"223", "CC1":"0", "CC2":"0",
"CC3":"0", "CC4":"2147483648"},
+
"country":{"ID":"57","CC1":"72057594037927936","CC2":"0","CC3":"0","CC4":"0","IPR":"9157"},
"privacy": 1,
"parameters": parameters,
"method": method}
-----------------------------------------------------------------------
Summary of changes:
script.audio.grooveshark/addon.xml | 2 +-
script.audio.grooveshark/changelog.txt | 6 +-
script.audio.grooveshark/default.py | 2 +-
.../resources/lib/GrooveAPI.py | 17 +-
.../resources/lib/gw/__init__.py | 17 +-
.../LICENSE.txt | 0
weather.weatherplus/WeatherClient.py | 4842 ++++++++++++++++++++
weather.weatherplus/addon.xml | 15 +
weather.weatherplus/changelog.txt | 129 +
weather.weatherplus/default.py | 24 +
weather.weatherplus/icon.png | Bin 0 -> 82140 bytes
weather.weatherplus/properties.txt | 154 +
weather.weatherplus/pyamf/__init__.py | 848 ++++
weather.weatherplus/pyamf/_version.py | 4 +
weather.weatherplus/pyamf/adapters/__init__.py | 91 +
weather.weatherplus/pyamf/adapters/_array.py | 20 +
weather.weatherplus/pyamf/adapters/_collections.py | 20 +
weather.weatherplus/pyamf/adapters/_decimal.py | 34 +
.../pyamf/adapters/_django_contrib_auth_models.py | 17 +
.../pyamf/adapters/_django_db_models_base.py | 281 ++
.../pyamf/adapters/_django_db_models_fields.py | 23 +
.../pyamf/adapters/_django_db_models_query.py | 20 +
.../pyamf/adapters/_django_utils_translation.py | 26 +
weather.weatherplus/pyamf/adapters/_elixir.py | 59 +
.../adapters/_google_appengine_ext_blobstore.py | 77 +
.../pyamf/adapters/_google_appengine_ext_db.py | 331 ++
weather.weatherplus/pyamf/adapters/_sets.py | 20 +
.../pyamf/adapters/_sqlalchemy_orm.py | 157 +
.../pyamf/adapters/_sqlalchemy_orm_collections.py | 20 +
weather.weatherplus/pyamf/adapters/util.py | 50 +
weather.weatherplus/pyamf/alias.py | 546 +++
weather.weatherplus/pyamf/amf0.py | 749 +++
weather.weatherplus/pyamf/amf3.py | 1595 +++++++
weather.weatherplus/pyamf/codec.py | 521 +++
weather.weatherplus/pyamf/flex/__init__.py | 263 ++
weather.weatherplus/pyamf/flex/data.py | 124 +
weather.weatherplus/pyamf/flex/messaging.py | 539 +++
weather.weatherplus/pyamf/python.py | 78 +
weather.weatherplus/pyamf/remoting/__init__.py | 689 +++
weather.weatherplus/pyamf/remoting/amf0.py | 135 +
weather.weatherplus/pyamf/remoting/amf3.py | 191 +
.../pyamf/remoting/client/__init__.py | 494 ++
.../pyamf/remoting/gateway/__init__.py | 598 +++
.../pyamf/remoting/gateway/django.py | 183 +
.../pyamf/remoting/gateway/google.py | 171 +
.../pyamf/remoting/gateway/twisted.py | 417 ++
weather.weatherplus/pyamf/remoting/gateway/wsgi.py | 182 +
weather.weatherplus/pyamf/sol.py | 201 +
weather.weatherplus/pyamf/tests/__init__.py | 118 +
.../pyamf/tests/adapters/__init__.py | 10 +
.../pyamf/tests/adapters/_google_models.py | 56 +
.../pyamf/tests/adapters/django_app}/__init__.py | 0
.../adapters/django_app/adapters}/__init__.py | 0
.../tests/adapters/django_app/adapters/models.py | 127 +
.../pyamf/tests/adapters/django_app/settings.py | 6 +
.../pyamf/tests/adapters/test_array.py | 44 +
.../pyamf/tests/adapters/test_collections.py | 74 +
.../pyamf/tests/adapters/test_django.py | 733 +++
.../pyamf/tests/adapters/test_elixir.py | 128 +
.../pyamf/tests/adapters/test_google.py | 1153 +++++
.../pyamf/tests/adapters/test_sqlalchemy.py | 415 ++
.../pyamf/tests/gateway/__init__.py | 8 +
.../pyamf/tests/gateway/test_django.py | 221 +
.../pyamf/tests/gateway/test_google.py | 138 +
.../pyamf/tests/gateway/test_twisted.py | 805 ++++
.../pyamf/tests/gateway/test_wsgi.py | 174 +
.../pyamf/tests/modules/__init__.py | 2 +
.../pyamf/tests/modules/test_decimal.py | 29 +
.../pyamf/tests/modules/test_sets.py | 38 +
.../pyamf/tests/remoting/__init__.py | 8 +
.../pyamf/tests/remoting/test_amf0.py | 76 +
.../pyamf/tests/remoting/test_client.py | 611 +++
.../pyamf/tests/remoting/test_remoteobject.py | 247 +
weather.weatherplus/pyamf/tests/test_adapters.py | 66 +
.../pyamf/tests/test_adapters_util.py | 72 +
weather.weatherplus/pyamf/tests/test_alias.py | 1142 +++++
weather.weatherplus/pyamf/tests/test_amf0.py | 1055 +++++
weather.weatherplus/pyamf/tests/test_amf3.py | 1541 +++++++
weather.weatherplus/pyamf/tests/test_basic.py | 604 +++
weather.weatherplus/pyamf/tests/test_codec.py | 270 ++
weather.weatherplus/pyamf/tests/test_flex.py | 232 +
.../pyamf/tests/test_flex_messaging.py | 195 +
weather.weatherplus/pyamf/tests/test_gateway.py | 775 ++++
weather.weatherplus/pyamf/tests/test_imports.py | 105 +
weather.weatherplus/pyamf/tests/test_remoting.py | 390 ++
weather.weatherplus/pyamf/tests/test_sol.py | 225 +
weather.weatherplus/pyamf/tests/test_util.py | 1170 +++++
weather.weatherplus/pyamf/tests/test_versions.py | 41 +
weather.weatherplus/pyamf/tests/test_xml.py | 84 +
weather.weatherplus/pyamf/tests/util.py | 257 ++
weather.weatherplus/pyamf/util/__init__.py | 197 +
weather.weatherplus/pyamf/util/imports.py | 137 +
weather.weatherplus/pyamf/util/pure.py | 700 +++
weather.weatherplus/pyamf/versions.py | 40 +
weather.weatherplus/pyamf/xml.py | 165 +
weather.weatherplus/resources/__init__.py | 1 +
.../resources/language/English/strings.xml | 259 ++
.../resources/language/Korean/strings.xml | 248 +
.../language/Portuguese (Brazil)/strings.xml | 209 +
.../resources/language/Spanish/strings.xml | 209 +
.../resources/lib/Location_Selector.py | 103 +
weather.weatherplus/resources/lib/__init__.py | 1 +
weather.weatherplus/resources/lib/addon_manager.py | 145 +
weather.weatherplus/resources/lib/video_amf.py | 51 +
.../resources/lib/video_selector.py | 185 +
weather.weatherplus/resources/settings.xml | 59 +
weather.weatherplus/xbmcplugin_weather.py | 1171 +++++
107 files changed, 32290 insertions(+), 17 deletions(-)
copy {script.filecleaner => weather.weatherplus}/LICENSE.txt (100%)
create mode 100644 weather.weatherplus/WeatherClient.py
create mode 100644 weather.weatherplus/addon.xml
create mode 100644 weather.weatherplus/changelog.txt
create mode 100644 weather.weatherplus/default.py
create mode 100644 weather.weatherplus/icon.png
create mode 100644 weather.weatherplus/properties.txt
create mode 100644 weather.weatherplus/pyamf/__init__.py
create mode 100644 weather.weatherplus/pyamf/_version.py
create mode 100644 weather.weatherplus/pyamf/adapters/__init__.py
create mode 100644 weather.weatherplus/pyamf/adapters/_array.py
create mode 100644 weather.weatherplus/pyamf/adapters/_collections.py
create mode 100644 weather.weatherplus/pyamf/adapters/_decimal.py
create mode 100644
weather.weatherplus/pyamf/adapters/_django_contrib_auth_models.py
create mode 100644 weather.weatherplus/pyamf/adapters/_django_db_models_base.py
create mode 100644
weather.weatherplus/pyamf/adapters/_django_db_models_fields.py
create mode 100644
weather.weatherplus/pyamf/adapters/_django_db_models_query.py
create mode 100644
weather.weatherplus/pyamf/adapters/_django_utils_translation.py
create mode 100644 weather.weatherplus/pyamf/adapters/_elixir.py
create mode 100644
weather.weatherplus/pyamf/adapters/_google_appengine_ext_blobstore.py
create mode 100644
weather.weatherplus/pyamf/adapters/_google_appengine_ext_db.py
create mode 100644 weather.weatherplus/pyamf/adapters/_sets.py
create mode 100644 weather.weatherplus/pyamf/adapters/_sqlalchemy_orm.py
create mode 100644
weather.weatherplus/pyamf/adapters/_sqlalchemy_orm_collections.py
create mode 100644 weather.weatherplus/pyamf/adapters/util.py
create mode 100644 weather.weatherplus/pyamf/alias.py
create mode 100644 weather.weatherplus/pyamf/amf0.py
create mode 100644 weather.weatherplus/pyamf/amf3.py
create mode 100644 weather.weatherplus/pyamf/codec.py
create mode 100644 weather.weatherplus/pyamf/flex/__init__.py
create mode 100644 weather.weatherplus/pyamf/flex/data.py
create mode 100644 weather.weatherplus/pyamf/flex/messaging.py
create mode 100644 weather.weatherplus/pyamf/python.py
create mode 100644 weather.weatherplus/pyamf/remoting/__init__.py
create mode 100644 weather.weatherplus/pyamf/remoting/amf0.py
create mode 100644 weather.weatherplus/pyamf/remoting/amf3.py
create mode 100644 weather.weatherplus/pyamf/remoting/client/__init__.py
create mode 100644 weather.weatherplus/pyamf/remoting/gateway/__init__.py
create mode 100644 weather.weatherplus/pyamf/remoting/gateway/django.py
create mode 100644 weather.weatherplus/pyamf/remoting/gateway/google.py
create mode 100644 weather.weatherplus/pyamf/remoting/gateway/twisted.py
create mode 100644 weather.weatherplus/pyamf/remoting/gateway/wsgi.py
create mode 100644 weather.weatherplus/pyamf/sol.py
create mode 100644 weather.weatherplus/pyamf/tests/__init__.py
create mode 100644 weather.weatherplus/pyamf/tests/adapters/__init__.py
create mode 100644 weather.weatherplus/pyamf/tests/adapters/_google_models.py
copy {script.extrafanartdownloader/resources =>
weather.weatherplus/pyamf/tests/adapters/django_app}/__init__.py (100%)
copy {script.extrafanartdownloader/resources =>
weather.weatherplus/pyamf/tests/adapters/django_app/adapters}/__init__.py (100%)
create mode 100644
weather.weatherplus/pyamf/tests/adapters/django_app/adapters/models.py
create mode 100644
weather.weatherplus/pyamf/tests/adapters/django_app/settings.py
create mode 100644 weather.weatherplus/pyamf/tests/adapters/test_array.py
create mode 100644 weather.weatherplus/pyamf/tests/adapters/test_collections.py
create mode 100644 weather.weatherplus/pyamf/tests/adapters/test_django.py
create mode 100644 weather.weatherplus/pyamf/tests/adapters/test_elixir.py
create mode 100644 weather.weatherplus/pyamf/tests/adapters/test_google.py
create mode 100644 weather.weatherplus/pyamf/tests/adapters/test_sqlalchemy.py
create mode 100644 weather.weatherplus/pyamf/tests/gateway/__init__.py
create mode 100644 weather.weatherplus/pyamf/tests/gateway/test_django.py
create mode 100644 weather.weatherplus/pyamf/tests/gateway/test_google.py
create mode 100644 weather.weatherplus/pyamf/tests/gateway/test_twisted.py
create mode 100644 weather.weatherplus/pyamf/tests/gateway/test_wsgi.py
create mode 100644 weather.weatherplus/pyamf/tests/modules/__init__.py
create mode 100644 weather.weatherplus/pyamf/tests/modules/test_decimal.py
create mode 100644 weather.weatherplus/pyamf/tests/modules/test_sets.py
create mode 100644 weather.weatherplus/pyamf/tests/remoting/__init__.py
create mode 100644 weather.weatherplus/pyamf/tests/remoting/test_amf0.py
create mode 100644 weather.weatherplus/pyamf/tests/remoting/test_client.py
create mode 100644
weather.weatherplus/pyamf/tests/remoting/test_remoteobject.py
create mode 100644 weather.weatherplus/pyamf/tests/test_adapters.py
create mode 100644 weather.weatherplus/pyamf/tests/test_adapters_util.py
create mode 100644 weather.weatherplus/pyamf/tests/test_alias.py
create mode 100644 weather.weatherplus/pyamf/tests/test_amf0.py
create mode 100644 weather.weatherplus/pyamf/tests/test_amf3.py
create mode 100644 weather.weatherplus/pyamf/tests/test_basic.py
create mode 100644 weather.weatherplus/pyamf/tests/test_codec.py
create mode 100644 weather.weatherplus/pyamf/tests/test_flex.py
create mode 100644 weather.weatherplus/pyamf/tests/test_flex_messaging.py
create mode 100644 weather.weatherplus/pyamf/tests/test_gateway.py
create mode 100644 weather.weatherplus/pyamf/tests/test_imports.py
create mode 100644 weather.weatherplus/pyamf/tests/test_remoting.py
create mode 100644 weather.weatherplus/pyamf/tests/test_sol.py
create mode 100644 weather.weatherplus/pyamf/tests/test_util.py
create mode 100644 weather.weatherplus/pyamf/tests/test_versions.py
create mode 100644 weather.weatherplus/pyamf/tests/test_xml.py
create mode 100644 weather.weatherplus/pyamf/tests/util.py
create mode 100644 weather.weatherplus/pyamf/util/__init__.py
create mode 100644 weather.weatherplus/pyamf/util/imports.py
create mode 100644 weather.weatherplus/pyamf/util/pure.py
create mode 100644 weather.weatherplus/pyamf/versions.py
create mode 100644 weather.weatherplus/pyamf/xml.py
create mode 100644 weather.weatherplus/resources/__init__.py
create mode 100644 weather.weatherplus/resources/language/English/strings.xml
create mode 100644 weather.weatherplus/resources/language/Korean/strings.xml
create mode 100644 weather.weatherplus/resources/language/Portuguese
(Brazil)/strings.xml
create mode 100644 weather.weatherplus/resources/language/Spanish/strings.xml
create mode 100644 weather.weatherplus/resources/lib/Location_Selector.py
create mode 100644 weather.weatherplus/resources/lib/__init__.py
create mode 100644 weather.weatherplus/resources/lib/addon_manager.py
create mode 100644 weather.weatherplus/resources/lib/video_amf.py
create mode 100644 weather.weatherplus/resources/lib/video_selector.py
create mode 100644 weather.weatherplus/resources/settings.xml
create mode 100644 weather.weatherplus/xbmcplugin_weather.py
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure
contains a definitive record of customers, application performance,
security threats, fraudulent activity, and more. Splunk takes this
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons