exampletest file and topics db
parent
b889eb5304
commit
b0be03850c
@ -0,0 +1,47 @@
|
||||
from itertools import groupby
|
||||
from app import get_db_connection
|
||||
|
||||
conn=get_db_connection()
|
||||
|
||||
todos=conn.execute('SELECT c.id, c.content, cat.category_name \
|
||||
FROM cards c JOIN categories cat \
|
||||
ON c.category_id = cat.id ORDER BY cat.category_name').fetchall()
|
||||
|
||||
categories={}
|
||||
|
||||
# for each category and group of cards for each cat in groupby() grouper object
|
||||
for k, g in groupby(todos, key=lambda t: t['category_name']):
|
||||
cards=[]
|
||||
|
||||
# for each card get the topic it is assigned to
|
||||
for card in g:
|
||||
topics = conn.execute('SELECT t.id, t.content FROM topics t \
|
||||
JOIN topic_cards t_c \
|
||||
ON t.id = t_c.topic_id \
|
||||
WHERE t_c.card_id = ?',
|
||||
(card['id'],)).fetchall()
|
||||
|
||||
#convert the row into a disctionary to add topics
|
||||
card=dict(card)
|
||||
card['topics'] = topics
|
||||
print('card is:', card)
|
||||
|
||||
cards.append(card)
|
||||
# print(categories[k])
|
||||
|
||||
categories[k]=list(cards)
|
||||
|
||||
|
||||
print('THE GROUP category.items() is :', categories.items())
|
||||
for cat, cards in categories.items(): # ♥ .items is a build in attribute of the dictionary(?)
|
||||
|
||||
for card in cards:
|
||||
topic_names = [t['content'] for t in card['topics']]
|
||||
print('card:', card['content'])
|
||||
print(' category:', cat)
|
||||
print(' topic:', list(topic_names))
|
||||
|
||||
conn.close()
|
||||
|
||||
|
||||
# ♥ ♥ ♥ ♥
|
Binary file not shown.
Loading…
Reference in New Issue