summaryrefslogtreecommitdiffstats
path: root/g4f/gui/server/website.py
diff options
context:
space:
mode:
authorCommenter123321 <36051603+Commenter123321@users.noreply.github.com>2023-10-09 18:02:06 +0200
committerCommenter123321 <36051603+Commenter123321@users.noreply.github.com>2023-10-09 18:02:06 +0200
commit119817c96349807efaf87ee432ce46446542b66a (patch)
tree1dbdf4d4dbf4f6c8a8247274ef500a2f1de765d1 /g4f/gui/server/website.py
parentaivvm's no life creator keeps patching it, but I'm just better 😉 (diff)
parentMerge branch 'main' of https://github.com/xtekky/gpt4free (diff)
downloadgpt4free-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.py40
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