def describe(self):
        def format_int(name, n):
            if n == 0 or n == 1:
                return "%i %s" % (n, name[:-1])
            else:
                return "%i %s" % (n, name)
        empty_box = Colors.OKGREEN + '[ ]' + Colors.ENDC + ' '
        filled_box = Colors.OKGREEN + '[x]' + Colors.ENDC + ' '
        if self.start_time is None:
            print(empty_box + "No records stored")
        else:
            print((filled_box + format_int("records", len(self.records)) +
                   " from %s to %s" % (self.start_time, self.end_time)))
        nb_contacts = bc.individual.number_of_contacts(
            self, interaction='callandtext', groupby=None)
        nb_contacts = nb_contacts['allweek']['allday']['callandtext']
        if nb_contacts:
            print(filled_box + format_int("contacts", nb_contacts))
        else:
            print(empty_box + "No contacts")
        if self.has_attributes:
            print(filled_box + format_int("attributes", len(self.attributes)))
        else:
            print(empty_box + "No attribute stored")
        if len(self.antennas) == 0:
            print(empty_box + "No antenna stored")
        else:
            print(filled_box + format_int("antennas", len(self.antennas)))
        if self.has_recharges:
            print(filled_box + format_int("recharges", len(self.recharges)))
        else:
            print(empty_box + "No recharges")
        if self.has_home:
            print(filled_box + "Has home")
        else:
            print(empty_box + "No home")
        if self.has_text:
            print(filled_box + "Has texts")
        else:
            print(empty_box + "No texts")
        if self.has_call:
            print(filled_box + "Has calls")
        else:
            print(empty_box + "No calls")
        if self.has_network:
            print(filled_box + "Has network")
        else:
            print(empty_box + "No network")