Пример #1
0
    def func(self):
        def name(item):
            return item.name

        open_quests = sorted(self.caller.db.open_quests, key=name)
        open_quests = (quest for quest in open_quests if not quest.hidden)

        closed_quests = sorted(self.caller.db.closed_quests, key=name)

        if self.opts.type == "open":
            table = EvTable("Name", "Description")
            for quest in open_quests:
                table.add_row(quest.name, quest.description)

        elif self.opts.type == "closed":
            table = EvTable("Name", "Description")
            for quest in closed_quests:
                table.add_row(quest.name, quest.description)

        elif self.opts.type == "all":
            table = EvTable("Name", "Description", "Status")
            for quest in open_quests:
                table.add_row(quest.name, quest.description, "Open")
            for quest in closed_quests:
                table.add_row(quest.name, quest.description, "Closed")

        table.reformat(width=72)
        if len(table.get()) <= 3:
            self.caller.msg("You have no quests meeting that description.")
        else:
            self.caller.msg(table)