X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fxmlwidget.py;h=be53182d91fa5f68f82995548256686beab6bffe;hp=a80386860c9eba455a7028a22834fce8c2b24a45;hb=8d71fde88896701be7c908195b6bd83f7bf6d93a;hpb=ce4c16bdd5c07f69c612b7c9db8bbc182ee28f74 diff --git a/sface/xmlwidget.py b/sface/xmlwidget.py index a803868..be53182 100644 --- a/sface/xmlwidget.py +++ b/sface/xmlwidget.py @@ -1,4 +1,5 @@ import os +import shlex import sys from PyQt4.QtCore import * @@ -277,11 +278,21 @@ class ElemNodeDelegate(QAbstractItemDelegate): AttListHtml = '' if len(tmp) > 1: # many elems don't have atts... - attList = tmp[1].split() + # use shlex.split so we can handle quoted strings with spaces + # in them, like . Note that there are + # documented problems with shlex.split and unicode, so we + # convert any potential unicode to a string first. + attList = shlex.split(str(tmp[1])) for att in attList: - tmp = att.split('=') - attName = tmp[0] - attValue = tmp[1][1:-1] + tmp = att.split('=',1) + if len(tmp)>=2: + attName = tmp[0] + attValue = tmp[1] + else: + # this shouldn't happen, but if it does, pretend the + # attribute value is blank. + attName = tmp[0] + attValue = "" AttListHtml += (nonHighAttPattern % (attName, attValue)) html = (globPattern % (elemName, AttListHtml)) return html