spremenil logiko za deck tako, da 'new_session' v db shrani stabilen deck kot string card idjev, potem pa ga lahko tudi večkrat istega kličemo da iteriramo ko dejansko prikazujemo karte iz decka
parent
e0f2111b88
commit
b3a15184c8
21
app.py
21
app.py
|
@ -6,9 +6,10 @@ from sqlalchemy import case
|
|||
from auth import login_required, bp as auth_bp
|
||||
from deck import probabilistic_deck_generator, bp as deck_bp
|
||||
from menu import bp as menu_bp
|
||||
from upload import bp as upload_bp
|
||||
from flask import Flask, redirect, render_template, session, request, url_for
|
||||
|
||||
from create_db import Card
|
||||
from create_db import Card, Deck
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from config import CONFIG
|
||||
|
@ -57,17 +58,21 @@ def create_app(test_config=None):
|
|||
global deck_index
|
||||
user_id = session['user_id']
|
||||
username = session['username']
|
||||
d = probabilistic_deck_generator(user_id, 5, 5) #to je hell ker vsakič generira nov deck TODO deck bi moral bit nekako stabilen
|
||||
|
||||
#pokliče na bazo, da dobi str card idjev, ga spremeni v list in srevira karte po idjih
|
||||
ids = dbsession.query(Deck).filter(Deck.owner_id == user_id, Deck.completed == False).first()
|
||||
|
||||
d = ids.cards_by_id.split(",")
|
||||
|
||||
deck_index+=1
|
||||
if deck_index < len(d):
|
||||
card = d[deck_index]
|
||||
card = dbsession.query(Card).filter(Card.id == d[deck_index]).first()
|
||||
else:
|
||||
deck_index =-1
|
||||
return redirect(url_for("menu.index"))
|
||||
|
||||
if request.method == 'POST':
|
||||
rate = request.form['rate']
|
||||
rate = request.form.get('rate', None) #je to nevarno??
|
||||
cardtitle = request
|
||||
print(rate)
|
||||
if rate == "Yes":
|
||||
|
@ -96,17 +101,13 @@ def create_app(test_config=None):
|
|||
|
||||
@app.route('/match')
|
||||
def match():
|
||||
return "match"
|
||||
|
||||
@app.route('/upload')
|
||||
def upload():
|
||||
return "upload"
|
||||
|
||||
return "match"
|
||||
|
||||
#app.register_blueprint(bp) # ??
|
||||
app.register_blueprint(auth_bp)
|
||||
app.register_blueprint(deck_bp)
|
||||
app.register_blueprint(menu_bp)
|
||||
app.register_blueprint(upload_bp)
|
||||
app.add_url_rule('/', endpoint='index')
|
||||
|
||||
return app
|
||||
|
|
19
deck.py
19
deck.py
|
@ -74,15 +74,18 @@ def probabilistic_deck_generator(user_id, max_new, max_due):
|
|||
|
||||
return deck
|
||||
|
||||
#################################################
|
||||
#################################################
|
||||
def get_deck(deck):
|
||||
"""naredimo string iz cardov"""
|
||||
cards_by_id = ""
|
||||
for card in deck:
|
||||
cards_by_id += str(card.id) + ","
|
||||
|
||||
cards_by_id = cards_by_id[:-1]
|
||||
|
||||
return cards_by_id
|
||||
|
||||
|
||||
#################################################
|
||||
##TODO
|
||||
# config za max_new in max_due
|
||||
#################################################
|
||||
#################################################
|
||||
#################################################
|
||||
#################################################
|
||||
#################################################
|
||||
#################################################
|
||||
#################################################
|
20
menu.py
20
menu.py
|
@ -6,7 +6,9 @@ from sqlalchemy.orm import sessionmaker
|
|||
from auth import login_required
|
||||
|
||||
from config import CONFIG
|
||||
from create_db import User
|
||||
from create_db import Deck, User
|
||||
|
||||
from deck import get_deck, probabilistic_deck_generator
|
||||
|
||||
bp = Blueprint('menu', __name__, url_prefix='/menu')
|
||||
|
||||
|
@ -22,15 +24,27 @@ def index():
|
|||
|
||||
print(username)
|
||||
|
||||
if request.method == 'POST':
|
||||
if request.method == "POST":
|
||||
action = request.form.get("menu", False) #internetna rešitev, nevem kako, ampak dela, tj. dobi info iz meni buttonov
|
||||
print(action)
|
||||
if action == "new_session":
|
||||
#tu bi moral preveriti če je kak unfinished deck, potem bi pisalo continiue, namesto new
|
||||
|
||||
#ustvari novi vnos v Deck
|
||||
deck = probabilistic_deck_generator(user_id, 5, 5)
|
||||
cards_by_id = get_deck(deck)
|
||||
number_of_cards = len(cards_by_id.split(","))
|
||||
|
||||
print(cards_by_id, number_of_cards)
|
||||
deck = Deck(cards_by_id=cards_by_id, owner_id=user_id, number_of_cards=number_of_cards, current_card=0, completed=False)
|
||||
dbsession.add(deck)
|
||||
dbsession.commit()
|
||||
|
||||
return redirect(url_for("deck"))
|
||||
elif action == "matches":
|
||||
pass
|
||||
elif action == "upload":
|
||||
pass
|
||||
return redirect(url_for("upload.index"))
|
||||
elif action == "settings":
|
||||
pass
|
||||
elif action == "instructions":
|
||||
|
|
Loading…
Reference in New Issue