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

21. class BaseIndex: Base class for regional page index entries

The purpose of this class is to define two behaviors common to both primary and secondary index entries:

Here is the interface definition.

cbchistlib.py
# - - - - -   c l a s s   B a s e I n d e x

class BaseIndex(object):
    '''Base class for index entries in the regional page.

      Exports:
        BaseIndex(db, cir_name, lat, lon):
          [ (db is a pycbc.CBCData instance) and
            (key is a circle name) and
            (lat and lon are a circle's center coordinates) ->
              return a new BaseIndex instance that sorts by
              (cir_name, lat, lon) ]
        .db:           [ as passed to constructor, read-only ]
        .cir_name:     [ as passed to constructor, read-only ]
        .lat:          [ as passed to constructor, read-only ]
        .lon:          [ as passed to constructor, read-only ]
        .html(parent):      # Virtual method
          [ parent is an et.Element ->
               parent  :=  parent with new XHTML added representing
                   self with a link that calls hist.cgi to produce
                   a report for just self's center ]
        .__cmp__():
          [ the usual comparison method, ascending on cir_name ]
    '''
    def html(self, parent):
        '''Produce XHTML.
        '''
        raise NotImplentedError("BaseIndex.html() is a virtual method.")