Format.
This commit is contained in:
parent
352d2deb12
commit
12ca8e4296
@ -2,6 +2,12 @@ import pathlib
|
|||||||
from types import SimpleNamespace
|
from types import SimpleNamespace
|
||||||
|
|
||||||
from aiohttp import web
|
from aiohttp import web
|
||||||
|
from aiohttp_session import (
|
||||||
|
get_session as session_get,
|
||||||
|
session_middleware,
|
||||||
|
setup as session_setup,
|
||||||
|
)
|
||||||
|
from aiohttp_session.cookie_storage import EncryptedCookieStorage
|
||||||
from app.app import Application as BaseApplication
|
from app.app import Application as BaseApplication
|
||||||
|
|
||||||
from snek.docs.app import Application as DocsApplication
|
from snek.docs.app import Application as DocsApplication
|
||||||
@ -20,17 +26,13 @@ from snek.view.register_form import RegisterFormView
|
|||||||
from snek.view.status import StatusView
|
from snek.view.status import StatusView
|
||||||
from snek.view.web import WebView
|
from snek.view.web import WebView
|
||||||
|
|
||||||
from aiohttp import web
|
# base64.urlsafe_b64encode(
|
||||||
from aiohttp_session import setup as session_setup, get_session as session_get, session_middleware
|
SESSION_KEY = b"c79a0c5fda4b424189c427d28c9f7c34"
|
||||||
from aiohttp_session.cookie_storage import EncryptedCookieStorage
|
|
||||||
import base64
|
|
||||||
|
|
||||||
#base64.urlsafe_b64encode(
|
|
||||||
SESSION_KEY = b'c79a0c5fda4b424189c427d28c9f7c34'
|
|
||||||
|
|
||||||
@web.middleware
|
@web.middleware
|
||||||
async def session_middleware(request, handler):
|
async def session_middleware(request, handler):
|
||||||
setattr(request,"session", await session_get(request))
|
setattr(request, "session", await session_get(request))
|
||||||
response = await handler(request)
|
response = await handler(request)
|
||||||
return response
|
return response
|
||||||
|
|
||||||
@ -46,13 +48,12 @@ class Application(BaseApplication):
|
|||||||
super().__init__(
|
super().__init__(
|
||||||
middlewares=middlewares, template_path=self.template_path, *args, **kwargs
|
middlewares=middlewares, template_path=self.template_path, *args, **kwargs
|
||||||
)
|
)
|
||||||
session_setup(self,EncryptedCookieStorage(SESSION_KEY))
|
session_setup(self, EncryptedCookieStorage(SESSION_KEY))
|
||||||
self._middlewares.append(session_middleware)
|
self._middlewares.append(session_middleware)
|
||||||
self.jinja2_env.add_extension(MarkdownExtension)
|
self.jinja2_env.add_extension(MarkdownExtension)
|
||||||
self.setup_router()
|
self.setup_router()
|
||||||
self.setup_services()
|
self.setup_services()
|
||||||
|
|
||||||
|
|
||||||
def setup_services(self):
|
def setup_services(self):
|
||||||
self.services = SimpleNamespace(**get_services(app=self))
|
self.services = SimpleNamespace(**get_services(app=self))
|
||||||
self.mappers = SimpleNamespace(**get_mappers(app=self))
|
self.mappers = SimpleNamespace(**get_mappers(app=self))
|
||||||
@ -69,7 +70,7 @@ class Application(BaseApplication):
|
|||||||
self.router.add_view("/about.md", AboutMDView)
|
self.router.add_view("/about.md", AboutMDView)
|
||||||
self.router.add_view("/docs.html", DocsHTMLView)
|
self.router.add_view("/docs.html", DocsHTMLView)
|
||||||
self.router.add_view("/docs.md", DocsMDView)
|
self.router.add_view("/docs.md", DocsMDView)
|
||||||
self.router.add_view("/status.json",StatusView)
|
self.router.add_view("/status.json", StatusView)
|
||||||
self.router.add_view("/web.html", WebView)
|
self.router.add_view("/web.html", WebView)
|
||||||
self.router.add_view("/login.html", LoginView)
|
self.router.add_view("/login.html", LoginView)
|
||||||
self.router.add_view("/login.json", LoginFormView)
|
self.router.add_view("/login.json", LoginFormView)
|
||||||
|
@ -215,10 +215,10 @@ class UUIDField(ModelField):
|
|||||||
@property
|
@property
|
||||||
def value(self):
|
def value(self):
|
||||||
return str(self._value)
|
return str(self._value)
|
||||||
|
|
||||||
@value.setter
|
@value.setter
|
||||||
def value(self,val):
|
def value(self, val):
|
||||||
self._value = str(val)
|
self._value = str(val)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def initial_value(self):
|
def initial_value(self):
|
||||||
|
@ -23,7 +23,7 @@ class BaseView(web.View):
|
|||||||
async def json_response(self, data):
|
async def json_response(self, data):
|
||||||
return web.json_response(data)
|
return web.json_response(data)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def session(self):
|
def session(self):
|
||||||
return self.request.session
|
return self.request.session
|
||||||
|
|
||||||
|
@ -9,8 +9,8 @@ class RegisterFormView(BaseFormView):
|
|||||||
result = await self.app.services.user.register(
|
result = await self.app.services.user.register(
|
||||||
form.email.value, form.username.value, form.password.value
|
form.email.value, form.username.value, form.password.value
|
||||||
)
|
)
|
||||||
self.request.session["uid"] = result['uid']
|
self.request.session["uid"] = result["uid"]
|
||||||
self.request.session["username"] = result['usernmae']
|
self.request.session["username"] = result["usernmae"]
|
||||||
self.request.session["logged_in"] = True
|
self.request.session["logged_in"] = True
|
||||||
|
|
||||||
return dict(redirect_url="/web.html")
|
return {"redirect_url": "/web.html"}
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
from snek.system.view import BaseView
|
from snek.system.view import BaseView
|
||||||
|
|
||||||
|
|
||||||
class StatusView(BaseView):
|
class StatusView(BaseView):
|
||||||
async def get(self):
|
async def get(self):
|
||||||
return await self.json_response({"status": "ok", "username": self.session.get("username"),"logged_in":self.session.get("username") and True or False, "uid":self.session.get("uid")})
|
return await self.json_response(
|
||||||
|
{
|
||||||
|
"status": "ok",
|
||||||
|
"username": self.session.get("username"),
|
||||||
|
"logged_in": self.session.get("username") and True or False,
|
||||||
|
"uid": self.session.get("uid"),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user