docs: def parse_summary(content, reference_id=None):
      """\
      Extracts the summary from the `content` of the cable.
      
      If no summary can be found, ``None`` is returned.
      
      `content`
          The content of the cable.
      `reference_id`
          The reference identifier of the cable.
      """
      summary = None
      m = _END_SUMMARY_PATTERN.search(content)
      if m:
          end_of_summary = m.start()
          m = _START_SUMMARY_PATTERN.search(content, 0, end_of_summary) or _ALTERNATIVE_START_SUMMARY_PATTERN.search(content, 0, end_of_summary)
          if m:
              summary = content[m.end():end_of_summary]
          elif reference_id not in _CABLES_WITH_MALFORMED_SUMMARY:
              logger.debug('Found "end of summary" but no start in "%s", content: "%s"' % (reference_id, content[:end_of_summary]))
      else:
          m = _PARSE_SUMMARY_PATTERN.search(content)
          if m:
              summary = content[m.start(1):m.end(1)]
      if summary:
          summary = _CLEAN_SUMMARY_CLS_PATTERN.sub(u'', summary)
          summary = _CLEAN_SUMMARY_PATTERN.sub(u' ', summary)
          summary = _CLEAN_SUMMARY_WS_PATTERN.sub(u' ', summary)
          summary = summary.strip()
      return summary