-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathaddons.py
35 lines (28 loc) · 814 Bytes
/
addons.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# addons.py
def load_addons(filename):
print "Loading keywords for:", filename
with open(filename, 'rb') as f:
lines = filter(None, map(str.strip, f.readlines()))
cards = {}
for line in lines:
if line.startswith('#'):
continue
card, sep, data = map(str.strip, line.partition('|'))
card = card.lower()
keywords = data.split()
cards[card] = keywords
return cards
def consolidate_keywords(dicts):
kw = {}
for d in dicts:
kw.update(d)
return kw
def proliferate(cards, keywords):
""" Add keywords to card objects. """
for card in cards:
name = card['name'].lower()
try:
kw = keywords[name]
card._data['keywords'] = kw
except KeyError:
continue