code: def shorten(string, length=140, ellipsis=None):
      '''
      Shorten a string to 140 characters without breaking words.
      Optionally add an ellipsis character: '…' if ellipsis=True, or a given string
      e.g. ellipsis=' (cut)'
      '''
      string = string.strip()
  
      if len(string) > length:
          if ellipsis is True:
              ellipsis = '…'
          else:
              ellipsis = ellipsis or ''
  
          L = length - len(ellipsis)
  
          return ' '.join(string[:L].split(' ')[:-1]).strip(',;:.') + ellipsis
  
      else:
          return strinf shorten(string, length=140, ellipsis=None):
      '''
      Shorten a string to 140 characters without breaking words.
      Optionally add an ellipsis character: '…' if ellipsis=True, or a given string
      e.g. ellipsis=' (cut)'
      '''
      string = string.strip()
  
      if len(string) > length:
          if ellipsis is True:
              ellipsis = '…'
          else:
              ellipsis = ellipsis or ''
  
          L = length - len(ellipsis)
  
          return ' '.join(string[:L].split(' ')[:-1]).strip(',;:.') + ellipsis
  
      else:
          return string
docs: Shorten a string to 140 characters without breaking words.
      Optionally add an ellipsis character: '…' if ellipsis=True, or a given string
      e.g. ellipsis=' (cut)'