from collections import Counter from typing import List from mesa.visualization.modules import TextElement from data.Order import Order class DisplayOrder(TextElement): def __init__(self, attr_name): ''' Create a new text attribute element. Args: attr_name: The name of the attribute to extract from the model. Example return: "happy: 10" ''' self.attr_name = attr_name def render(self, model): val = getattr(model, self.attr_name) res = self.attr_name if val is not None: o = val itemList = map(lambda x: x.real_type, o.items) itemCounter = Counter(itemList) item_str = "