diff --git a/__pycache__/app.cpython-310.pyc b/__pycache__/app.cpython-310.pyc index 7217737..4fff63f 100644 Binary files a/__pycache__/app.cpython-310.pyc and b/__pycache__/app.cpython-310.pyc differ diff --git a/app.py b/app.py index 544031a..a04a5ef 100644 --- a/app.py +++ b/app.py @@ -37,31 +37,32 @@ class PrefixMiddleware(object): app = Flask(__name__) +app.config['SECRET KEY']='this should be a secret random string' # register the middleware to prefix all the requests with our base_url -app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix='/soupboat/library') +app.wsgi_app=PrefixMiddleware(app.wsgi_app, prefix='/soupboat/library') -@app.route("/") +@ app.route("/") def home(): - conn = get_db_connection() - todos = conn.execute('SELECT c.id, c.content, cat.title \ + conn=get_db_connection() + todos=conn.execute('SELECT c.id, c.content, cat.title \ FROM cards c JOIN categories cat \ ON c.category_id = cat.id ORDER BY cat.title').fetchall() - categories = {} + 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['title']): - cards = [] + cards=[] for card in g: - card = dict(card) + card=dict(card) print('card is:', card) cards.append(card) # print(categories[k]) - categories[k] = list(cards) + categories[k]=list(cards) for cat, cards in categories.items(): # ♥ .items is a build in attribute of the dictionary(?) print(cat) @@ -72,19 +73,19 @@ def home(): return render_template('home.html', categories=categories) -@app.route("/add/", methods=['GET', 'POST']) +@ app.route("/add/", methods=['GET', 'POST']) def create(): - conn = get_db_connection() + conn=get_db_connection() if request.method == 'POST': - content = request.form['content'] - cat_title = request.form['cat'] + content=request.form['content'] + cat_title=request.form['cat'] if not content: flash('plz write a content!') return redirect(url_for('home')) - cat_id = conn.execute('SELECT id FROM categories WHERE title = (?);', + cat_id=conn.execute('SELECT id FROM categories WHERE title = (?);', (cat_title,)).fetchone()['id'] conn.execute('INSERT INTO cards (content, category_id) VALUES (?,?)', (content, cat_id)) @@ -92,31 +93,31 @@ def create(): conn.close() return redirect(url_for('home')) - categories = conn.execute('SELECT title FROM categories;').fetchall() + categories=conn.execute('SELECT title FROM categories;').fetchall() conn.close() return render_template('create.html', categories=categories) -@app.route('//edit/', methods=('GET', 'POST')) +@ app.route('//edit/', methods=('GET', 'POST')) def edit(id): - conn = get_db_connection() + conn=get_db_connection() - todo = conn.execute('SELECT c.id, c.category_id, c.content, cat.title \ + todo=conn.execute('SELECT c.id, c.category_id, c.content, cat.title \ FROM cards c JOIN categories cat \ ON c.category_id = cat.id WHERE c.id = ?', (id,)).fetchone() - categories = conn.execute('SELECT title FROM categories;').fetchall() + categories=conn.execute('SELECT title FROM categories;').fetchall() if request.method == 'POST': - content = request.form['content'] - cat_title = request.form['cat'] + content=request.form['content'] + cat_title=request.form['cat'] if not content: flash('plz insert any content!') return redirect(url_for('home')) - cat_id = conn.execute('SELECT id FROM categories WHERE title = (?);', + cat_id=conn.execute('SELECT id FROM categories WHERE title = (?);', (cat_title,)).fetchone()['id'] conn.execute('UPDATE cards SET content = ?, category_id = ? \ @@ -129,9 +130,9 @@ def edit(id): return render_template('edit.html', todo=todo, categories=categories) -@app.route('//delete/', methods=('POST',)) +@ app.route('//delete/', methods=('POST',)) def delete(id): - conn = get_db_connection() + conn=get_db_connection() conn.execute('DELETE FROM cards WHERE id = ?', (id,)) conn.commit() conn.close() diff --git a/library.db b/library.db index a139fff..590a14d 100644 Binary files a/library.db and b/library.db differ diff --git a/static/style_default.css b/static/style_default.css index 4fa660c..d982553 100644 --- a/static/style_default.css +++ b/static/style_default.css @@ -2,7 +2,7 @@ body{ } -.formPanel{ +/* .formPanel{ display: none; background-color: rgb(239, 255, 167); width: 300px; @@ -10,4 +10,12 @@ body{ position: absolute; top: 3em; margin: 0 auto; +} */ +.all-cards{ + display: flex; + flex-flow: row; +} +.card{ + border: 1px solid rgb(147, 93, 255); + padding: 4px; } \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index 667a107..6cb558e 100644 --- a/templates/base.html +++ b/templates/base.html @@ -3,7 +3,7 @@ {% block title %} {% endblock %} - + diff --git a/templates/home.html b/templates/home.html index c811b3a..c3bcfb1 100644 --- a/templates/home.html +++ b/templates/home.html @@ -2,38 +2,39 @@ {% block content %}

{% block title %} Welcome to grgr's library {% endblock %}

- {% for category, cards in categories.items() %} -
-
-

{{ category }}

-
-
    + +
    + {% for category, cards in categories.items() %} + {% for card in cards %} -
  • {{ card['content'] }}
  • +
    +
    +
    {{ category }}
    +
    -
    - -
    - Edit -
    - - -
    -
    - -
    +
    {{ card['content'] }}
    + +
    + +
    + Edit +
    + + +
    +
    + +
    +
    -
    - -
    +
    {% endfor %} -
+ + {% endfor %} +
- {% endfor %} + {% endblock %}