Merge branch 'update/Ruin0x11/improve-pools' of github.com:dekarrin/szurubooru into update/Ruin0x11/improve-pools

This commit is contained in:
Rebecca Nelson 2024-04-14 16:25:07 -05:00
commit 1a54bb31d5
6 changed files with 15 additions and 43 deletions

3
.gitignore vendored
View file

@ -13,3 +13,6 @@ server/**/lib/
server/**/bin/ server/**/bin/
server/**/pyvenv.cfg server/**/pyvenv.cfg
__pycache__/ __pycache__/
.vscode
docker-compose.dev.yml

View file

@ -1,3 +1,4 @@
ARG BUILDPLATFORM=linux/amd64
FROM --platform=$BUILDPLATFORM node:lts as builder FROM --platform=$BUILDPLATFORM node:lts as builder
WORKDIR /opt/app WORKDIR /opt/app

View file

@ -1,5 +1,5 @@
ARG ALPINE_VERSION=3.13 ARG ALPINE_VERSION=3.13
ARG BUILDPLATFORM=linux/amd64
FROM alpine:$ALPINE_VERSION as prereqs FROM alpine:$ALPINE_VERSION as prereqs
WORKDIR /opt/app WORKDIR /opt/app
@ -26,7 +26,6 @@ RUN apk --no-cache add \
py3-pyrfc3339 py3-pyrfc3339
RUN pip3 install --no-cache-dir --disable-pip-version-check \ RUN pip3 install --no-cache-dir --disable-pip-version-check \
"alembic>=0.8.5" \ "alembic>=0.8.5" \
"alembic_utils>=0.5.6" \
"coloredlogs==5.0" \ "coloredlogs==5.0" \
"pyheif==0.6.1" \ "pyheif==0.6.1" \
"heif-image-plugin>=0.3.2" \ "heif-image-plugin>=0.3.2" \
@ -34,8 +33,7 @@ RUN pip3 install --no-cache-dir --disable-pip-version-check \
"pillow-avif-plugin~=1.1.0" "pillow-avif-plugin~=1.1.0"
RUN apk --no-cache del py3-pip RUN apk --no-cache del py3-pip
COPY ./ /opt/app/
RUN rm -rf /opt/app/szurubooru/tests
FROM --platform=$BUILDPLATFORM prereqs as testing FROM --platform=$BUILDPLATFORM prereqs as testing
@ -74,8 +72,12 @@ RUN apk --no-cache add \
py3-waitress \ py3-waitress \
&& mkdir -p /opt/app /data \ && mkdir -p /opt/app /data \
&& addgroup -g ${PGID} app \ && addgroup -g ${PGID} app \
&& adduser -SDH -h /opt/app -g '' -G app -u ${PUID} app \ && adduser -SDH -h /opt/app -g '' -G app -u ${PUID} app
&& chown -R app:app /opt/app /data
COPY ./ /opt/app/
RUN chown -R app:app /opt/app /data
USER app USER app
CMD ["/opt/app/docker-start.sh"] CMD ["/opt/app/docker-start.sh"]

View file

@ -13,4 +13,3 @@ pytz>=2018.3
pyyaml>=3.11 pyyaml>=3.11
SQLAlchemy>=1.0.12, <1.4 SQLAlchemy>=1.0.12, <1.4
yt-dlp yt-dlp
alembic_utils>=0.5.6

View file

@ -11,7 +11,7 @@ import sys
from time import sleep from time import sleep
import alembic import alembic
from alembic_utils.replaceable_entity import register_entities #from alembic_utils.replaceable_entity import register_entities
import sqlalchemy as sa import sqlalchemy as sa
@ -23,8 +23,8 @@ sys.path.append(os.path.join(dir_to_self, *[os.pardir] * 2))
import szurubooru.config # noqa: E402 import szurubooru.config # noqa: E402
import szurubooru.model.base # noqa: E402 import szurubooru.model.base # noqa: E402
from szurubooru.migrations.functions import get_pool_posts_around # noqa: E402 #from szurubooru.migrations.functions import get_pool_posts_around # noqa: E402
register_entities([get_pool_posts_around]) #register_entities([get_pool_posts_around])
# fmt: on # fmt: on

View file

@ -1,33 +0,0 @@
'''
add get pool posts around function
Revision ID: f0b8a4298dc7
Created at: 2021-05-08 21:23:48.782025
'''
import sqlalchemy as sa
from alembic import op
from alembic_utils.pg_function import PGFunction
from sqlalchemy import text as sql_text
revision = 'f0b8a4298dc7'
down_revision = 'adcd63ff76a2'
branch_labels = None
depends_on = None
def upgrade():
public_get_pool_posts_around = PGFunction(
schema="public",
signature="get_pool_posts_around( P_POOL_ID int, P_POST_ID int )",
definition='returns TABLE (\n ORD int,\n POOL_ID int,\n POST_ID int,\n DELTA int\n )\n LANGUAGE PLPGSQL\nAS $$\nBEGIN\n RETURN QUERY WITH main AS (\n SELECT * FROM pool_post WHERE pool_post.pool_id = P_POOL_ID AND pool_post.post_id = P_POST_ID\n ),\n around AS (\n (SELECT pool_post.ord,\n pool_post.pool_id,\n pool_post.post_id,\n 1 as delta,\n main.ord AS target_ord,\n main.pool_id AS target_pool_id\n FROM pool_post, main\n WHERE pool_post.ord > main.ord\n AND pool_post.pool_id = main.pool_id\n ORDER BY pool_post.ord ASC LIMIT 1)\n UNION\n (SELECT pool_post.ord,\n pool_post.pool_id,\n pool_post.post_id,\n -1 as delta,\n main.ord AS target_ord,\n main.pool_id AS target_pool_id\n FROM pool_post, main\n WHERE pool_post.ord < main.ord\n AND pool_post.pool_id = main.pool_id\n ORDER BY pool_post.ord DESC LIMIT 1)\n )\n SELECT around.ord, around.pool_id, around.post_id, around.delta FROM around;\nEND\n$$'
)
op.create_entity(public_get_pool_posts_around)
def downgrade():
public_get_pool_posts_around = PGFunction(
schema="public",
signature="get_pool_posts_around( P_POOL_ID int, P_POST_ID int )",
definition='returns TABLE (\n ORD int,\n POOL_ID int,\n POST_ID int,\n DELTA int\n )\n LANGUAGE PLPGSQL\nAS $$\nBEGIN\n RETURN QUERY WITH main AS (\n SELECT * FROM pool_post WHERE pool_post.pool_id = P_POOL_ID AND pool_post.post_id = P_POST_ID\n ),\n around AS (\n (SELECT pool_post.ord,\n pool_post.pool_id,\n pool_post.post_id,\n 1 as delta,\n main.ord AS target_ord,\n main.pool_id AS target_pool_id\n FROM pool_post, main\n WHERE pool_post.ord > main.ord\n AND pool_post.pool_id = main.pool_id\n ORDER BY pool_post.ord ASC LIMIT 1)\n UNION\n (SELECT pool_post.ord,\n pool_post.pool_id,\n pool_post.post_id,\n -1 as delta,\n main.ord AS target_ord,\n main.pool_id AS target_pool_id\n FROM pool_post, main\n WHERE pool_post.ord < main.ord\n AND pool_post.pool_id = main.pool_id\n ORDER BY pool_post.ord DESC LIMIT 1)\n )\n SELECT around.ord, around.pool_id, around.post_id, around.delta FROM around;\nEND\n$$'
)
op.drop_entity(public_get_pool_posts_around)