import glob import secrets import sys import yaml from flask import Flask, request from user import User class LaToSa: def __init__(self, app: Flask): self.users = [ User(app, 'micke', 'Micke Nordin', 'hej@mic.ke', 'S3cr3t!', secrets.token_hex(32)) ] def get_users(self): return self.users def login_user(self, username, password): for user in self.users: if user.get_id() == username and user.check_password(password): user.set_authenticated(True) user.set_active(True) print(f'Logged in {user.get_id()}', file=sys.stderr) return user print(f'Login failed for {username}', file=sys.stderr) return None def get_i18n(self, request: request): language_files = glob.glob("i18n/*.yaml") languages = {} for lang in language_files: filename = lang.split('/') lang_code = filename[1].split('.')[0] with open(lang, 'r', encoding='utf8') as file: languages[lang_code] = yaml.safe_load(file.read()) supported_languages = list(languages.keys()) user_language = request.accept_languages.best_match( supported_languages) return languages[user_language]