All pastes #987123 Raw Edit

Someone

public text v1 · immutable
·published 2008-04-16 07:17 UTC
rendered paste body
def asText(self):
      """
        Returns the telephone number in standard format
      """
      def __replace(mask,letter,telephone_part):
        """
	  Replace the letters for numbers
	"""
        for i in range(0,mask.count(letter)):
          try:
            mask=mask.replace(letter,telephone_part[i],1)
          except IndexError:
            #string index out of range
            pass
	mask=mask.replace(letter,'')
	return mask
	
      script = self._getTypeBasedMethod('asText')
      if script is not None:
        return script()

      mask = self.portal_preferences.getPreferredTelephoneMask()
      if mask == '' or mask is None:
       telephone = self.getTelephoneCountry() or ''
       telephone+= self.getTelephoneArea() or ''
       telephone+= self.getTelephoneNumber() or ''
       telephone+= self.getTelephoneExtension() or ''
       return telephone
      else:
        maskcopy = mask = str.upper(mask)

      telephone_country = self.getTelephoneCountry()
      if telephone_country is None:
        mask=mask.replace('C','') #remove all 'C' from the mask
      else:
        mask=__replace(mask=mask,letter='C',telephone_part=telephone_country)

      telephone_area = self.getTelephoneArea()
      if telephone_area is None:
        mask=mask.replace('A','') #remove all 'A' from the mask
      else:
        mask=__replace(mask=mask,letter='A',telephone_part=telephone_area)

      telephone_number = self.getTelephoneNumber()
      if telephone_number is None:
        mask=mask.replace('N','') #remove all 'N' from the mask
      else:
        mask=__replace(mask=mask,letter='N',telephone_part=telephone_number)

      telephone_extension = self.getTelephoneExtension()
      if telephone_extension is None:
        mask=mask.replace('E','') #remove all 'N' from the mask
      else:
        mask=__replace(mask=mask,letter='E',telephone_part=telephone_extension)

      for i in ['C','A','N','E']:
        maskcopy=maskcopy.replace(i,'')	
      if (mask == maskcopy):
        mask = ''

      return str(mask)