def queryRoomCounts()

in data/question-gen/engine.py [0:0]


    def queryRoomCounts(self, ent):
        qns = []
        rooms_done = set()

        # print [i.name for i in ent['elements']]
        exp_rooms = [
            name for room_ent in ent['elements'] for name in room_ent.name
        ]
        for i in ent['elements']:
            if i.name == []:
                if self.debug == True:
                    print('exception in queryRoomCount. room has no name.',
                          i.name, i.name)
                continue

            for room_name in i.name:
                if room_name in rooms_done: continue
                count = exp_rooms.count(room_name)
                # so that the correct room name is displayed in the question string
                i.name[0] = room_name
                if count < 5:
                    qns.append(
                        self.q_obj_builder('room_count', [
                            room_ent for room_ent in ent['elements']
                            if room_name in room_ent.name
                        ], count))
                rooms_done.add(room_name)
            # count = len([x for x in ent['elements'] if len(x.name) == 1 and x.name[0] == i.name[0]])

        return qns