コード例 #1
0
def _convertTime(dt):
    '''
    Coverts the given time to the text representation.
    '''
    if isinstance(dt, (float, int, long)):
        return utils.localTime(dt)[1]
    return utils.timeToString(dt).split(utils.DATE_TIME_SEPARATOR)[1]
コード例 #2
0
def _convertDate(dt):
    '''
    Coverts the given date to the text representation.
    '''
    if isinstance(dt, (float, int, long)):
        return utils.DATE_TIME_SEPARATOR.join(utils.localTime(dt))
    return utils.timeToString(dt)
コード例 #3
0
 def _deviceElement(self, device, result):
     '''
     Gets a tree element corresponding the given device execution result.
     '''
     devices = self._resultElement(result).find("devices")
     for element in list(devices):
         if element.findtext("name") == device.name:
             return element
     element = _subElement(devices, "device")
     _subElement(element, "name", device.name)
     if self.isVerbose():
         _subElement(element, "date", utils.timeToString(device.date))
         _subElement(element, "address", device.address)
         _subElement(element, "port", device.port)
         _subElement(element, "description", device.description)
     return element
コード例 #4
0
    def showDetails(self, result):
        '''
        Displays details of the given test result.
        '''
        tree = self._treeWidget

        def makeItem(parent,
                     name,
                     value="",
                     color=None,
                     font=None,
                     expand=True,
                     span=False):
            item = QtGui.QTreeWidgetItem(parent)
            nLabel = QtGui.QLabel(tree)
            nLabel.setText(utils.decode(name))
            item.setSizeHint(0, nLabel.sizeHint() + QtCore.QSize(10, 0))
            tree.setItemWidget(item, 0, nLabel)
            if font is not None:
                nLabel.setFont(font)
            if span:
                item.setFirstColumnSpanned(True)
            else:
                vLabel = QtGui.QLabel(tree)
                vLabel.setMinimumWidth(self._treeWidget.sizeHint().width() -
                                       self._treeWidget.columnWidth(0) - 1)
                tree.setItemWidget(item, 1, vLabel)
                if color:
                    vLabel.setText(u"<font color=\"%s\">%s</font>" %
                                   (color.color().name(), utils.decode(value)))
                else:
                    vLabel.setText(utils.decode(value))
                vLabel.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse)
                item.setSizeHint(
                    1,
                    QtCore.QSize(vLabel.sizeHint().width() + 10,
                                 vLabel.sizeHint().height()))
            if expand:
                item.setExpanded(True)
            return item

        self.clearDetails()
        log.debug("Displaying selected tree item for result '%s'" % result.id)
        makeItem(tree, "Id", result.id)
        makeItem(tree, "Path", result.path)
        makeItem(tree,
                 "Status",
                 result.status,
                 color=STATUS_COLORS[result.status],
                 font=STATUS_FONTS[result.status])
        if result.attrs:
            item = makeItem(tree, "Attributes")
            for name, value in result.attrs.iteritems():
                makeItem(item, name, value)
        if isinstance(result, TestStepResult):
            makeItem(tree, "Function", result.func)
            if result.args:
                item = makeItem(tree, "Arguments")
                for name, value in result.args.iteritems():
                    makeItem(item, name, value)
        if result.devices:
            item = makeItem(tree, "Devices")
            for devResult in result.devices:
                devItem = makeItem(item, devResult.name, span=True)
                if devResult.description is not None:
                    makeItem(devItem, "Description", devResult.description)
                if devResult.address is not None:
                    makeItem(devItem, "Address", devResult.address)
                if devResult.port is not None:
                    makeItem(devItem, "Port", devResult.port)
                if devResult.status is not None:
                    makeItem(devItem,
                             "Status",
                             devResult.status,
                             color=STATUS_COLORS[devResult.status],
                             font=STATUS_FONTS[devResult.status])
                if devResult.errors:
                    errItem = makeItem(devItem, "Errors")
                    for error in devResult.errors:
                        makeItem(errItem, "", error)
                if devResult.cores:
                    coresItem = makeItem(devItem, "Cores")
                    for core in devResult.cores:
                        coreItem = makeItem(coresItem,
                                            core.path,
                                            expand=False,
                                            span=True)
                        makeItem(coreItem, "Size",
                                 "%s" % utils.sizeToString(core.size))
                        makeItem(coreItem, "Date",
                                 " ".join(utils.localTime(core.mtime)))
                if devResult.date:
                    makeItem(devItem, "Date",
                             utils.timeToString(devResult.date))
                if devResult.time:
                    makeItem(devItem, "Time", "%.6fs" % devResult.time)
        self._treeWidget.resizeColumnToContents(0)
        self._treeWidget.resizeColumnToContents(1)
コード例 #5
0
ファイル: helpers.py プロジェクト: mlyko/tadek-common
def deviceDateTime(device, runTime=False):
    dt = device.date
    if runTime:
        dt += datetime.timedelta(seconds=device.time)
    return utils.timeToString(dt)
コード例 #6
0
 def testSanity(self):
     dateTimeStr = "2011-12-21 16:45:08"
     self.assertEqual(dateTimeStr,
                      timeToString(timeFromString(dateTimeStr)))
コード例 #7
0
 def testtimeToStringWithNone(self):
     self.assertEqual("", timeToString(None))
コード例 #8
0
 def testtimeToStringNoTime(self):
     date0 = datetime.datetime.now().date()
     self.assertEqual(
         date0.strftime(DATE_TIME_SEPARATOR.join(
             (DATE_FORMAT, TIME_FORMAT))), timeToString(date0))
コード例 #9
0
ファイル: utils.py プロジェクト: mlyko/tadek-common
 def testSanity(self):
     dateTimeStr = "2011-12-21 16:45:08"
     self.assertEqual(dateTimeStr, timeToString(timeFromString(dateTimeStr)))
コード例 #10
0
ファイル: utils.py プロジェクト: mlyko/tadek-common
 def testtimeToStringWithNone(self):
     self.assertEqual("", timeToString(None))
コード例 #11
0
ファイル: utils.py プロジェクト: mlyko/tadek-common
 def testtimeToStringNoTime(self):
     date0 = datetime.datetime.now().date()
     self.assertEqual(date0.strftime(DATE_TIME_SEPARATOR.join(
                     (DATE_FORMAT, TIME_FORMAT))), timeToString(date0))
コード例 #12
0
def deviceDateTime(device, runTime=False):
    dt = device.date
    if runTime:
        dt += datetime.timedelta(seconds=device.time)
    return utils.timeToString(dt)
コード例 #13
0
ファイル: resultview.py プロジェクト: mlyko/tadek-ui
    def showDetails(self, result):
        '''
        Displays details of the given test result.
        '''
        tree = self._treeWidget

        def makeItem(parent, name, value="", color=None, font=None,
                     expand=True, span=False):
            item = QtGui.QTreeWidgetItem(parent)
            nLabel = QtGui.QLabel(tree)
            nLabel.setText(utils.decode(name))
            item.setSizeHint(0, nLabel.sizeHint() + QtCore.QSize(10, 0))
            tree.setItemWidget(item, 0, nLabel)
            if font is not None:
                nLabel.setFont(font)
            if span:
                item.setFirstColumnSpanned(True)
            else:
                vLabel = QtGui.QLabel(tree)
                vLabel.setMinimumWidth(self._treeWidget.sizeHint().width() -
                                       self._treeWidget.columnWidth(0) - 1)
                tree.setItemWidget(item, 1, vLabel)
                if color:
                    vLabel.setText(u"<font color=\"%s\">%s</font>"
                                   % (color.color().name(),
                                      utils.decode(value)))
                else:
                    vLabel.setText(utils.decode(value))
                vLabel.setTextInteractionFlags(QtCore.Qt.TextSelectableByMouse)
                item.setSizeHint(1, QtCore.QSize(vLabel.sizeHint().width() + 10,
                                                 vLabel.sizeHint().height()))
            if expand:
                item.setExpanded(True)
            return item

        self.clearDetails()
        log.debug("Displaying selected tree item for result '%s'" % result.id)
        makeItem(tree, "Id", result.id)
        makeItem(tree, "Path", result.path)
        makeItem(tree, "Status", result.status,
                 color=STATUS_COLORS[result.status],
                 font=STATUS_FONTS[result.status])
        if result.attrs:
            item = makeItem(tree, "Attributes")
            for name, value in result.attrs.iteritems():
                makeItem(item, name, value)
        if isinstance(result, TestStepResult):
            makeItem(tree, "Function", result.func)
            if result.args:
                item = makeItem(tree, "Arguments")
                for name, value in result.args.iteritems():
                    makeItem(item, name, value)
        if result.devices:
            item = makeItem(tree, "Devices")
            for devResult in result.devices:
                devItem = makeItem(item, devResult.name, span=True)
                if devResult.description is not None:
                    makeItem(devItem, "Description", devResult.description)
                if devResult.address is not None:
                    makeItem(devItem, "Address", devResult.address)
                if devResult.port is not None:
                    makeItem(devItem, "Port", devResult.port)
                if devResult.status is not None:
                    makeItem(devItem, "Status", devResult.status,
                             color=STATUS_COLORS[devResult.status],
                             font=STATUS_FONTS[devResult.status])
                if devResult.errors:
                    errItem = makeItem(devItem, "Errors")
                    for error in devResult.errors:
                        makeItem(errItem, "", error)
                if devResult.cores:
                    coresItem = makeItem(devItem, "Cores")
                    for core in devResult.cores:
                        coreItem = makeItem(coresItem, core.path, expand=False,
                                            span=True)
                        makeItem(coreItem, "Size",
                                 "%s" % utils.sizeToString(core.size))
                        makeItem(coreItem, "Date",
                                 " ".join(utils.localTime(core.mtime)))
                if devResult.date:
                    makeItem(devItem, "Date",
                             utils.timeToString(devResult.date))
                if devResult.time:
                    makeItem(devItem, "Time", "%.6fs" % devResult.time)
        self._treeWidget.resizeColumnToContents(0)
        self._treeWidget.resizeColumnToContents(1)