Fixed some backend issues.
Signed-off-by: Pavel Kirilin <s3riussan@gmail.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
|||||||
|
from piccolo.apps.migrations.auto.migration_manager import MigrationManager
|
||||||
|
from piccolo.columns.column_types import Integer
|
||||||
|
|
||||||
|
ID = "2026-07-02T12:57:47:552419"
|
||||||
|
VERSION = "1.34.0"
|
||||||
|
DESCRIPTION = ""
|
||||||
|
|
||||||
|
|
||||||
|
async def forwards():
|
||||||
|
manager = MigrationManager(
|
||||||
|
migration_id=ID, app_name="zangramru_db", description=DESCRIPTION
|
||||||
|
)
|
||||||
|
|
||||||
|
manager.alter_column(
|
||||||
|
table_class_name="Puzzle",
|
||||||
|
tablename="puzzle",
|
||||||
|
column_name="number",
|
||||||
|
db_column_name="number",
|
||||||
|
params={"unique": True},
|
||||||
|
old_params={"unique": False},
|
||||||
|
column_class=Integer,
|
||||||
|
old_column_class=Integer,
|
||||||
|
schema=None,
|
||||||
|
)
|
||||||
|
|
||||||
|
return manager
|
||||||
@@ -12,4 +12,4 @@ class Puzzle(Table):
|
|||||||
solutions = JSON()
|
solutions = JSON()
|
||||||
extra = JSON()
|
extra = JSON()
|
||||||
definitions = JSON()
|
definitions = JSON()
|
||||||
number = Integer()
|
number = Integer(unique=True)
|
||||||
|
|||||||
@@ -19,6 +19,11 @@ word|def
|
|||||||
слово|прогр. то же, что машинное слово; два байта или шестнадцать бит
|
слово|прогр. то же, что машинное слово; два байта или шестнадцать бит
|
||||||
большой|щитовидный вулкан между реками Тихая и Быстрая Хайрюзова на полуострове Камчатка
|
большой|щитовидный вулкан между реками Тихая и Быстрая Хайрюзова на полуострове Камчатка
|
||||||
место|разг. то же, что плацента; детское место
|
место|разг. то же, что плацента; детское место
|
||||||
|
фрак|парадный сюртук с вырезанными спереди полами и длинными узкими фалдами сзади
|
||||||
|
тина|крим. жарг. наркотик метамфетамин
|
||||||
|
зонт|перен. защита, средство защиты от определённой угрозы
|
||||||
|
некроз|мед. патологический процесс, выражающийся в местной гибели органов или тканей в живом организме в результате каких-либо повреждений
|
||||||
|
норка|река в России
|
||||||
лицо|перен. лицевая (значимая) часть плоского предмета (листа бумаги, текстильного полотна и т. д.)
|
лицо|перен. лицевая (значимая) часть плоского предмета (листа бумаги, текстильного полотна и т. д.)
|
||||||
друг|перен., разг. то, что способствует нормальной жизнедеятельности человека
|
друг|перен., разг. то, что способствует нормальной жизнедеятельности человека
|
||||||
глаз|устар. крим. паспорт
|
глаз|устар. крим. паспорт
|
||||||
|
|||||||
|
Can't render this file because it is too large.
|
@@ -1,4 +1,5 @@
|
|||||||
import json
|
import json
|
||||||
|
import asyncio
|
||||||
from datetime import date, timedelta
|
from datetime import date, timedelta
|
||||||
|
|
||||||
from fastapi import APIRouter, HTTPException
|
from fastapi import APIRouter, HTTPException
|
||||||
@@ -30,7 +31,7 @@ async def daily_puzzle(
|
|||||||
# Because they start at one, so we need to subtract one.
|
# Because they start at one, so we need to subtract one.
|
||||||
target_date = date.today()
|
target_date = date.today()
|
||||||
if number is not None:
|
if number is not None:
|
||||||
target_date = settings.start_date + timedelta(days=number - 1)
|
target_date = settings.start_date + timedelta(days=number)
|
||||||
|
|
||||||
if target_date > date.today():
|
if target_date > date.today():
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
@@ -45,13 +46,15 @@ async def daily_puzzle(
|
|||||||
if daily_puzzle is not None:
|
if daily_puzzle is not None:
|
||||||
board = [list(daily_puzzle.board[i * 4 : i * 4 + 4]) for i in range(4)]
|
board = [list(daily_puzzle.board[i * 4 : i * 4 + 4]) for i in range(4)]
|
||||||
return DailyPuzzleDTO(
|
return DailyPuzzleDTO(
|
||||||
number=(date.today() - settings.start_date).days,
|
number=daily_puzzle.number,
|
||||||
board=board,
|
board=board,
|
||||||
solutions=json.loads(daily_puzzle.solutions),
|
solutions=json.loads(daily_puzzle.solutions),
|
||||||
extra=json.loads(daily_puzzle.extra),
|
extra=json.loads(daily_puzzle.extra),
|
||||||
word_defs=json.loads(daily_puzzle.definitions),
|
word_defs=json.loads(daily_puzzle.definitions),
|
||||||
)
|
)
|
||||||
puzzle = generator.generate(target=10)
|
|
||||||
|
loop = asyncio.get_running_loop()
|
||||||
|
puzzle = await loop.run_in_executor(None, generator.generate, 10)
|
||||||
compressedboard = "".join("".join(row) for row in puzzle.board)
|
compressedboard = "".join("".join(row) for row in puzzle.board)
|
||||||
await Puzzle(
|
await Puzzle(
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user