Next / Previous / Contents / TCC Help System / NM Tech homepage

42.4. CensusCell._display()

This method is used by both XHTML and PDF rendering to construct the text to be displayed in the table cell.

cbchistlib.py
# - - -   C e n s u s C e l l . _ d i s p l a y

    def _display(self):
        '''Generate the displayed text.

          [ return self's contents as a text string ]
        '''

There are four categories: regular, questional, count-week, and questionable count-week. First we build a list of the numbers for each, each with its characteristic suffix (if any), but leave out the ones whose counts are zero. Although Section 43.3, “CensusTotal.html() sounds specific to HTML, it does not actually use any markup, so the result is suitable for XSL-FO as well.

cbchistlib.py
        #-- 1
        # [ textList  +:=  XHTML renderings of any of self.q,
        #       self._plus, and self._qPlus that are not in the
        #       initial state ]
        textList = [ censusTotal.html()
                     for censusTotal in (self._regular, self._q, self._plus,
                                         self._qPlus)
                     if censusTotal.total != 0 ]

If none of the category totals had any data, textList will be empty, and we will display “-” as a placeholder; otherwise we return the contents of the list joined with commas between them.

cbchistlib.py
        #-- 2
        # [ if textList is empty ->
        #     text  :=  '-'
        #   else -> elements of textList joined with commas ]
        if len(textList) == 0:
            text = '-'
        else:
            text = ','.join(textList)

        #-- 3
        return text