Spaces:
Runtime error
Runtime error
| from flask import render_template, redirect, url_for, request, session | |
| from flask_babel import refresh | |
| from time import time | |
| from os import urandom | |
| from server.babel import get_locale, get_languages | |
| class Website: | |
| def __init__(self, bp, url_prefix) -> None: | |
| self.bp = bp | |
| self.url_prefix = url_prefix | |
| self.routes = { | |
| '/': { | |
| 'function': lambda: redirect(url_for('._index')), | |
| 'methods': ['GET', 'POST'] | |
| }, | |
| '/chat/': { | |
| 'function': self._index, | |
| 'methods': ['GET', 'POST'] | |
| }, | |
| '/chat/<conversation_id>': { | |
| 'function': self._chat, | |
| 'methods': ['GET', 'POST'] | |
| }, | |
| '/change-language': { | |
| 'function': self.change_language, | |
| 'methods': ['POST'] | |
| }, | |
| '/get-locale': { | |
| 'function': self.get_locale, | |
| 'methods': ['GET'] | |
| }, | |
| '/get-languages': { | |
| 'function': self.get_languages, | |
| 'methods': ['GET'] | |
| } | |
| } | |
| def _chat(self, conversation_id): | |
| if '-' not in conversation_id: | |
| return redirect(url_for('._index')) | |
| return render_template('index.html', chat_id=conversation_id, url_prefix=self.url_prefix) | |
| def _index(self): | |
| return render_template('index.html', chat_id=f'{urandom(4).hex()}-{urandom(2).hex()}-{urandom(2).hex()}-{urandom(2).hex()}-{hex(int(time() * 1000))[2:]}', url_prefix=self.url_prefix) | |
| def change_language(self): | |
| data = request.get_json() | |
| session['language'] = data.get('language') | |
| refresh() | |
| return '', 204 | |
| def get_locale(self): | |
| return get_locale() | |
| def get_languages(self): | |
| return get_languages() | |