summaryrefslogtreecommitdiffstats
path: root/g4f/gui/server/website.py
diff options
context:
space:
mode:
authorabc <98614666+xtekky@users.noreply.github.com>2023-10-06 20:52:17 +0200
committerabc <98614666+xtekky@users.noreply.github.com>2023-10-06 20:52:17 +0200
commit7e4e374f621d9d1c37f37ff6555e013cdb3b03a0 (patch)
treeeef5caa70f7707a7dc9467ef6849db278d9cfa06 /g4f/gui/server/website.py
parent~ (diff)
downloadgpt4free-7e4e374f621d9d1c37f37ff6555e013cdb3b03a0.tar
gpt4free-7e4e374f621d9d1c37f37ff6555e013cdb3b03a0.tar.gz
gpt4free-7e4e374f621d9d1c37f37ff6555e013cdb3b03a0.tar.bz2
gpt4free-7e4e374f621d9d1c37f37ff6555e013cdb3b03a0.tar.lz
gpt4free-7e4e374f621d9d1c37f37ff6555e013cdb3b03a0.tar.xz
gpt4free-7e4e374f621d9d1c37f37ff6555e013cdb3b03a0.tar.zst
gpt4free-7e4e374f621d9d1c37f37ff6555e013cdb3b03a0.zip
Diffstat (limited to '')
-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