code: def display_name(self):
          
          if self.name:
              return self.name
          elif self.canonical_alias:
              return self.canonical_alias
  
          # Member display names without me
          members = [u.get_display_name(self) for u in self.get_joined_members() if
                     self.client.user_id != u.user_id]
          members.sort()
  
          if len(members) == 1:
              return members[0]
          elif len(members) == 2:
              return "{0} and {1}".format(members[0], members[1])
          elif len(members) > 2:
              return "{0} and {1} others".format(members[0], len(members) - 1)
          else:  # len(members) <= 0 or not an integer
              # TODO i18n
              return "Empty room"
docs: Calculates the display name for a room.