예제 #1
0
    def applyDelimiter(self, styled=False, encoded=False):
        delimiter = self.getSymbol().getRawDelimiter()
        res = []
        iField = -1
        for field in self.symbol.getFields():
            if field.getName() == "__sep__":
                tmp = delimiter
            else:
                iField += 1
                try:
                    tmp = self.getStringData().split(delimiter)[iField]
                except IndexError:
                    tmp = ""

            if field.getColor() == "" or field.getColor() == None:
                color = 'blue'
            else:
                color = field.getColor()

            # Define the background color
            if field.getBackgroundColor() != None:
                backgroundColor = 'background="' + field.getBackgroundColor() + '"'
            else:
                backgroundColor = ""

            if styled:
                if encoded:
                    res.append('<span foreground="' + color + '" ' + backgroundColor + ' font_family="monospace">' + glib.markup_escape_text(TypeConvertor.encodeNetzobRawToGivenField(tmp, field)) + '</span>')
                else:
                    res.append('<span foreground="' + color + '" ' + backgroundColor + ' font_family="monospace">' + tmp + '</span>')
            else:
                if encoded:
                    res.append(glib.markup_escape_text(TypeConvertor.encodeNetzobRawToGivenField(tmp, field)))
                else:
                    res.append(tmp)
        return res