mirror of
https://github.com/aquatix/alfagok.git
synced 2025-12-06 21:05:10 +01:00
Use unidecode for accent-less word comparison; latest requirements
This commit is contained in:
@@ -2,27 +2,27 @@
|
|||||||
# uv pip compile requirements-server.in
|
# uv pip compile requirements-server.in
|
||||||
annotated-types==0.7.0
|
annotated-types==0.7.0
|
||||||
# via pydantic
|
# via pydantic
|
||||||
anyio==4.9.0
|
anyio==4.11.0
|
||||||
# via
|
# via
|
||||||
# httpx
|
# httpx
|
||||||
# starlette
|
# starlette
|
||||||
# watchfiles
|
# watchfiles
|
||||||
certifi==2025.4.26
|
certifi==2025.8.3
|
||||||
# via
|
# via
|
||||||
# httpcore
|
# httpcore
|
||||||
# httpx
|
# httpx
|
||||||
click==8.1.8
|
click==8.3.0
|
||||||
# via
|
# via
|
||||||
# rich-toolkit
|
# rich-toolkit
|
||||||
# typer
|
# typer
|
||||||
# uvicorn
|
# uvicorn
|
||||||
dnspython==2.7.0
|
dnspython==2.8.0
|
||||||
# via email-validator
|
# via email-validator
|
||||||
email-validator==2.2.0
|
email-validator==2.3.0
|
||||||
# via fastapi
|
# via fastapi
|
||||||
fastapi==0.115.12
|
fastapi==0.117.1
|
||||||
# via -r requirements.in
|
# via -r requirements.in
|
||||||
fastapi-cli==0.0.7
|
fastapi-cli==0.0.13
|
||||||
# via fastapi
|
# via fastapi
|
||||||
gunicorn==23.0.0
|
gunicorn==23.0.0
|
||||||
# via -r requirements-server.in
|
# via -r requirements-server.in
|
||||||
@@ -43,7 +43,7 @@ idna==3.10
|
|||||||
# httpx
|
# httpx
|
||||||
jinja2==3.1.6
|
jinja2==3.1.6
|
||||||
# via fastapi
|
# via fastapi
|
||||||
markdown-it-py==3.0.0
|
markdown-it-py==4.0.0
|
||||||
# via rich
|
# via rich
|
||||||
markupsafe==3.0.2
|
markupsafe==3.0.2
|
||||||
# via jinja2
|
# via jinja2
|
||||||
@@ -51,17 +51,17 @@ mdurl==0.1.2
|
|||||||
# via markdown-it-py
|
# via markdown-it-py
|
||||||
packaging==25.0
|
packaging==25.0
|
||||||
# via gunicorn
|
# via gunicorn
|
||||||
pydantic==2.11.4
|
pydantic==2.11.9
|
||||||
# via
|
# via
|
||||||
# fastapi
|
# fastapi
|
||||||
# pydantic-settings
|
# pydantic-settings
|
||||||
pydantic-core==2.33.2
|
pydantic-core==2.33.2
|
||||||
# via pydantic
|
# via pydantic
|
||||||
pydantic-settings==2.9.1
|
pydantic-settings==2.10.1
|
||||||
# via -r requirements.in
|
# via -r requirements.in
|
||||||
pygments==2.19.1
|
pygments==2.19.2
|
||||||
# via rich
|
# via rich
|
||||||
python-dotenv==1.1.0
|
python-dotenv==1.1.1
|
||||||
# via
|
# via
|
||||||
# pydantic-settings
|
# pydantic-settings
|
||||||
# uvicorn
|
# uvicorn
|
||||||
@@ -69,21 +69,21 @@ python-multipart==0.0.20
|
|||||||
# via fastapi
|
# via fastapi
|
||||||
pyyaml==6.0.2
|
pyyaml==6.0.2
|
||||||
# via uvicorn
|
# via uvicorn
|
||||||
rich==14.0.0
|
rich==14.1.0
|
||||||
# via
|
# via
|
||||||
# rich-toolkit
|
# rich-toolkit
|
||||||
# typer
|
# typer
|
||||||
rich-toolkit==0.14.6
|
rich-toolkit==0.15.1
|
||||||
# via fastapi-cli
|
# via fastapi-cli
|
||||||
shellingham==1.5.4
|
shellingham==1.5.4
|
||||||
# via typer
|
# via typer
|
||||||
sniffio==1.3.1
|
sniffio==1.3.1
|
||||||
# via anyio
|
# via anyio
|
||||||
starlette==0.46.2
|
starlette==0.48.0
|
||||||
# via fastapi
|
# via fastapi
|
||||||
typer==0.15.4
|
typer==0.19.2
|
||||||
# via fastapi-cli
|
# via fastapi-cli
|
||||||
typing-extensions==4.13.2
|
typing-extensions==4.15.0
|
||||||
# via
|
# via
|
||||||
# fastapi
|
# fastapi
|
||||||
# pydantic
|
# pydantic
|
||||||
@@ -91,17 +91,19 @@ typing-extensions==4.13.2
|
|||||||
# rich-toolkit
|
# rich-toolkit
|
||||||
# typer
|
# typer
|
||||||
# typing-inspection
|
# typing-inspection
|
||||||
typing-inspection==0.4.0
|
typing-inspection==0.4.1
|
||||||
# via
|
# via
|
||||||
# pydantic
|
# pydantic
|
||||||
# pydantic-settings
|
# pydantic-settings
|
||||||
uvicorn==0.34.2
|
unidecode==1.4.0
|
||||||
|
# via -r requirements.in
|
||||||
|
uvicorn==0.37.0
|
||||||
# via
|
# via
|
||||||
# fastapi
|
# fastapi
|
||||||
# fastapi-cli
|
# fastapi-cli
|
||||||
uvloop==0.21.0
|
uvloop==0.21.0
|
||||||
# via uvicorn
|
# via uvicorn
|
||||||
watchfiles==1.0.5
|
watchfiles==1.1.0
|
||||||
# via uvicorn
|
# via uvicorn
|
||||||
websockets==15.0.1
|
websockets==15.0.1
|
||||||
# via uvicorn
|
# via uvicorn
|
||||||
|
|||||||
@@ -1,2 +1,5 @@
|
|||||||
fastapi[standard]
|
fastapi[standard-no-fastapi-cloud-cli]
|
||||||
pydantic-settings
|
pydantic-settings
|
||||||
|
|
||||||
|
# Normalise strings so we can compare without accents
|
||||||
|
unidecode
|
||||||
|
|||||||
@@ -2,27 +2,27 @@
|
|||||||
# uv pip compile requirements.in
|
# uv pip compile requirements.in
|
||||||
annotated-types==0.7.0
|
annotated-types==0.7.0
|
||||||
# via pydantic
|
# via pydantic
|
||||||
anyio==4.9.0
|
anyio==4.11.0
|
||||||
# via
|
# via
|
||||||
# httpx
|
# httpx
|
||||||
# starlette
|
# starlette
|
||||||
# watchfiles
|
# watchfiles
|
||||||
certifi==2025.4.26
|
certifi==2025.8.3
|
||||||
# via
|
# via
|
||||||
# httpcore
|
# httpcore
|
||||||
# httpx
|
# httpx
|
||||||
click==8.1.8
|
click==8.3.0
|
||||||
# via
|
# via
|
||||||
# rich-toolkit
|
# rich-toolkit
|
||||||
# typer
|
# typer
|
||||||
# uvicorn
|
# uvicorn
|
||||||
dnspython==2.7.0
|
dnspython==2.8.0
|
||||||
# via email-validator
|
# via email-validator
|
||||||
email-validator==2.2.0
|
email-validator==2.3.0
|
||||||
# via fastapi
|
# via fastapi
|
||||||
fastapi==0.115.12
|
fastapi==0.117.1
|
||||||
# via -r requirements.in
|
# via -r requirements.in
|
||||||
fastapi-cli==0.0.7
|
fastapi-cli==0.0.13
|
||||||
# via fastapi
|
# via fastapi
|
||||||
h11==0.16.0
|
h11==0.16.0
|
||||||
# via
|
# via
|
||||||
@@ -41,23 +41,23 @@ idna==3.10
|
|||||||
# httpx
|
# httpx
|
||||||
jinja2==3.1.6
|
jinja2==3.1.6
|
||||||
# via fastapi
|
# via fastapi
|
||||||
markdown-it-py==3.0.0
|
markdown-it-py==4.0.0
|
||||||
# via rich
|
# via rich
|
||||||
markupsafe==3.0.2
|
markupsafe==3.0.2
|
||||||
# via jinja2
|
# via jinja2
|
||||||
mdurl==0.1.2
|
mdurl==0.1.2
|
||||||
# via markdown-it-py
|
# via markdown-it-py
|
||||||
pydantic==2.11.4
|
pydantic==2.11.9
|
||||||
# via
|
# via
|
||||||
# fastapi
|
# fastapi
|
||||||
# pydantic-settings
|
# pydantic-settings
|
||||||
pydantic-core==2.33.2
|
pydantic-core==2.33.2
|
||||||
# via pydantic
|
# via pydantic
|
||||||
pydantic-settings==2.9.1
|
pydantic-settings==2.10.1
|
||||||
# via -r requirements.in
|
# via -r requirements.in
|
||||||
pygments==2.19.1
|
pygments==2.19.2
|
||||||
# via rich
|
# via rich
|
||||||
python-dotenv==1.1.0
|
python-dotenv==1.1.1
|
||||||
# via
|
# via
|
||||||
# pydantic-settings
|
# pydantic-settings
|
||||||
# uvicorn
|
# uvicorn
|
||||||
@@ -65,21 +65,21 @@ python-multipart==0.0.20
|
|||||||
# via fastapi
|
# via fastapi
|
||||||
pyyaml==6.0.2
|
pyyaml==6.0.2
|
||||||
# via uvicorn
|
# via uvicorn
|
||||||
rich==14.0.0
|
rich==14.1.0
|
||||||
# via
|
# via
|
||||||
# rich-toolkit
|
# rich-toolkit
|
||||||
# typer
|
# typer
|
||||||
rich-toolkit==0.14.6
|
rich-toolkit==0.15.1
|
||||||
# via fastapi-cli
|
# via fastapi-cli
|
||||||
shellingham==1.5.4
|
shellingham==1.5.4
|
||||||
# via typer
|
# via typer
|
||||||
sniffio==1.3.1
|
sniffio==1.3.1
|
||||||
# via anyio
|
# via anyio
|
||||||
starlette==0.46.2
|
starlette==0.48.0
|
||||||
# via fastapi
|
# via fastapi
|
||||||
typer==0.15.4
|
typer==0.19.2
|
||||||
# via fastapi-cli
|
# via fastapi-cli
|
||||||
typing-extensions==4.13.2
|
typing-extensions==4.15.0
|
||||||
# via
|
# via
|
||||||
# fastapi
|
# fastapi
|
||||||
# pydantic
|
# pydantic
|
||||||
@@ -87,17 +87,19 @@ typing-extensions==4.13.2
|
|||||||
# rich-toolkit
|
# rich-toolkit
|
||||||
# typer
|
# typer
|
||||||
# typing-inspection
|
# typing-inspection
|
||||||
typing-inspection==0.4.0
|
typing-inspection==0.4.1
|
||||||
# via
|
# via
|
||||||
# pydantic
|
# pydantic
|
||||||
# pydantic-settings
|
# pydantic-settings
|
||||||
uvicorn==0.34.2
|
unidecode==1.4.0
|
||||||
|
# via -r requirements.in
|
||||||
|
uvicorn==0.37.0
|
||||||
# via
|
# via
|
||||||
# fastapi
|
# fastapi
|
||||||
# fastapi-cli
|
# fastapi-cli
|
||||||
uvloop==0.21.0
|
uvloop==0.21.0
|
||||||
# via uvicorn
|
# via uvicorn
|
||||||
watchfiles==1.0.5
|
watchfiles==1.1.0
|
||||||
# via uvicorn
|
# via uvicorn
|
||||||
websockets==15.0.1
|
websockets==15.0.1
|
||||||
# via uvicorn
|
# via uvicorn
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ from fastapi.staticfiles import StaticFiles
|
|||||||
from fastapi.templating import Jinja2Templates
|
from fastapi.templating import Jinja2Templates
|
||||||
from pydantic import DirectoryPath, FilePath
|
from pydantic import DirectoryPath, FilePath
|
||||||
from pydantic_settings import BaseSettings
|
from pydantic_settings import BaseSettings
|
||||||
|
from unidecode import unidecode
|
||||||
|
|
||||||
|
VERSION = '0.3.3'
|
||||||
VERSION = '0.3.2'
|
|
||||||
|
|
||||||
AMSTERDAM = ZoneInfo('Europe/Amsterdam')
|
AMSTERDAM = ZoneInfo('Europe/Amsterdam')
|
||||||
|
|
||||||
@@ -100,9 +100,9 @@ def handle_guess(word: Union[str, None] = None):
|
|||||||
return {'error': 'Word not in dictionary'}
|
return {'error': 'Word not in dictionary'}
|
||||||
|
|
||||||
hint = 'it'
|
hint = 'it'
|
||||||
if word_of_the_day < word:
|
if word_of_the_day < unidecode(word):
|
||||||
hint = 'before'
|
hint = 'before'
|
||||||
if word_of_the_day > word:
|
if word_of_the_day > unidecode(word):
|
||||||
hint = 'after'
|
hint = 'after'
|
||||||
|
|
||||||
logger.info('Guess: %s for game %d (%s), goal is %s', word, current_game_id, word_of_the_day, hint)
|
logger.info('Guess: %s for game %d (%s), goal is %s', word, current_game_id, word_of_the_day, hint)
|
||||||
|
|||||||
Reference in New Issue
Block a user