Fixed some backend issues.
Testing zangramru / lint (push) Failing after 34s
Testing zangramru / pytest (push) Failing after 47s

Signed-off-by: Pavel Kirilin <s3riussan@gmail.com>
This commit is contained in:
2026-07-02 12:58:06 +02:00
parent 8033b498f9
commit f89a031997
4 changed files with 38 additions and 4 deletions
@@ -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
+1 -1
View File
@@ -12,4 +12,4 @@ class Puzzle(Table):
solutions = JSON()
extra = JSON()
definitions = JSON()
number = Integer()
number = Integer(unique=True)
+5
View File
@@ -19,6 +19,11 @@ word|def
слово|прогр. то же, что машинное слово; два байта или шестнадцать бит
большой|щитовидный вулкан между реками Тихая и Быстрая Хайрюзова на полуострове Камчатка
место|разг. то же, что плацента; детское место
фрак|парадный сюртук с вырезанными спереди полами и длинными узкими фалдами сзади
тина|крим. жарг. наркотик метамфетамин
зонт|перен. защита, средство защиты от определённой угрозы
некроз|мед. патологический процесс, выражающийся в местной гибели органов или тканей в живом организме в результате каких-либо повреждений
норка|река в России
лицо|перен. лицевая (значимая) часть плоского предмета (листа бумаги, текстильного полотна и т. д.)
друг|перен., разг. то, что способствует нормальной жизнедеятельности человека
глаз|устар. крим. паспорт
Can't render this file because it is too large.
+6 -3
View File
@@ -1,4 +1,5 @@
import json
import asyncio
from datetime import date, timedelta
from fastapi import APIRouter, HTTPException
@@ -30,7 +31,7 @@ async def daily_puzzle(
# Because they start at one, so we need to subtract one.
target_date = date.today()
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():
raise HTTPException(
@@ -45,13 +46,15 @@ async def daily_puzzle(
if daily_puzzle is not None:
board = [list(daily_puzzle.board[i * 4 : i * 4 + 4]) for i in range(4)]
return DailyPuzzleDTO(
number=(date.today() - settings.start_date).days,
number=daily_puzzle.number,
board=board,
solutions=json.loads(daily_puzzle.solutions),
extra=json.loads(daily_puzzle.extra),
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)
await Puzzle(
{