def load (filename): global CARD_BY_NAME global CARD_BY_ID CARD_BY_NAME = {} CARD_BY_ID = {} reader = DictReader(open(filename, 'r'), delimiter = '\t') for row in reader: card = Card.from_csv(row) if card.name not in CARD_BY_NAME: CARD_BY_NAME[card.name] = card if card.id in CARD_BY_ID: raise Exception('Duplicate card IDs: %d' % card.id) CARD_BY_ID[card.id] = card