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

Reply via email to