Next / Previous / Contents / Shipman's homepage

9.14. Taxon.__engNames(): Build the variants on the English name

xnomo3.py
# - - -   T a x o n . _ _ e n g N a m e s

    def __engNames(self):
        '''Set up the various English names.

          [ self.__rawEng is as invariant ->
              self.eng  :=  as invariant, from self.__rawEng
              self.engComma  :=  as invariant, from self.__rawEng
              self.tex  :=  as invariant, from self.__rawEng
              self.texComma  :=  as invariant, from self.__rawEng ]
        '''

See Section 11.6, “fixAbbr(): Standardize a bird code” for standardization of the bird code; Section 11.5, “engDeComma(): Normalize an English name” for normalization of the English name; and Section 10.9, “texify(): Mark up text for TEX” for markup using TEX conventions.

Higher taxa have names with commas in them that do not connote an inverted name. For example, the English name for family Anatidae is “Swans, Geese and Ducks”; we want to leave that alone and not normalize it is “Geese and Ducks Swans”!

xnomo3.py
        #-- 1 --
        # [ normEng  :=  self.__rawEng normalized ]
        if self.rank.depth < self.txny.hier.speciesRank().depth:
            normEng = self.__rawEng
        else:
            normEng = abbrMod.engDeComma(self.__rawEng)

        #-- 2 --
        # [ self.eng  :=  normEng with all underbars removed
        #   self.engComma  :=  self.__rawEng with all underbars
        #                      removed ]
        self.eng = normEng.replace('_', '')
        self.engComma = self.__rawEng.replace('_', '')

        #-- 3 --
        # [ self.tex  :=  normEng marked up for TeX
        #   self.texComma  :=  self.__rawEng marked up for TeX ]
        self.tex = texify(normEng)
        self.texComma = texify(self.__rawEng)