diff options
author | Commenter123321 <36051603+Commenter123321@users.noreply.github.com> | 2023-10-09 18:02:06 +0200 |
---|---|---|
committer | Commenter123321 <36051603+Commenter123321@users.noreply.github.com> | 2023-10-09 18:02:06 +0200 |
commit | 119817c96349807efaf87ee432ce46446542b66a (patch) | |
tree | 1dbdf4d4dbf4f6c8a8247274ef500a2f1de765d1 /g4f/gui/server/website.py | |
parent | aivvm's no life creator keeps patching it, but I'm just better 😉 (diff) | |
parent | Merge branch 'main' of https://github.com/xtekky/gpt4free (diff) | |
download | gpt4free-119817c96349807efaf87ee432ce46446542b66a.tar gpt4free-119817c96349807efaf87ee432ce46446542b66a.tar.gz gpt4free-119817c96349807efaf87ee432ce46446542b66a.tar.bz2 gpt4free-119817c96349807efaf87ee432ce46446542b66a.tar.lz gpt4free-119817c96349807efaf87ee432ce46446542b66a.tar.xz gpt4free-119817c96349807efaf87ee432ce46446542b66a.tar.zst gpt4free-119817c96349807efaf87ee432ce46446542b66a.zip |
Diffstat (limited to 'g4f/gui/server/website.py')
-rw-r--r-- | g4f/gui/server/website.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/g4f/gui/server/website.py b/g4f/gui/server/website.py new file mode 100644 index 00000000..d0c56c20 --- /dev/null +++ b/g4f/gui/server/website.py @@ -0,0 +1,40 @@ +from flask import render_template, send_file, redirect +from time import time +from os import urandom + +class Website: + def __init__(self, app) -> None: + self.app = app + self.routes = { + '/': { + 'function': lambda: redirect('/chat'), + 'methods': ['GET', 'POST'] + }, + '/chat/': { + 'function': self._index, + 'methods': ['GET', 'POST'] + }, + '/chat/<conversation_id>': { + 'function': self._chat, + 'methods': ['GET', 'POST'] + }, + '/assets/<folder>/<file>': { + 'function': self._assets, + 'methods': ['GET', 'POST'] + } + } + + def _chat(self, conversation_id): + if not '-' in conversation_id: + return redirect(f'/chat') + + return render_template('index.html', chat_id = conversation_id) + + 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:]}') + + def _assets(self, folder: str, file: str): + try: + return send_file(f"./../client/{folder}/{file}", as_attachment=False) + except: + return "File not found", 404
\ No newline at end of file |