parameters: (self, report)
return_statement: return message
docstring: Composes an e-mail to this maintainer with information about
          the failures in his or her libraries, omitting those that come
          from "broken" platforms. Returns the e-mail text if a message
          needs to be sent, or None otherwise.
docstring_summary: Composes an e-mail to this maintainer with information about
          the failures in his or her libraries, omitting those that come
          from "broken" platforms. Returns the e-mail text if a message
          needs to be sent, or None otherwise.
docstring_tokens: Composes an e - mail to this maintainer with information about the failures in his or her libraries omitting those that come from broken platforms . Returns the e - mail text if a message needs to be sent or None otherwise .
function: def composeEmail(self, report):
          """
          Composes an e-mail to this maintainer with information about
          the failures in his or her libraries, omitting those that come
          from "broken" platforms. Returns the e-mail text if a message
          needs to be sent, or None otherwise.
          """
  
          # Determine if we need to send a message to this developer.
          requires_message = False
          for library in self.libraries:
              if library.numReportableFailures() > 0:
                  requires_message = True
                  break
  
          if not requires_message:
              return None
  
          # Build the message header
          message = """From: Douglas Gregor <dgregor@osl.iu.edu>
  To: """
          message += self.name + ' <' + self.email + '>'
          message += """
  Reply-To: boost@lists.boost.org
  Subject: Failures in your Boost libraries as of """
          message += str(datetime.date.today()) + " [" + report.branch + "]"
          message += """
  
  You are receiving this report because one or more of the libraries you
  maintain has regression test failures that are not accounted for.
  A full version of the report is sent to the Boost developer's mailing
  list.
  
  Detailed report:
  """
          message += '  ' + report.url + """
  
  There are failures in these libraries you maintain:
  """
  
          # List the libraries this maintainer is responsible for and
          # the number of reportable failures in that library.
          for library in self.libraries:
              num_failures = library.numReportableFailures()
              if num_failures > 0:
                  message += '  ' + library.name + ' (' + str(num_failures) + ')\n'
                  pass
              pass
  
          # Provide the details for the failures in each library.
          for library in self.libraries:
              if library.numReportableFailures() > 0:
                  message += '\n|' + library.name + '|\n'
                  for test in library.tests:
                      if test.numReportableFailures() > 0:
                          message += '  ' + test.name + ':'
                          for failure in test.failures:
                              if not failure.platform.isBroken():
                                  message += '  ' + failure.platform.name
                                  pass
                              pass
                          message += '\n'
                          pass
                      pass
                  pass
              pass
  
          return message
function_tokens: def composeEmail ( self , report ) : # Determine if we need to send a message to this developer. requires_message = False for library in self . libraries : if library . numReportableFailures ( ) > 0 : requires_message = True break if not requires_message : return None # Build the message header message = """From: Douglas Gregor <dgregor@osl.iu.edu>
  To: """ message += self . name + ' <' + self . email + '>' message += """
  Reply-To: boost@lists.boost.org
  Subject: Failures in your Boost libraries as of """ message += str ( datetime . date . today ( ) ) + " [" + report . branch + "]" message += """
  
  You are receiving this report because one or more of the libraries you
  maintain has regression test failures that are not accounted for.
  A full version of the report is sent to the Boost developer's mailing
  list.
  
  Detailed report:
  """ message += '  ' + report . url + """
  
  There are failures in these libraries you maintain:
  """ # List the libraries this maintainer is responsible for and # the number of reportable failures in that library. for library in self . libraries : num_failures = library . numReportableFailures ( ) if num_failures > 0 : message += '  ' + library . name + ' (' + str ( num_failures ) + ')\n' pass pass # Provide the details for the failures in each library. for library in self . libraries : if library . numReportableFailures ( ) > 0 : message += '\n|' + library . name + '|\n' for test in library . tests : if test . numReportableFailures ( ) > 0 : message += '  ' + test . name + ':' for failure in test . failures : if not failure . platform . isBroken ( ) : message += '  ' + failure . platform . name pass pass message += '\n' pass pass pass pass return message