Exemple #1
0
    def _generateNavigation(self, cbFile):
        """Generate the HTML for the log navigation."""

        dParams = {
            WuiMain.ksParamAction: WuiMain.ksActionViewLog,
            WuiMain.ksParamLogSetId: self._oTestSet.idTestSet,
            WuiMain.ksParamLogFileId: self._oLogFile.idTestResultFile,
            WuiMain.ksParamLogChunkSize: self._cbChunk,
            WuiMain.ksParamLogChunkNo: self._iChunk,
        }

        #
        # The page walker.
        #
        dParams2 = dict(dParams)
        del dParams2[WuiMain.ksParamLogChunkNo]
        sHrefFmt        = '<a href="?%s&%s=%%s" title="%%s">%%s</a>' \
                        % (webutils.encodeUrlParams(dParams2).replace('%', '%%'), WuiMain.ksParamLogChunkNo,)
        sHtmlWalker = self.genericPageWalker(
            self._iChunk, (cbFile + self._cbChunk - 1) // self._cbChunk,
            sHrefFmt, 11, 0, 'chunk')

        #
        # The chunk size selector.
        #

        dParams2 = dict(dParams)
        del dParams2[WuiMain.ksParamLogChunkSize]
        sHtmlSize  = '<form name="ChunkSizeForm" method="GET">\n' \
                     '  Max <select name="%s" onchange="window.location=\'?%s&%s=\' + ' \
                     'this.options[this.selectedIndex].value;" title="Max items per page">\n' \
                   % ( WuiMain.ksParamLogChunkSize, webutils.encodeUrlParams(dParams2), WuiMain.ksParamLogChunkSize,)

        for cbChunk in [
                256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072,
                262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216
        ]:
            sHtmlSize += '    <option value="%d" %s>%d bytes</option>\n' \
                       % (cbChunk, 'selected="selected"' if cbChunk == self._cbChunk else '', cbChunk)
        sHtmlSize += '  </select> per page\n' \
                     '</form>\n'

        #
        # Download links.
        #
        oRawLink = WuiTmLink(
            'View Raw',
            '', {
                WuiMain.ksParamAction: WuiMain.ksActionGetFile,
                WuiMain.ksParamGetFileSetId: self._oTestSet.idTestSet,
                WuiMain.ksParamGetFileId: self._oLogFile.idTestResultFile,
                WuiMain.ksParamGetFileDownloadIt: False,
            },
            sTitle='%u MiB' % ((cbFile + 1048576 - 1) // 1048576, ))
        oDownloadLink = WuiTmLink(
            'Download Log',
            '', {
                WuiMain.ksParamAction: WuiMain.ksActionGetFile,
                WuiMain.ksParamGetFileSetId: self._oTestSet.idTestSet,
                WuiMain.ksParamGetFileId: self._oLogFile.idTestResultFile,
                WuiMain.ksParamGetFileDownloadIt: True,
            },
            sTitle='%u MiB' % ((cbFile + 1048576 - 1) // 1048576, ))
        oTestSetLink = WuiTmLink(
            'Test Set', '', {
                WuiMain.ksParamAction: WuiMain.ksActionTestResultDetails,
                TestSetData.ksParam_idTestSet: self._oTestSet.idTestSet,
            })

        #
        # Combine the elements and return.
        #
        return '<div class="tmlogviewernavi">\n' \
               ' <table width=100%>\n' \
               '  <tr>\n' \
               '   <td width=20%>\n' \
               '    ' + oTestSetLink.toHtml() + '\n' \
               '    ' + oRawLink.toHtml() + '\n' \
               '    ' + oDownloadLink.toHtml() + '\n' \
               '   </td>\n' \
               '   <td width=60% align=center>' + sHtmlWalker + '</td>' \
               '   <td width=20% align=right>' + sHtmlSize + '</td>\n' \
               '  </tr>\n' \
               ' </table>\n' \
               '</div>\n'
    def _generateNavigation(self, cbFile):
        """Generate the HTML for the log navigation."""

        dParams = {
            WuiMain.ksParamAction:          WuiMain.ksActionViewLog,
            WuiMain.ksParamLogSetId:        self._oTestSet.idTestSet,
            WuiMain.ksParamLogFileId:       self._oLogFile.idTestResultFile,
            WuiMain.ksParamLogChunkSize:    self._cbChunk,
            WuiMain.ksParamLogChunkNo:      self._iChunk,
        };

        #
        # The page walker.
        #
        dParams2 = dict(dParams);
        del dParams2[WuiMain.ksParamLogChunkNo];
        sHrefFmt        = '<a href="?%s&%s=%%s" title="%%s">%%s</a>' \
                        % (webutils.encodeUrlParams(dParams2).replace('%', '%%'), WuiMain.ksParamLogChunkNo,);
        sHtmlWalker = self.genericPageWalker(self._iChunk, (cbFile + self._cbChunk - 1) / self._cbChunk,
                                             sHrefFmt, 11, 0, 'chunk');

        #
        # The chunk size selector.
        #

        dParams2 = dict(dParams);
        del dParams2[WuiMain.ksParamLogChunkSize];
        sHtmlSize  = '<form name="ChunkSizeForm" method="GET">\n' \
                     '  Max <select name="%s" onchange="window.location=\'?%s&%s=\' + ' \
                     'this.options[this.selectedIndex].value;" title="Max items per page">\n' \
                   % ( WuiMain.ksParamLogChunkSize, webutils.encodeUrlParams(dParams2), WuiMain.ksParamLogChunkSize,);

        for cbChunk in [ 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152,
                         4194304, 8388608, 16777216 ]:
            sHtmlSize += '    <option value="%d" %s>%d bytes</option>\n' \
                       % (cbChunk, 'selected="selected"' if cbChunk == self._cbChunk else '', cbChunk);
        sHtmlSize += '  </select> per page\n' \
                     '</form>\n'

        #
        # Download links.
        #
        oRawLink      = WuiTmLink('View Raw', '',
                                  { WuiMain.ksParamAction:            WuiMain.ksActionGetFile,
                                    WuiMain.ksParamGetFileSetId:      self._oTestSet.idTestSet,
                                    WuiMain.ksParamGetFileId:         self._oLogFile.idTestResultFile,
                                    WuiMain.ksParamGetFileDownloadIt: False,
                                  },
                                  sTitle = '%u MiB' % ((cbFile + 1048576 - 1) / 1048576,) );
        oDownloadLink = WuiTmLink('Download Log', '',
                                  { WuiMain.ksParamAction:            WuiMain.ksActionGetFile,
                                    WuiMain.ksParamGetFileSetId:      self._oTestSet.idTestSet,
                                    WuiMain.ksParamGetFileId:         self._oLogFile.idTestResultFile,
                                    WuiMain.ksParamGetFileDownloadIt: True,
                                  },
                                  sTitle = '%u MiB' % ((cbFile + 1048576 - 1) / 1048576,) );
        oTestSetLink  = WuiTmLink('Test Set', '',
                                  { WuiMain.ksParamAction:            WuiMain.ksActionTestResultDetails,
                                    TestSetData.ksParam_idTestSet:    self._oTestSet.idTestSet,
                                  });


        #
        # Combine the elements and return.
        #
        return '<div class="tmlogviewernavi">\n' \
               ' <table width=100%>\n' \
               '  <tr>\n' \
               '   <td width=20%>\n' \
               '    ' + oTestSetLink.toHtml() + '\n' \
               '    ' + oRawLink.toHtml() + '\n' \
               '    ' + oDownloadLink.toHtml() + '\n' \
               '   </td>\n' \
               '   <td width=60% align=center>' + sHtmlWalker + '</td>' \
               '   <td width=20% align=right>' + sHtmlSize + '</td>\n' \
               '  </tr>\n' \
               ' </table>\n' \
               '</div>\n';