This commit is contained in:
retoor 2025-04-08 04:20:28 +02:00
parent 75593fd6bb
commit d71d5da6bc
8 changed files with 39 additions and 13 deletions

View File

@ -16,7 +16,7 @@ requires-python = ">=3.12"
dependencies = [
"mkdocs>=1.4.0",
"lxml",
"IPython",
"shed",
"app @ git+https://retoor.molodetz.nl/retoor/app",
"beautifulsoup4",

View File

@ -85,12 +85,18 @@ class Application(BaseApplication):
self.jinja2_env.add_extension(EmojiExtension)
self.setup_router()
self.executor = None
self.cache = Cache(self)
self.services = get_services(app=self)
self.mappers = get_mappers(app=self)
self.on_startup.append(self.prepare_asyncio)
self.on_startup.append(self.prepare_database)
async def prepare_asyncio(self,app):
#app.loop = asyncio.get_running_loop()
app.executor = ThreadPoolExecutor(max_workers=200)
app.loop.set_default_executor(self.executor)
async def create_task(self, task):
await self.tasks.put(task)
@ -235,11 +241,6 @@ class Application(BaseApplication):
return await super().render_template(template, request, context)
executor = ThreadPoolExecutor(max_workers=200)
loop = asyncio.get_event_loop()
loop.set_default_executor(executor)
app = Application(db_path="sqlite:///snek.db")

View File

@ -29,6 +29,28 @@ class UserModel(BaseModel):
last_ping = ModelField(name="last_ping", required=False, kind=str)
async def get_property(self, name):
prop = await self.app.services.user_property.find_one(
user_uid=self["uid"], name=name
)
if prop:
return prop["value"]
async def has_property(self, name):
return await self.app.services.user_property.exists(
user_uid=self["uid"], name=name
)
async def set_property(self, name, value):
if not await self.has_property(name):
await self.app.services.user_property.insert(
user_uid=self["uid"], name=name, value=value
)
else:
await self.app.services.user_property.update(
user_uid=self["uid"], name=name, value=value
)
async def get_channel_members(self):
async for channel_member in self.app.services.channel_member.find(
user_uid=self["uid"], is_banned=False, deleted_at=None

View File

@ -11,7 +11,7 @@ from snek.service.socket import SocketService
from snek.service.user import UserService
from snek.service.util import UtilService
from snek.system.object import Object
from snek.service.user_property import UserPropertyService
@functools.cache
def get_services(app):
@ -27,6 +27,7 @@ def get_services(app):
"util": UtilService(app=app),
"drive": DriveService(app=app),
"drive_item": DriveItemService(app=app),
"user_property": UserPropertyService(app=app),
}
)

View File

@ -233,4 +233,4 @@ export class App extends EventHandler {
}
export const app = new App();
window.app = app;
window.app = app;

View File

@ -374,15 +374,12 @@ a {
left: 0;
text-overflow: ellipsis;
width:100%;
*{
font-size: 12px !important;
}
.logo {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
h2 {
font-size: 12px;
font-size: 14px;
}
}

View File

@ -2,6 +2,8 @@
{% block title %}Search{% endblock %}
{% block header_text %}<h2 style="color:#fff">Search</h2>{% endblock %}
{% block main %}
<section class="chat-area">

View File

@ -1,7 +1,10 @@
{% extends "app.html" %}
{% block header_text %}<h2 style="color:#fff">Threads</h2>{% endblock %}
{% block main %}
<section class="chat-area" id="chat">
<div class="chat-header">&nbsp;</div>
<div class="threads">
{% for thread in threads %}
{% autoescape false %}