The branch, frodo has been updated
via 571fccaafaef107bfd0dd476abed9d6b54ec4c27 (commit)
via 2b7f1a6924f021fb019f519b48da9d45ef6778c0 (commit)
via cdc7d35e3675b7f19525fd8529d7b38b42f00450 (commit)
from a7fdfee6120443a24a774a73a67c74ed8743022a (commit)
- Log -----------------------------------------------------------------
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=571fccaafaef107bfd0dd476abed9d6b54ec4c27
commit 571fccaafaef107bfd0dd476abed9d6b54ec4c27
Author: beenje <[email protected]>
Date: Thu Jan 3 22:02:34 2013 +0100
[script.module.parsedom] updated to version 2.5.1
diff --git a/script.module.parsedom/addon.xml b/script.module.parsedom/addon.xml
index c3b679c..6d2e1aa 100644
--- a/script.module.parsedom/addon.xml
+++ b/script.module.parsedom/addon.xml
@@ -1,11 +1,11 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
-<addon id='script.module.parsedom' version='1.3.0' name='Parsedom for xbmc
plugins' provider-name='TheCollective'>
+<addon id="script.module.parsedom" name="Parsedom for xbmc plugins"
provider-name="TheCollective" version="2.5.1">
<requires>
- <import addon='xbmc.python' version='2.0'/>
+ <import addon="xbmc.python" version="2.1.0" />
</requires>
- <extension point='xbmc.addon.metadata'>
+ <extension point="xbmc.addon.metadata">
<platform>all</platform>
- <summary lang='en'>Parsedom for xbmc plugins.</summary>
+ <summary lang="en">Parsedom for xbmc plugins.</summary>
</extension>
- <extension point='xbmc.python.module' library='lib' />
-</addon>
+ <extension library="lib" point="xbmc.python.module" />
+</addon>
\ No newline at end of file
diff --git a/script.module.parsedom/changelog.txt
b/script.module.parsedom/changelog.txt
index 0838db1..1d0d94b 100644
--- a/script.module.parsedom/changelog.txt
+++ b/script.module.parsedom/changelog.txt
@@ -1,5 +1,13 @@
+[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]
+- Special fix for eden branch to unbreak changes for Frodo
+
[B]Version 1.3.0[/B]
-- Team xvmc decided to stop unquote-ing their path strings, so getParams now
does it for them
+- Team xbmc decided to stop unquote-ing their path strings, so getParams now
does it for them
[B]Version 1.2.0[/B]
- fetchPage should default to utf-8 encoding
diff --git a/script.module.parsedom/lib/CommonFunctions.py
b/script.module.parsedom/lib/CommonFunctions.py
index 71fd67e..a6e5253 100644
--- a/script.module.parsedom/lib/CommonFunctions.py
+++ b/script.module.parsedom/lib/CommonFunctions.py
@@ -27,7 +27,7 @@ import HTMLParser
#import chardet
import json
-version = u"1.3.0"
+version = u"2.5.1"
plugin = u"CommonFunctions-" + version
print plugin
@@ -93,18 +93,35 @@ def getUserInputNumbers(title=u"Input", default=u""):
return str(result)
+def getXBMCVersion():
+ log("", 3)
+ version = xbmc.getInfoLabel( "System.BuildVersion" )
+ log(version, 3)
+ for key in ["-", " "]:
+ if version.find(key) -1:
+ version = version[:version.find(key)]
+ 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 = {}
- parameterString = urllib.unquote_plus(parameterString)
+ 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)
@@ -173,7 +190,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]
@@ -203,6 +223,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)
@@ -233,7 +254,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:
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=2b7f1a6924f021fb019f519b48da9d45ef6778c0
commit 2b7f1a6924f021fb019f519b48da9d45ef6778c0
Author: beenje <[email protected]>
Date: Thu Jan 3 22:02:28 2013 +0100
[script.module.simple.downloader] updated to version 1.9.4
diff --git a/script.module.simple.downloader/addon.xml
b/script.module.simple.downloader/addon.xml
index 5ba8e63..b51b30f 100644
--- a/script.module.simple.downloader/addon.xml
+++ b/script.module.simple.downloader/addon.xml
@@ -1,14 +1,14 @@
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
-<addon id='script.module.simple.downloader' version='0.9.3' name='Simple
Downloader for xbmc plugins' provider-name='TheCollective'>
+<addon id="script.module.simple.downloader" name="Simple Downloader for xbmc
plugins" provider-name="TheCollective" version="1.9.4">
<requires>
- <import addon='xbmc.python' version='2.0'/>
- <import addon='script.common.plugin.cache' version='1.0.0'/>
- <import addon='script.module.parsedom' version='1.0.0'/>
+ <import addon="xbmc.python" version="2.1.0" />
+ <import addon="script.common.plugin.cache" version="2.5.0" />
+ <import addon="script.module.parsedom" version="2.5.1" />
</requires>
- <extension point='xbmc.service' library="default.py" />
- <extension point='xbmc.addon.metadata'>
+ <extension library="default.py" point="xbmc.service" />
+ <extension point="xbmc.addon.metadata">
<platform>all</platform>
- <summary lang='en'>Simple downloader for xbmc plugins.</summary>
+ <summary lang="en">Simple downloader for xbmc plugins.</summary>
</extension>
- <extension point='xbmc.python.module' library='lib' />
-</addon>
+ <extension library="lib" point="xbmc.python.module" />
+</addon>
\ No newline at end of file
diff --git a/script.module.simple.downloader/changelog.txt
b/script.module.simple.downloader/changelog.txt
index 0761647..d873d91 100644
--- a/script.module.simple.downloader/changelog.txt
+++ b/script.module.simple.downloader/changelog.txt
@@ -4,6 +4,9 @@
- Add "Trying rtmpdump", "Trying vlc", "Trying mplayer" messages to OSD
- Fix skin xml issue.
+[B]Version 1.0.0[/B]
+- Fixed: made plugin work on Frodo
+
[B]Version 0.9.3[/B]
- Fix UTF-8 issues.
- Fix mkdirs issues.
diff --git a/script.module.simple.downloader/default.py
b/script.module.simple.downloader/default.py
index d94bbc2..13e9146 100644
--- a/script.module.simple.downloader/default.py
+++ b/script.module.simple.downloader/default.py
@@ -10,7 +10,7 @@ import urllib2
settings = xbmcaddon.Addon(id='script.module.simple.downloader')
language = settings.getLocalizedString
-version = "0.9.3"
+version = "1.9.4"
plugin = "SimpleDownloader-" + version
core = ""
common = ""
diff --git a/script.module.simple.downloader/lib/DialogDownloadProgress.py
b/script.module.simple.downloader/lib/DialogDownloadProgress.py
index fd8407a..3160206 100644
--- a/script.module.simple.downloader/lib/DialogDownloadProgress.py
+++ b/script.module.simple.downloader/lib/DialogDownloadProgress.py
@@ -27,14 +27,13 @@ except:
addonDir = settings.getAddonInfo("path")
XBMC_SKIN = xbmc.getSkinDir()
-
class xbmcguiWindowError(Exception):
def __init__(self, winError=None):
Exception.__init__(self, winError)
class Control:
- def __init__(self, control, coords=(0, 0), anim=[], **kwargs):
+ def __init__(self, control, ctype, coords=(0, 0), anim=[], **kwargs):
self.SKINS_PATH = os.path.join(addonDir, "resources", "skins")
self.ADDON_SKIN = ("default",
XBMC_SKIN)[os.path.exists(os.path.join(self.SKINS_PATH, XBMC_SKIN))]
self.MEDIA_PATH = os.path.join(self.SKINS_PATH, self.ADDON_SKIN,
"media")
@@ -48,7 +47,7 @@ class Control:
except: extra = {}
option = {}
x, y, w, h = self.getCoords(coords)
- if type(self.controlXML) == xbmcgui.ControlImage:
+ if type(self.controlXML) == xbmcgui.ControlImage or ctype == 0:
#
http://passion-xbmc.org/gros_fichiers/XBMC%20Python%20Doc/xbmc_svn/xbmcgui.html#ControlImage
texture = self.label
valideOption = "colorKey, aspectRatio, colorDiffuse".split(", ")
@@ -65,7 +64,7 @@ class Control:
# ControlImage(x, y, width, height, filename[, colorKey,
aspectRatio, colorDiffuse])
self.control = xbmcgui.ControlImage(x, y, w, h, texture, **option)
- elif type(self.controlXML) == xbmcgui.ControlLabel:
+ elif type(self.controlXML) == xbmcgui.ControlLabel or ctype == 1:
#
http://passion-xbmc.org/gros_fichiers/XBMC%20Python%20Doc/xbmc_svn/xbmcgui.html#ControlLabel
valideOption = "font, textColor, disabledColor, alignment,
hasPath, angle".split(", ")
for key, value in extra.items():
@@ -83,7 +82,7 @@ class Control:
# ControlLabel(x, y, width, height, label[, font, textColor,
disabledColor, alignment, hasPath, angle])
self.control = xbmcgui.ControlLabel(x, y, w, h, "", **option)
- elif type(self.controlXML) == xbmcgui.ControlProgress:
+ elif type(self.controlXML) == xbmcgui.ControlProgress or ctype == 2:
#
http://passion-xbmc.org/gros_fichiers/XBMC%20Python%20Doc/xbmc_svn/xbmcgui.html#ControlProgress
valideOption = "texturebg, textureleft, texturemid, textureright,
textureoverlay".split(", ")
for key, value in kwargs.items():
@@ -92,6 +91,8 @@ class Control:
option[key] = self.getTexture(value)
# ControlProgress(x, y, width, height[, texturebg, textureleft,
texturemid, textureright, textureoverlay])
self.control = xbmcgui.ControlProgress(x, y, w, h, **option)
+ else:
+ print "No match for self.controlXML: " + repr(self.controlXML)
def getTexture(self, texture):
if not xbmc.skinHasImage(texture):
@@ -155,11 +156,11 @@ class DialogDownloadProgressXML(xbmcgui.WindowXMLDialog):
except:
print_exc()
- self.controls["background"] = Control(self.getControl(2001),
coordinates, c_anim)
+ self.controls["background"] = Control(self.getControl(2001), 0,
coordinates, c_anim)
- self.controls["heading"] = Control(self.getControl(2002), coordinates,
c_anim)
+ self.controls["heading"] = Control(self.getControl(2002), 1,
coordinates, c_anim)
- self.controls["label"] = Control(self.getControl(2003), coordinates,
c_anim)
+ self.controls["label"] = Control(self.getControl(2003), 1,
coordinates, c_anim)
try:
v = xbmc.getInfoLabel("Control.GetLabel(2045)").replace(", ", ",")
@@ -167,7 +168,8 @@ class DialogDownloadProgressXML(xbmcgui.WindowXMLDialog):
except:
progressTextures = {}
- self.controls["progress"] = Control(self.getControl(2004),
coordinates, c_anim, **progressTextures)
+
+ self.controls["progress"] = Control(self.getControl(2004), 2,
coordinates, c_anim, **progressTextures)
def onFocus(self, controlID):
pass
@@ -186,9 +188,8 @@ class Window:
self.SKINS_PATH = os.path.join(addonDir, "resources", "skins")
self.ADDON_SKIN = ("default",
XBMC_SKIN)[os.path.exists(os.path.join(self.SKINS_PATH, XBMC_SKIN))]
-
windowXml = DialogDownloadProgressXML("DialogDownloadProgress.xml",
addonDir, self.ADDON_SKIN)
- #windowXml = DialogDownloadProgressXML("DialogProgress.xml", addonDir,
self.ADDON_SKIN)
+ #windowXml = DialogDownloadProgressXML("DialogProgress.xml", addonDir,
self.ADDON_SKIN) # Aeon nox
self.controls = windowXml.controls
del windowXml
@@ -204,8 +205,10 @@ class Window:
error = 0
# get the id for the current 'active' window as an integer.
# http://wiki.xbmc.org/index.php?title=Window_IDs
- try: currentWindowId = xbmcgui.getCurrentWindowId()
- except: currentWindowId = self.window
+ try:
+ currentWindowId = xbmcgui.getCurrentWindowId()
+ except:
+ currentWindowId = self.window
if hasattr(currentWindowId, "__int__") and currentWindowId !=
self.windowId:
self.removeControls()
diff --git a/script.module.simple.downloader/lib/SimpleDownloader.py
b/script.module.simple.downloader/lib/SimpleDownloader.py
index 4564026..5e2a740 100644
--- a/script.module.simple.downloader/lib/SimpleDownloader.py
+++ b/script.module.simple.downloader/lib/SimpleDownloader.py
@@ -24,12 +24,13 @@ import subprocess
import DialogDownloadProgress
+#http://wiki.openelec.tv/index.php?title=How_to_make_OpenELEC_addon_-_on_MuMuDVB_sample
class SimpleDownloader():
- dialog = ""
+ dialog = u""
def __init__(self):
- self.version = "0.9.3"
- self.plugin = "SimpleDownloader" + self.version
+ self.version = u"1.9.4"
+ self.plugin = u"SimpleDownloader-" + self.version
if hasattr(sys.modules["__main__"], "common"):
self.common = sys.modules["__main__"].common
@@ -82,7 +83,7 @@ class SimpleDownloader():
self.language = self.settings.getLocalizedString
self.hide_during_playback =
self.settings.getSetting("hideDuringPlayback") == "true"
- self.notification_length = [1, 2, 3, 4, 5, 6, 7, 8, 9,
10][int(self.settings.getSetting("notification_length"))]
+ self.notification_length = [1, 2, 3, 4, 5, 6, 7, 8, 9,
10][int(self.settings.getSetting("notification_length"))] * 1000
if self.settings.getSetting("rtmp_binary"):
self.rtmp_binary = self.settings.getSetting("rtmp_binary")
@@ -105,6 +106,7 @@ class SimpleDownloader():
if not self.xbmcvfs.exists(self.temporary_path):
self.common.log("Making path structure: " +
repr(self.temporary_path))
self.xbmcvfs.mkdir(self.temporary_path)
+ self.cur_dl = {}
self.common.log("Done")
def download(self, filename, params={}, async=True):
@@ -131,6 +133,7 @@ class SimpleDownloader():
def _setPaths(self, filename, params={}):
self.common.log(filename, 5)
+ # Check utf-8 stuff here
params["path_incomplete"] =
os.path.join(self.temporary_path.decode("utf-8"),
self.common.makeUTF8(filename))
params["path_complete"] =
os.path.join(params["download_path"].decode("utf-8"),
self.common.makeUTF8(filename))
self.common.log(params["path_incomplete"], 5)
@@ -197,12 +200,13 @@ class SimpleDownloader():
if self.dialog:
self.dialog.close()
self.common.log("Closed dialog")
- self.dialog = ""
+ self.dialog = u""
def _runCommand(self, args):
self.common.log(" ".join(args))
try:
proc = subprocess.Popen(args, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
+ self.cur_dl["proc"] = proc
except:
self.common.log("Couldn't run command")
return False
@@ -419,6 +423,18 @@ class SimpleDownloader():
if not "total_size" in item:
item["total_size"] = 0
+ def _stopCurrentDownload(self):
+ self.common.log("")
+ if "proc" in self.cur_dl:
+ self.common.log("Killing: " + repr(self.cur_dl))
+ proc = self.cur_dl["proc"]
+ try:
+ proc.kill()
+ self.common.log("Killed")
+ except:
+ self.common.log("Couldn't kill")
+ self.common.log("Done")
+
def _downloadStream(self, filename, item):
get = item.get
self.common.log(filename)
@@ -552,7 +568,7 @@ class SimpleDownloader():
self._generatePercent(item, params)
- self.common.log("recieved chunk: %s - %s" % (
repr(item["percent"] > item["old_percent"]), repr(time.time() -
params["queue_mark"])))
+ self.common.log("recieved chunk: %s - %s" % (
repr(item["percent"] > item["old_percent"]), repr(time.time() -
params["queue_mark"])), 4)
if item["percent"] > item["old_percent"] or time.time() -
params["queue_mark"] > 30:
self._run_async(self._updateProgress(filename, item,
params))
@@ -670,20 +686,20 @@ class SimpleDownloader():
items = {}
if new_mark - get("queue_mark") > 1.5:
- heading = "[%s] %sKb/s (%.2f%%)" % (len(items), speed,
item["percent"])
+ heading = u"[%s] %sKb/s (%.2f%%)" % (len(items), speed,
item["percent"])
self.common.log("Updating %s - %s" % (heading,
self.common.makeUTF8(filename)), 2)
params["queue_mark"] = new_mark
if self.xbmc.Player().isPlaying() and
self.xbmc.getCondVisibility("VideoPlayer.IsFullscreen"):
if self.dialog:
self.dialog.close()
- self.dialog = ""
+ self.dialog = u""
else:
if not self.dialog:
self.dialog = DialogDownloadProgress.DownloadProgress()
self.dialog.create(self.language(201), "")
- heading = "[%s] %s - %.2f%%" % (len(items), self.language(202),
item["percent"])
+ heading = u"[%s] %s - %.2f%%" % (len(items), self.language(202),
item["percent"])
if iget("Title"):
self.dialog.update(percent=item["percent"], heading=heading,
label=iget("Title"))
@@ -744,7 +760,7 @@ class SimpleDownloader():
items.append((filename, params))
self.common.log("Added: " + filename + " to queue - " +
str(len(items)))
else:
- items.insert(0, (filename, params))
+ items.insert(1, (filename, params)) # 1 or 0?
self.common.log("Moved " + filename + " to front of queue.
- " + str(len(items)))
self.cache.set("SimpleDownloaderQueue", repr(items))
@@ -850,4 +866,4 @@ class SimpleDownloader():
# Shows a more user-friendly notification
def _showMessage(self, heading, message):
- self.xbmc.executebuiltin('XBMC.Notification("%s", "%s", %s)' %
(heading, self.common.makeUTF8(message), self.notification_length))
+ self.xbmc.executebuiltin((u'XBMC.Notification("%s", "%s", %s)' %
(heading, self.common.makeUTF8(message),
self.notification_length)).encode("utf-8"))
http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/scripts;a=commit;h=cdc7d35e3675b7f19525fd8529d7b38b42f00450
commit cdc7d35e3675b7f19525fd8529d7b38b42f00450
Author: beenje <[email protected]>
Date: Thu Jan 3 22:02:22 2013 +0100
[script.common.plugin.cache] updated to version 2.5.0
diff --git a/script.common.plugin.cache/addon.xml
b/script.common.plugin.cache/addon.xml
index 4fd4d49..e744fc4 100644
--- a/script.common.plugin.cache/addon.xml
+++ b/script.common.plugin.cache/addon.xml
@@ -1,13 +1,13 @@
<?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" name="Common plugin cache"
provider-name="TheCollective" version="2.5.0">
<requires>
- <import addon='xbmc.python' version='2.0'/>
+ <import addon="xbmc.python" version="2.1.0" />
</requires>
- <extension point='xbmc.service' library='default.py' start='startup'>
+ <extension library="default.py" point="xbmc.service" start="startup">
</extension>
- <extension point='xbmc.addon.metadata'>
+ <extension point="xbmc.addon.metadata">
<platform>all</platform>
- <summary lang='en'>Common caching api for xbmc plugins.</summary>
+ <summary lang="en">Common caching api for xbmc plugins.</summary>
</extension>
- <extension point='xbmc.python.module' library='lib' />
-</addon>
+ <extension library="lib" point="xbmc.python.module" />
+</addon>
\ No newline at end of file
diff --git a/script.common.plugin.cache/changelog.txt
b/script.common.plugin.cache/changelog.txt
index 2659718..a598a2b 100644
--- a/script.common.plugin.cache/changelog.txt
+++ b/script.common.plugin.cache/changelog.txt
@@ -1,3 +1,14 @@
+[B]Version 1.5.0[/B]
+- Changed: Version bump since team-xbmc decided to pull partial release before
we could address their concerns with 1.4
+- Fixed: Move position of socket and database file
+
+[B]Version 1.4.0[/B]
+- Fixed: edge case where unicode input values would cause cache to crash
+- Fixed: Only bind to 127.0.0.1 on windows
+
+[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..084a366 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 = "2.5.0"
self.plugin = "StorageClient-" + self.version
self.instance = instance
self.die = False
@@ -68,7 +68,11 @@ class StorageServer():
self.settings = self.xbmcaddon.Addon(id='script.common.plugin.cache')
- self.path =
os.path.join(self.xbmc.translatePath("special://database"), 'commoncache.db')
+ self.path =
self.xbmc.translatePath(self.settings.getAddonInfo("profile")).decode("utf-8")
+ if not self.xbmcvfs.exists(self.path):
+ self._log("Making path structure: " + repr(self.path))
+ self.xbmcvfs.mkdir(self.path)
+ self.path = os.path.join(self.path, 'commoncache.db')
self.socket = ""
self.clientsocket = False
@@ -129,10 +133,10 @@ class StorageServer():
if self.platform == "win32":
self._log("Windows", 4)
port = 59994
- self.socket = (socket.gethostname(), port)
+ self.socket = ("127.0.0.1", port)
else:
self._log("POSIX", 4)
- self.socket =
os.path.join(self.xbmc.translatePath("special://temp"), 'commoncache.socket')
+ self.socket =
os.path.join(self.xbmc.translatePath(self.settings.getAddonInfo("profile")).decode("utf-8"),
'commoncache.socket')
if self.xbmcvfs.exists(self.socket) and check_stale:
self._log("Deleting stale socket file : " + self.socket)
self.xbmcvfs.delete(self.socket)
@@ -702,8 +706,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 = {}
-----------------------------------------------------------------------
Summary of changes:
script.common.plugin.cache/addon.xml | 14 ++++----
script.common.plugin.cache/changelog.txt | 11 ++++++
script.common.plugin.cache/lib/StorageServer.py | 18 ++++++---
script.module.parsedom/addon.xml | 12 +++---
script.module.parsedom/changelog.txt | 10 +++++-
script.module.parsedom/lib/CommonFunctions.py | 30 +++++++++++++---
script.module.simple.downloader/addon.xml | 18 +++++-----
script.module.simple.downloader/changelog.txt | 3 ++
script.module.simple.downloader/default.py | 2 +-
.../lib/DialogDownloadProgress.py | 29 ++++++++-------
.../lib/SimpleDownloader.py | 38 ++++++++++++++------
11 files changed, 126 insertions(+), 59 deletions(-)
hooks/post-receive
--
Scripts
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122712
_______________________________________________
Xbmc-addons mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xbmc-addons