Rewrite to Quart web-framework, refactor code.

This commit is contained in:
dsc 2022-03-12 14:46:31 +02:00
parent 6b300fd304
commit 67f4c34604
39 changed files with 656 additions and 980 deletions

37
yellow/models.py Normal file
View file

@ -0,0 +1,37 @@
import os, re, random
from typing import Optional, List
from datetime import datetime
from peewee import SqliteDatabase, SQL, ForeignKeyField
import peewee as pw
import settings
db = SqliteDatabase(settings.DB_PATH)
class User(pw.Model):
id = pw.UUIDField(primary_key=True)
created = pw.DateTimeField(default=datetime.now)
username = pw.CharField(unique=True, null=False)
address = pw.CharField(null=True)
@staticmethod
async def search(needle) -> List['User']:
needle = needle.replace("*", "")
if len(needle) <= 2:
raise Exception("need longer search term")
return User.select().where(User.username % f"*{needle}*")
def to_json(self, ignore_key=None):
data = {
"id": self.id,
"username": self.username,
"address": self.address
}
if isinstance(ignore_key, str):
data.pop(ignore_key)
return data
class Meta:
database = db