finished backend upgrades to allow multiple courses
This commit is contained in:
12
app/utils.py
12
app/utils.py
@@ -19,8 +19,8 @@ def init_serializer(app: Flask):
|
||||
def get_active_banner() -> InfoBanner | None:
|
||||
return db.session.execute(db.select(InfoBanner).where(InfoBanner.is_active)).scalar_one_or_none()
|
||||
|
||||
def get_available_decks(app: Flask):
|
||||
slides_dir = app.config['SLIDES_DIR']
|
||||
def get_available_decks(app: Flask, course: Course):
|
||||
slides_dir = os.path.join(app.config['SLIDES_DIR'], course.folder)
|
||||
deck_names = [name for name in os.listdir(slides_dir) if os.path.isdir(os.path.join(slides_dir, name))]
|
||||
deck_names.sort()
|
||||
return deck_names
|
||||
@@ -31,6 +31,9 @@ def generate_username() -> str:
|
||||
def generate_password() -> str:
|
||||
return cast(str, xkcd_password.generate_xkcdpassword(wordlist=words, numwords=2, delimiter="-"))
|
||||
|
||||
def get_passwords(course: Course):
|
||||
return [password for deck in course.decks for password in deck.passwords]
|
||||
|
||||
def generate_token() -> Token:
|
||||
max_tries = 100
|
||||
for _ in range(max_tries):
|
||||
@@ -68,12 +71,13 @@ def retrieve_token(username : str):
|
||||
def get_unlocked_decks(token: (Token|None)):
|
||||
if token is None:
|
||||
return []
|
||||
decks = token.decks
|
||||
decks = [deck for deck in token.decks if deck.course_id == token.active_course_id]
|
||||
decks.sort(key=lambda deck: deck.deck)
|
||||
return decks
|
||||
|
||||
|
||||
def is_deck_unlocked(deck: str):
|
||||
token = get_token()
|
||||
print(token)
|
||||
if token:
|
||||
return token.is_unlocked(deck)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user