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