mirror of
https://github.com/Astatin3/Polyboard.git
synced 2026-06-09 00:28:07 -06:00
"Finish" Working on backend
This commit is contained in:
+25
-19
@@ -6,6 +6,7 @@ from flask import Flask, render_template, Response
|
||||
from flask import request, redirect, url_for, make_response
|
||||
|
||||
import src.jsonpack as jsonpack
|
||||
import src.packets as packets
|
||||
import src.auth as auth
|
||||
|
||||
webroot = utils.getRoot('html/')
|
||||
@@ -55,22 +56,22 @@ class webpage():
|
||||
|
||||
@app.route('/')
|
||||
def index():
|
||||
isValid = app.authServer.cookieLogin(request)
|
||||
isValid = app.webserv.authServer.cookieLogin(request)
|
||||
if not isValid:
|
||||
return redirect("/login", code=302)
|
||||
else:
|
||||
return redirect(f'/{app.defaultTab}/{app.defaultPage}', code=302)
|
||||
return redirect(f'/{app.webserv.defaultTab}/{app.webserv.defaultPage}', code=302)
|
||||
|
||||
@app.route('/login')
|
||||
def loginPage():
|
||||
isValid = app.authServer.cookieLogin(request)
|
||||
isValid = app.webserv.authServer.cookieLogin(request)
|
||||
if isValid:
|
||||
return redirect(f'/{app.defaultTab}/{app.defaultPage}', code=302)
|
||||
return redirect(f'/{app.webserv.defaultTab}/{app.webserv.defaultPage}', code=302)
|
||||
|
||||
return make_response(open(f'{webroot}nav.html', 'r').read()
|
||||
.replace('<!--Place body here!!!-->', open(f'{webroot}login.html', 'r').read())
|
||||
.replace('<!--Place tabs here!!!-->', '<a href="/login" role="button" class="outline topnav-button text-white">Login</a>')
|
||||
.replace('<!--Place title here!!!-->', app.title)
|
||||
.replace('<!--Place title here!!!-->', app.webserv.title)
|
||||
.replace('<!--Place defaultPage here!!!-->', '/login'))
|
||||
|
||||
def recursivePageLocationFinder(pagename, objs):
|
||||
@@ -88,21 +89,21 @@ def recursivePageLocationFinder(pagename, objs):
|
||||
@app.route('/<tabname>/<pagename>')
|
||||
def page(tabname, pagename):
|
||||
|
||||
isValid = app.authServer.cookieLogin(request)
|
||||
isValid = app.webserv.authServer.cookieLogin(request)
|
||||
if not isValid:
|
||||
return redirect("/login", code=302)
|
||||
|
||||
try:
|
||||
|
||||
tab = utils.getatribinarr(app.webtabs, 'name', tabname)
|
||||
tab = utils.getatribinarr(app.webserv.webtabs, 'name', tabname)
|
||||
pageloc = recursivePageLocationFinder(pagename, tab.pages)
|
||||
|
||||
return make_response(open(utils.getRoot('html/nav.html'), 'r').read()
|
||||
.replace('<!--Place body here!!!-->', open(utils.getRoot(pageloc), 'r').read())
|
||||
.replace('<!--Place tabs here!!!-->', app.tabHtml)
|
||||
.replace('<!--Place tabs here!!!-->', app.webserv.tabHtml)
|
||||
.replace('<!--Place pages here!!!-->', tab.html)
|
||||
.replace('<!--Place title here!!!-->', app.title)
|
||||
.replace('<!--Place defaultPage here!!!-->', f'/{app.defaultTab}/{app.defaultPage}'))
|
||||
.replace('<!--Place title here!!!-->', app.webserv.title)
|
||||
.replace('<!--Place defaultPage here!!!-->', f'/{app.webserv.defaultTab}/{app.webserv.defaultPage}'))
|
||||
except:
|
||||
return redirect("/login", code=302)
|
||||
|
||||
@@ -114,6 +115,7 @@ def src(file):
|
||||
def err404(err):
|
||||
return redirect("/", code=302)
|
||||
|
||||
|
||||
class webserv():
|
||||
def __init__(self):
|
||||
self.title = 'Modulator'
|
||||
@@ -128,7 +130,7 @@ class webserv():
|
||||
|
||||
self.app = None
|
||||
|
||||
def start(self):
|
||||
def init(self):
|
||||
if not self.verbose:
|
||||
import logging
|
||||
log = logging.getLogger('werkzeug')
|
||||
@@ -140,8 +142,6 @@ class webserv():
|
||||
else:
|
||||
sslcontext = None
|
||||
|
||||
self.proc = mupr.Process(target=app.run, kwargs=dict(debug=self.verbose, port=self.port, host=self.host, ssl_context=sslcontext))
|
||||
|
||||
def tabHtml(path, name):
|
||||
return f'<a href="{path}" role="button" class="outline topnav-button text-white">{name}</a>'
|
||||
|
||||
@@ -150,16 +150,22 @@ class webserv():
|
||||
if tab.name == self.defaultTab:
|
||||
self.defaultPage = tab.defaultPage
|
||||
|
||||
app.authServer = auth.startAuthListener(app)
|
||||
def testfunc1(ac, data):
|
||||
print(ac)
|
||||
print(data)
|
||||
|
||||
app.defaultTab = self.defaultTab
|
||||
app.defaultPage = self.defaultPage
|
||||
app.webtabs = self.webtabs
|
||||
app.tabHtml = self.tabHtml
|
||||
|
||||
app.title = self.title
|
||||
app.webserv = self
|
||||
self.app = app
|
||||
self.rawServer = packets.startRawListener(self)
|
||||
self.authServer = auth.authServer(self)
|
||||
self.proc = mupr.Process(target=app.run, kwargs=dict(debug=self.verbose, port=self.port, host=self.host, ssl_context=sslcontext))
|
||||
|
||||
|
||||
def start(self):
|
||||
self.proc.start()
|
||||
|
||||
# return self.rawServer
|
||||
|
||||
def stop(self):
|
||||
self.proc.terminate()
|
||||
|
||||
Reference in New Issue
Block a user