The branch, eden has been updated
via d7bdd93f494af9ac239b4883457167149c16d424 (commit)
via 7283827f6b422071d2f9c96bf90f12114033d123 (commit)
from 73226973f908528e7384af06ba647074521e1cba (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=d7bdd93f494af9ac239b4883457167149c16d424
commit d7bdd93f494af9ac239b4883457167149c16d424
Author: beenje <[email protected]>
Date: Fri Dec 28 23:11:33 2012 +0100
[script.common.plugin.cache] updated to version 1.4.0
diff --git a/script.common.plugin.cache/addon.xml
b/script.common.plugin.cache/addon.xml
index 4fd4d49..5993278 100644
--- a/script.common.plugin.cache/addon.xml
+++ b/script.common.plugin.cache/addon.xml
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
-<addon id='script.common.plugin.cache' version='1.3.0' name='Common plugin
cache' provider-name='TheCollective'>
+<addon id='script.common.plugin.cache' version='1.4.0' name='Common plugin
cache' provider-name='TheCollective'>
<requires>
<import addon='xbmc.python' version='2.0'/>
</requires>
diff --git a/script.common.plugin.cache/changelog.txt
b/script.common.plugin.cache/changelog.txt
index 2659718..6362580 100644
--- a/script.common.plugin.cache/changelog.txt
+++ b/script.common.plugin.cache/changelog.txt
@@ -1,3 +1,9 @@
+[B]Version 1.4.0[/B]
+- Fixed: edge case where unicode input values would cause cache to crash
+
+[B]Version 1.3.0[/B]
+- Minor fixes
+
[B]Version 1.2.0[/B]
- Minor fixes
diff --git a/script.common.plugin.cache/lib/StorageServer.py
b/script.common.plugin.cache/lib/StorageServer.py
index 20510af..994ab34 100644
--- a/script.common.plugin.cache/lib/StorageServer.py
+++ b/script.common.plugin.cache/lib/StorageServer.py
@@ -33,7 +33,7 @@ except: pass
class StorageServer():
def __init__(self, table=None, timeout=24, instance=False):
- self.version = "1.3.0"
+ self.version = "1.4.0"
self.plugin = "StorageClient-" + self.version
self.instance = instance
self.die = False
@@ -702,8 +702,10 @@ class StorageServer():
def _log(self, description, level=0):
if self.dbg and self.dbglevel > level:
- self.xbmc.log("[%s] %s : '%s'" % (self.plugin,
inspect.stack()[1][3], description), self.xbmc.LOGNOTICE)
-
+ try:
+ self.xbmc.log("[%s] %s : '%s'" % (self.plugin,
repr(inspect.stack()[1][3]), description), self.xbmc.LOGNOTICE)
+ except:
+ self.xbmc.log("[%s] %s : '%s'" % (self.plugin,
repr(inspect.stack()[1][3]), repr(description)), self.xbmc.LOGNOTICE)
# Check if this module should be run in instance mode or not.
__workersByName = {}
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=7283827f6b422071d2f9c96bf90f12114033d123
commit 7283827f6b422071d2f9c96bf90f12114033d123
Author: beenje <[email protected]>
Date: Fri Dec 28 23:11:26 2012 +0100
[script.module.parsedom] updated to version 1.5.0
diff --git a/script.module.parsedom/addon.xml b/script.module.parsedom/addon.xml
index 11f4f56..24b44ac 100644
--- a/script.module.parsedom/addon.xml
+++ b/script.module.parsedom/addon.xml
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
-<addon id='script.module.parsedom' version='1.4.0' name='Parsedom for xbmc
plugins' provider-name='TheCollective'>
+<addon id='script.module.parsedom' version='1.5.0' name='Parsedom for xbmc
plugins' provider-name='TheCollective'>
<requires>
<import addon='xbmc.python' version='2.0'/>
</requires>
diff --git a/script.module.parsedom/changelog.txt
b/script.module.parsedom/changelog.txt
index 86b34c5..1d0d94b 100644
--- a/script.module.parsedom/changelog.txt
+++ b/script.module.parsedom/changelog.txt
@@ -1,5 +1,10 @@
+[B]Version 1.5.0[/B]
+- Fixed: proper fix for getParameters that only affects Frodo branch
+- Added: new function to get the version of xbmc as a float
+
+
[B]Version 1.4.0[/B]
-- Version 1.3 was too aggressive on frodo and not needed in eden, so we're
doing a rollback on eden and fix on frodo
+- Special fix for eden branch to unbreak changes for Frodo
[B]Version 1.3.0[/B]
- Team xbmc decided to stop unquote-ing their path strings, so getParams now
does it for them
diff --git a/script.module.parsedom/lib/CommonFunctions.py
b/script.module.parsedom/lib/CommonFunctions.py
index 666f120..5125f4d 100644
--- a/script.module.parsedom/lib/CommonFunctions.py
+++ b/script.module.parsedom/lib/CommonFunctions.py
@@ -27,8 +27,8 @@ import HTMLParser
#import chardet
import json
-version = u"1.4.0"
-plugin = u"CommonFunctions-" + version
+version = u"1.5.0"
+plugin = u"CommonFunctions Beta-" + version
print plugin
USERAGENT = u"Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1)
Gecko/20121011 Firefox/16.0.1"
@@ -93,17 +93,34 @@ def getUserInputNumbers(title=u"Input", default=u""):
return str(result)
+def getXBMCVersion():
+ log("", 3)
+ version = xbmc.getInfoLabel( "System.BuildVersion" )
+ log(version, 3)
+ if version.find("-") -1:
+ version = version[:version.find("-")]
+ version = float(version)
+ log(repr(version))
+ return version
+
# Converts the request url passed on by xbmc to the plugin into a dict of
key-value pairs
def getParameters(parameterString):
log("", 5)
commands = {}
+ if getXBMCVersion() >= 12.0:
+ parameterString = urllib.unquote_plus(parameterString)
splitCommands = parameterString[parameterString.find('?') + 1:].split('&')
for command in splitCommands:
if (len(command) > 0):
splitCommand = command.split('=')
key = splitCommand[0]
- value = splitCommand[1]
+ try:
+ value = splitCommand[1].encode("utf-8")
+ except:
+ log("Error utf-8 encoding argument value: " +
repr(splitCommand[1]))
+ value = splitCommand[1]
+
commands[key] = value
log(repr(commands), 5)
@@ -172,7 +189,10 @@ def _getDOMContent(html, name, match, ret): # Cleanup
def _getDOMAttributes(match, name, ret):
log("", 3)
- lst = re.compile('<' + name + '.*?' + ret + '=(.[^>]*?)>', re.M |
re.S).findall(match)
+
+ lst = re.compile('<' + name + '.*?' + ret + '=([\'"].[^>]*?[\'"])>', re.M
| re.S).findall(match)
+ if len(lst) == 0:
+ lst = re.compile('<' + name + '.*?' + ret + '=(.[^>]*?)>', re.M |
re.S).findall(match)
ret = []
for tmp in lst:
cont_char = tmp[0]
@@ -202,6 +222,7 @@ def _getDOMAttributes(match, name, ret):
def _getDOMElements(item, name, attrs):
log("", 3)
+
lst = []
for key in attrs:
lst2 = re.compile('(<' + name + '[^>]*?(?:' + key + '=[\'"]' +
attrs[key] + '[\'"].*?>))', re.M | re.S).findall(item)
@@ -232,7 +253,6 @@ def _getDOMElements(item, name, attrs):
def parseDOM(html, name=u"", attrs={}, ret=False):
log("Name: " + repr(name) + " - Attrs:" + repr(attrs) + " - Ret: " +
repr(ret) + " - HTML: " + str(type(html)), 3)
- #log("BLA: " + repr(type(html)) + " - " + repr(type(name)))
if isinstance(name, str): # Should be handled
try:
-----------------------------------------------------------------------
Summary of changes:
script.common.plugin.cache/addon.xml | 2 +-
script.common.plugin.cache/changelog.txt | 6 ++++
script.common.plugin.cache/lib/StorageServer.py | 8 ++++--
script.module.parsedom/addon.xml | 2 +-
script.module.parsedom/changelog.txt | 7 ++++-
script.module.parsedom/lib/CommonFunctions.py | 30 +++++++++++++++++++----
6 files changed, 44 insertions(+), 11 deletions(-)
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and
much more. Get web development skills now with LearnDevNow -
350+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122812
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons