code: def message(blockers):
      
      if not blockers:
          encoding = getattr(sys.stdout, 'encoding', '')
          if encoding:
              encoding = encoding.lower()
          if encoding == 'utf-8':
              # party hat
              flair = "\U0001F389  "
          else:
              flair = ''
          return [flair +
                  'You have 0 projects blocking you from using Python 3!']
      flattened_blockers = set()
      for blocker_reasons in blockers:
          for blocker in blocker_reasons:
              flattened_blockers.add(blocker)
      need = 'You need {0} project{1} to transition to Python 3.'
      formatted_need = need.format(len(flattened_blockers),
                        's' if len(flattened_blockers) != 1 else '')
      can_port = ('Of {0} {1} project{2}, {3} {4} no direct dependencies '
                  'blocking {5} transition:')
      formatted_can_port = can_port.format(
              'those' if len(flattened_blockers) != 1 else 'that',
              len(flattened_blockers),
              's' if len(flattened_blockers) != 1 else '',
              len(blockers),
              'have' if len(blockers) != 1 else 'has',
              'their' if len(blockers) != 1 else 'its')
      return formatted_need, formatted_can_port
docs: Create a sequence of key messages based on what is blocking.