diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bc51f4a --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ +kontor_api := kontor-api +kontor_spring := kontor-spring + +.PHONY: all $(kontor_spring) $(kontor_api) +all: $(kontor_spring) $(kontor_api) + +$(kontor_spring) $(kontor_api): + $(MAKE) --directory=$@ $(TARGET) + diff --git a/bottle-docker/app/src/userDAO.py b/bottle-docker/app/src/userDAO.py index df5a107..62b19e3 100644 --- a/bottle-docker/app/src/userDAO.py +++ b/bottle-docker/app/src/userDAO.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- -import hmac import random import string import hashlib @@ -29,7 +28,7 @@ class UserDAO: def make_pw_hash(self, pw,salt=None): if salt == None: - salt = self.make_salt(); + salt = self.make_salt() return hashlib.sha256(pw + salt).hexdigest()+","+ salt # Validates a user login. Returns user record or None @@ -68,7 +67,7 @@ class UserDAO: except pymongo.errors.OperationFailure: print("oops, mongo error") return False - except pymongo.errors.DuplicateKeyError as e: + except pymongo.errors.DuplicateKeyError: print("oops, username is already taken") return False diff --git a/django/kontor/homeoffice/admin.py b/django/kontor/homeoffice/admin.py index 8c38f3f..b97a94f 100755 --- a/django/kontor/homeoffice/admin.py +++ b/django/kontor/homeoffice/admin.py @@ -1,3 +1,2 @@ -from django.contrib import admin # Register your models here. diff --git a/django/kontor/homeoffice/tests.py b/django/kontor/homeoffice/tests.py index 7ce503c..4929020 100755 --- a/django/kontor/homeoffice/tests.py +++ b/django/kontor/homeoffice/tests.py @@ -1,3 +1,2 @@ -from django.test import TestCase # Create your tests here. diff --git a/django/kontor/library/tests.py b/django/kontor/library/tests.py index 7ce503c..4929020 100644 --- a/django/kontor/library/tests.py +++ b/django/kontor/library/tests.py @@ -1,3 +1,2 @@ -from django.test import TestCase # Create your tests here. diff --git a/django/kontor/medien/admin.py b/django/kontor/medien/admin.py index 8c38f3f..b97a94f 100755 --- a/django/kontor/medien/admin.py +++ b/django/kontor/medien/admin.py @@ -1,3 +1,2 @@ -from django.contrib import admin # Register your models here. diff --git a/django/kontor/tradingcards/admin.py b/django/kontor/tradingcards/admin.py index 8c38f3f..b97a94f 100755 --- a/django/kontor/tradingcards/admin.py +++ b/django/kontor/tradingcards/admin.py @@ -1,3 +1,2 @@ -from django.contrib import admin # Register your models here. diff --git a/django/kontor/tradingcards/models.py b/django/kontor/tradingcards/models.py index bd4b2ab..2c38a73 100755 --- a/django/kontor/tradingcards/models.py +++ b/django/kontor/tradingcards/models.py @@ -1,5 +1,4 @@ from __future__ import unicode_literals -from django.db import models # Create your models here. diff --git a/django/kontor/tradingcards/tests.py b/django/kontor/tradingcards/tests.py index 7ce503c..4929020 100755 --- a/django/kontor/tradingcards/tests.py +++ b/django/kontor/tradingcards/tests.py @@ -1,3 +1,2 @@ -from django.test import TestCase # Create your tests here. diff --git a/django/kontor/tysc/tests.py b/django/kontor/tysc/tests.py index 7ce503c..4929020 100644 --- a/django/kontor/tysc/tests.py +++ b/django/kontor/tysc/tests.py @@ -1,3 +1,2 @@ -from django.test import TestCase # Create your tests here. diff --git a/fastapi/Makefile b/fastapi/Makefile deleted file mode 100644 index 5c1c393..0000000 --- a/fastapi/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -.PHONY: clean virtualenv test docker dist dist-upload - -clean: - find . -name '*.py[co]' -delete - -virtualenv: - virtualenv --prompt '|> kontor-fastapi <| ' env - env/bin/pip install -r requirements.txt - env/bin/python setup.py develop - @echo - @echo "VirtualENV Setup Complete. Now run: source env/bin/activate" - @echo - -test: - pytest -v --cov --cov-report=term --cov-report=html:coverage-report - -docker: clean - docker build -t kontor-api:latest . - -dist: clean - rm -rf dist/* - python setup.py sdist - python setup.py bdist_wheel - -dist-upload: - twine upload dist/* diff --git a/fastapi/config/kontor-docker/database-config.yaml b/fastapi/config/kontor-docker/database-config.yaml deleted file mode 100644 index ff385c1..0000000 --- a/fastapi/config/kontor-docker/database-config.yaml +++ /dev/null @@ -1,12 +0,0 @@ -version: 1 - -sqlite: - file: /home/tpeetz/.sync/media/kontor.db - -mariadb: - host: mariadb - port: 3306 - user: kontor - password: kontor - database: kontor - diff --git a/fastapi/config/kontor-docker/logging-config.yaml b/fastapi/config/kontor-docker/logging-config.yaml deleted file mode 100644 index b85d9f1..0000000 --- a/fastapi/config/kontor-docker/logging-config.yaml +++ /dev/null @@ -1,42 +0,0 @@ -version: 1 -disable_existing_loggers: False - -formatters: - simple: - format: '[%(asctime)s] {%(filename)s:%(lineno)d} %(levelname)s - %(message)s' - datefmt: '%Y-%m-%d %H:%M:%S' - -handlers: - console: - class: logging.StreamHandler - level: DEBUG - formatter: simple - stream: ext://sys.stdout - - file: - class: logging.FileHandler - level: INFO - formatter: simple - filename: /root/kontor-api.log - mode: a - -loggers: - development: - level: DEBUG - handlers: [console, file] - propagate: no - - staging: - level: INFO - handlers: [console, file] - propagate: no - - production: - level: WARNING - handlers: [file] - propagate: no - -root: - level: DEBUG - handlers: [console] - diff --git a/flask/kontor/auth/models.py b/flask/kontor/auth/models.py index fc3b8d4..b037f02 100644 --- a/flask/kontor/auth/models.py +++ b/flask/kontor/auth/models.py @@ -1,4 +1,4 @@ -from kontor.extensions import db, ma +from kontor.extensions import db from sqlalchemy.sql import func diff --git a/flask/kontor/comics/api.py b/flask/kontor/comics/api.py index 22bca28..163e0c2 100644 --- a/flask/kontor/comics/api.py +++ b/flask/kontor/comics/api.py @@ -1,4 +1,3 @@ -from flask import Blueprint, render_template, jsonify from kontor.comics import comics_api from kontor.models import Comic, comics_schema, Publisher, comic_schema, publisher_schema, publishers_schema diff --git a/flask/kontor/comics/routes.py b/flask/kontor/comics/routes.py index 0b0f53e..28b93fe 100644 --- a/flask/kontor/comics/routes.py +++ b/flask/kontor/comics/routes.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template +from flask import render_template from kontor.comics import comics_bp from kontor.models import Comic diff --git a/flask/kontor/media/api.py b/flask/kontor/media/api.py index be9b875..d46fa00 100644 --- a/flask/kontor/media/api.py +++ b/flask/kontor/media/api.py @@ -1,4 +1,3 @@ -from flask import Blueprint, render_template, jsonify from kontor import app from kontor.media import media_api diff --git a/flask/kontor/media/routes.py b/flask/kontor/media/routes.py index a32f5e3..fb47a55 100644 --- a/flask/kontor/media/routes.py +++ b/flask/kontor/media/routes.py @@ -1,4 +1,4 @@ -from flask import Blueprint, render_template +from flask import render_template from kontor.media import media_bp from kontor.media.models import MediaFile diff --git a/kontor-api/.python-version b/kontor-api/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/kontor-api/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/fastapi/Dockerfile b/kontor-api/Dockerfile similarity index 89% rename from fastapi/Dockerfile rename to kontor-api/Dockerfile index c6e1bbd..88b17e7 100644 --- a/fastapi/Dockerfile +++ b/kontor-api/Dockerfile @@ -2,7 +2,6 @@ FROM python:3.11 WORKDIR /code -COPY ./requirements.txt /code/requirements.txt COPY ./config/kontor-docker/logging-config.yaml /root/.config/kontor-docker/logging-config.yaml COPY ./config/kontor-docker/database-config.yaml /root/.config/kontor-docker/database-config.yaml diff --git a/kontor-api/Makefile b/kontor-api/Makefile new file mode 100644 index 0000000..80e2fce --- /dev/null +++ b/kontor-api/Makefile @@ -0,0 +1,17 @@ +.PHONY: clean virtualenv test docker + +clean: + find . -name '*.py[co]' -delete + +virtualenv: + uv sync + @echo + @echo "VirtualENV Setup Complete. Now run: source env/bin/activate" + @echo + +test: + pytest -v --cov --cov-report=term --cov-report=html:coverage-report + +docker: clean + docker build -t kontor-api:latest . + diff --git a/fastapi/app/__init__.py b/kontor-api/README.md similarity index 100% rename from fastapi/app/__init__.py rename to kontor-api/README.md diff --git a/kontor-api/pyproject.toml b/kontor-api/pyproject.toml new file mode 100644 index 0000000..31b5ab1 --- /dev/null +++ b/kontor-api/pyproject.toml @@ -0,0 +1,19 @@ +[project] +name = "kontor-api" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.13" +dependencies = [ + "beautifulsoup4>=4.13.4", + "fastapi[standard]>=0.115.12", + "httpx==0.24.1", + "mariadb>=1.1.12", + "pathlib>=1.0.1", + "platformdirs>=4.3.7", + "pytest==7.4.0", + "pyyaml>=6.0.2", + "requests>=2.32.3", + "sqlalchemy>=2.0.40", + "sqlmodel>=0.0.24", +] diff --git a/fastapi/requirements.txt b/kontor-api/requirements.txt similarity index 100% rename from fastapi/requirements.txt rename to kontor-api/requirements.txt diff --git a/fastapi/app/models/__init__.py b/kontor-api/src/__init__.py similarity index 100% rename from fastapi/app/models/__init__.py rename to kontor-api/src/__init__.py diff --git a/fastapi/app/main.py b/kontor-api/src/main.py similarity index 82% rename from fastapi/app/main.py rename to kontor-api/src/main.py index 1c51f0b..27d9c1b 100644 --- a/fastapi/app/main.py +++ b/kontor-api/src/main.py @@ -1,6 +1,6 @@ from fastapi import FastAPI -from .routers import comic, media, tysc +from src.routers import comic, media, tysc app = FastAPI() diff --git a/fastapi/app/models/comics/__init__.py b/kontor-api/src/models/__init__.py similarity index 100% rename from fastapi/app/models/comics/__init__.py rename to kontor-api/src/models/__init__.py diff --git a/fastapi/app/routers/__init__.py b/kontor-api/src/models/comics/__init__.py similarity index 100% rename from fastapi/app/routers/__init__.py rename to kontor-api/src/models/comics/__init__.py diff --git a/fastapi/app/models/comics/artist.py b/kontor-api/src/models/comics/artist.py similarity index 96% rename from fastapi/app/models/comics/artist.py rename to kontor-api/src/models/comics/artist.py index 2d0868a..0dea1b5 100644 --- a/fastapi/app/models/comics/artist.py +++ b/kontor-api/src/models/comics/artist.py @@ -3,7 +3,7 @@ from uuid import UUID from pydantic import BaseModel -from app.schema import Artist +from src.schema import Artist class ArtistCreation(BaseModel): diff --git a/fastapi/app/models/comics/comic.py b/kontor-api/src/models/comics/comic.py similarity index 97% rename from fastapi/app/models/comics/comic.py rename to kontor-api/src/models/comics/comic.py index 3737ad2..76824b2 100644 --- a/fastapi/app/models/comics/comic.py +++ b/kontor-api/src/models/comics/comic.py @@ -3,7 +3,7 @@ from uuid import UUID from pydantic import BaseModel -from app.schema import Comic +from src.schema import Comic class ComicResponse(BaseModel): diff --git a/fastapi/tests/__init__.py b/kontor-api/src/models/media/__init__.py similarity index 100% rename from fastapi/tests/__init__.py rename to kontor-api/src/models/media/__init__.py diff --git a/fastapi/app/models/media/file.py b/kontor-api/src/models/media/file.py similarity index 95% rename from fastapi/app/models/media/file.py rename to kontor-api/src/models/media/file.py index 3871a79..f8407ee 100644 --- a/fastapi/app/models/media/file.py +++ b/kontor-api/src/models/media/file.py @@ -1,6 +1,6 @@ from uuid import UUID -from app.schema.media import MediaFile +from src.schema.media import MediaFile from pydantic import BaseModel diff --git a/fastapi/setup.py b/kontor-api/src/models/tysc/__init__.py similarity index 100% rename from fastapi/setup.py rename to kontor-api/src/models/tysc/__init__.py diff --git a/fastapi/app/models/tysc.py b/kontor-api/src/models/tysc/sport.py similarity index 99% rename from fastapi/app/models/tysc.py rename to kontor-api/src/models/tysc/sport.py index 9eac5c6..8ddbfb3 100644 --- a/fastapi/app/models/tysc.py +++ b/kontor-api/src/models/tysc/sport.py @@ -6,4 +6,3 @@ from pydantic import BaseModel class SportResponse(BaseModel): id: UUID name: str - diff --git a/kontor-api/src/routers/__init__.py b/kontor-api/src/routers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/fastapi/app/routers/comic.py b/kontor-api/src/routers/comic.py similarity index 92% rename from fastapi/app/routers/comic.py rename to kontor-api/src/routers/comic.py index efd9457..2132b87 100644 --- a/fastapi/app/routers/comic.py +++ b/kontor-api/src/routers/comic.py @@ -3,9 +3,9 @@ from typing import List from fastapi import APIRouter, HTTPException, status from sqlalchemy import select -from app.models.comics.comic import ComicResponse, ComicDetailsResponse, get_comic_details -from app.models.comics.artist import ArtistCreation, ArtistDetailResponse, ArtistResponse, get_artist_details -from app.schema import Comic, SessionDep, Artist +from src.models.comics.comic import ComicResponse, ComicDetailsResponse, get_comic_details +from src.models.comics.artist import ArtistCreation, ArtistDetailResponse, ArtistResponse, get_artist_details +from src.schema import Comic, SessionDep, Artist router = APIRouter( prefix="/comic", diff --git a/fastapi/app/routers/media.py b/kontor-api/src/routers/media.py similarity index 97% rename from fastapi/app/routers/media.py rename to kontor-api/src/routers/media.py index 11f3143..fb09443 100644 --- a/fastapi/app/routers/media.py +++ b/kontor-api/src/routers/media.py @@ -5,8 +5,8 @@ from uuid import uuid4, UUID from fastapi import APIRouter, status, HTTPException from sqlalchemy import select, Sequence -from app.models.media.file import MediaFileResponse, Link, get_file_details -from app.schema import MediaFile, SessionDep +from src.models.media.file import MediaFileResponse, Link, get_file_details +from src.schema import MediaFile, SessionDep router = APIRouter( prefix="/media", diff --git a/fastapi/app/routers/tysc.py b/kontor-api/src/routers/tysc.py similarity index 83% rename from fastapi/app/routers/tysc.py rename to kontor-api/src/routers/tysc.py index d5dad69..54db6b9 100644 --- a/fastapi/app/routers/tysc.py +++ b/kontor-api/src/routers/tysc.py @@ -1,8 +1,8 @@ from typing import List from fastapi import APIRouter -from app.models.tysc import SportResponse -from app.schema import Sport, SessionDep +from src.models.tysc.sport import SportResponse +from src.schema import Sport, SessionDep router = APIRouter( prefix="/tysc", diff --git a/fastapi/app/schema/__init__.py b/kontor-api/src/schema/__init__.py similarity index 100% rename from fastapi/app/schema/__init__.py rename to kontor-api/src/schema/__init__.py diff --git a/fastapi/app/schema/admin.py b/kontor-api/src/schema/admin.py similarity index 95% rename from fastapi/app/schema/admin.py rename to kontor-api/src/schema/admin.py index 3cf1f1f..dd89d68 100644 --- a/fastapi/app/schema/admin.py +++ b/kontor-api/src/schema/admin.py @@ -1,7 +1,6 @@ from datetime import datetime -from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String -from sqlalchemy.dialects.mysql import BIT +from sqlalchemy import Boolean, Column, ForeignKey, Integer, String from sqlalchemy.orm import relationship, mapped_column, Mapped from .base import Base, BaseMixin diff --git a/fastapi/app/schema/base.py b/kontor-api/src/schema/base.py similarity index 100% rename from fastapi/app/schema/base.py rename to kontor-api/src/schema/base.py diff --git a/fastapi/app/schema/bookshelf.py b/kontor-api/src/schema/bookshelf.py similarity index 94% rename from fastapi/app/schema/bookshelf.py rename to kontor-api/src/schema/bookshelf.py index ab0fe5a..91e0ae4 100644 --- a/fastapi/app/schema/bookshelf.py +++ b/kontor-api/src/schema/bookshelf.py @@ -1,5 +1,4 @@ -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String -from sqlalchemy.dialects.mysql import BIT +from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.orm import relationship from .base import Base, BaseMixin diff --git a/fastapi/app/schema/comic.py b/kontor-api/src/schema/comic.py similarity index 97% rename from fastapi/app/schema/comic.py rename to kontor-api/src/schema/comic.py index 51bee95..cbdc803 100644 --- a/fastapi/app/schema/comic.py +++ b/kontor-api/src/schema/comic.py @@ -1,4 +1,4 @@ -from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, String +from sqlalchemy import Boolean, Column, ForeignKey, Integer, String from sqlalchemy.orm import relationship from .base import Base, BaseMixin diff --git a/fastapi/app/schema/database.py b/kontor-api/src/schema/database.py similarity index 100% rename from fastapi/app/schema/database.py rename to kontor-api/src/schema/database.py diff --git a/fastapi/app/schema/media.py b/kontor-api/src/schema/media.py similarity index 97% rename from fastapi/app/schema/media.py rename to kontor-api/src/schema/media.py index 2b6c421..e5ffdd8 100644 --- a/fastapi/app/schema/media.py +++ b/kontor-api/src/schema/media.py @@ -5,7 +5,7 @@ from pathlib import Path import requests from bs4 import BeautifulSoup -from sqlalchemy import Boolean, Column, DateTime, Integer, String, ForeignKey +from sqlalchemy import Boolean, Column, String, ForeignKey from sqlalchemy.orm import relationship from .base import Base, BaseMixin, BaseVideoMixin diff --git a/fastapi/app/schema/metadata.py b/kontor-api/src/schema/metadata.py similarity index 94% rename from fastapi/app/schema/metadata.py rename to kontor-api/src/schema/metadata.py index c08b225..9ac5aa4 100644 --- a/fastapi/app/schema/metadata.py +++ b/kontor-api/src/schema/metadata.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, String, ForeignKey, DateTime, Integer, Boolean +from sqlalchemy import Column, String, ForeignKey, Integer, Boolean from sqlalchemy.orm import relationship from .base import Base, BaseMixin diff --git a/fastapi/app/schema/tysc.py b/kontor-api/src/schema/tysc.py similarity index 97% rename from fastapi/app/schema/tysc.py rename to kontor-api/src/schema/tysc.py index 11918b1..3660f69 100644 --- a/fastapi/app/schema/tysc.py +++ b/kontor-api/src/schema/tysc.py @@ -1,4 +1,4 @@ -from sqlalchemy import Boolean, Column, DateTime, Integer, String, ForeignKey, UniqueConstraint +from sqlalchemy import Boolean, Column, Integer, String, ForeignKey, UniqueConstraint from sqlalchemy.orm import relationship from .base import Base, BaseMixin diff --git a/kontor-api/tests/__init__.py b/kontor-api/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/fastapi/tests/test_main.py b/kontor-api/tests/test_main.py similarity index 92% rename from fastapi/tests/test_main.py rename to kontor-api/tests/test_main.py index ca2e501..850d509 100644 --- a/fastapi/tests/test_main.py +++ b/kontor-api/tests/test_main.py @@ -1,6 +1,7 @@ from fastapi.testclient import TestClient import pytest -from app.main import app +from src.main import app + @pytest.fixture(name="client") def client_fixture(): diff --git a/kontor-api/uv.lock b/kontor-api/uv.lock new file mode 100644 index 0000000..969f5ce --- /dev/null +++ b/kontor-api/uv.lock @@ -0,0 +1,738 @@ +version = 1 +revision = 1 +requires-python = ">=3.13" + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 }, +] + +[[package]] +name = "anyio" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "sniffio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916 }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.13.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285 }, +] + +[[package]] +name = "certifi" +version = "2025.1.31" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 }, + { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 }, + { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 }, + { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 }, + { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 }, + { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 }, + { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 }, + { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 }, + { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 }, + { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 }, + { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 }, + { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 }, + { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 }, + { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, +] + +[[package]] +name = "click" +version = "8.1.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "dnspython" +version = "2.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/4a/263763cb2ba3816dd94b08ad3a33d5fdae34ecb856678773cc40a3605829/dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1", size = 345197 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/1b/e0a87d256e40e8c888847551b20a017a6b98139178505dc7ffb96f04e954/dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86", size = 313632 }, +] + +[[package]] +name = "email-validator" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dnspython" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/ce/13508a1ec3f8bb981ae4ca79ea40384becc868bfae97fd1c942bb3a001b1/email_validator-2.2.0.tar.gz", hash = "sha256:cb690f344c617a714f22e66ae771445a1ceb46821152df8e165c5f9a364582b7", size = 48967 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/ee/bf0adb559ad3c786f12bcbc9296b3f5675f529199bef03e2df281fa1fadb/email_validator-2.2.0-py3-none-any.whl", hash = "sha256:561977c2d73ce3611850a06fa56b414621e0c8faa9d66f2611407d87465da631", size = 33521 }, +] + +[[package]] +name = "fastapi" +version = "0.115.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "starlette" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/55/ae499352d82338331ca1e28c7f4a63bfd09479b16395dce38cf50a39e2c2/fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681", size = 295236 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/b3/b51f09c2ba432a576fe63758bddc81f78f0c6309d9e5c10d194313bf021e/fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d", size = 95164 }, +] + +[package.optional-dependencies] +standard = [ + { name = "email-validator" }, + { name = "fastapi-cli", extra = ["standard"] }, + { name = "httpx" }, + { name = "jinja2" }, + { name = "python-multipart" }, + { name = "uvicorn", extra = ["standard"] }, +] + +[[package]] +name = "fastapi-cli" +version = "0.0.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "rich-toolkit" }, + { name = "typer" }, + { name = "uvicorn", extra = ["standard"] }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/73/82a5831fbbf8ed75905bacf5b2d9d3dfd6f04d6968b29fe6f72a5ae9ceb1/fastapi_cli-0.0.7.tar.gz", hash = "sha256:02b3b65956f526412515907a0793c9094abd4bfb5457b389f645b0ea6ba3605e", size = 16753 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a1/e6/5daefc851b514ce2287d8f5d358ae4341089185f78f3217a69d0ce3a390c/fastapi_cli-0.0.7-py3-none-any.whl", hash = "sha256:d549368ff584b2804336c61f192d86ddea080c11255f375959627911944804f4", size = 10705 }, +] + +[package.optional-dependencies] +standard = [ + { name = "uvicorn", extra = ["standard"] }, +] + +[[package]] +name = "greenlet" +version = "3.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/9c/666d8c71b18d0189cf801c0e0b31c4bfc609ac823883286045b1f3ae8994/greenlet-3.2.0.tar.gz", hash = "sha256:1d2d43bd711a43db8d9b9187500e6432ddb4fafe112d082ffabca8660a9e01a7", size = 183685 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c9/43/c0b655d4d7eae19282b028bcec449e5c80626ad0d8d0ca3703f9b1c29258/greenlet-3.2.0-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:b86a3ccc865ae601f446af042707b749eebc297928ea7bd0c5f60c56525850be", size = 269131 }, + { url = "https://files.pythonhosted.org/packages/7c/7d/c8f51c373c7f7ac0f73d04a6fd77ab34f6f643cb41a0d186d05ba96708e7/greenlet-3.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:144283ad88ed77f3ebd74710dd419b55dd15d18704b0ae05935766a93f5671c5", size = 637323 }, + { url = "https://files.pythonhosted.org/packages/89/65/c3ee41b2e56586737d6e124b250583695628ffa6b324855b3a1267a8d1d9/greenlet-3.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5be69cd50994b8465c3ad1467f9e63001f76e53a89440ad4440d1b6d52591280", size = 651430 }, + { url = "https://files.pythonhosted.org/packages/f0/07/33bd7a3dcde1db7259371d026ce76be1eb653d2d892334fc79a500b3c5ee/greenlet-3.2.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:47aeadd1e8fbdef8fdceb8fb4edc0cbb398a57568d56fd68f2bc00d0d809e6b6", size = 645798 }, + { url = "https://files.pythonhosted.org/packages/35/5b/33c221a6a867030b0b770513a1b78f6c30e04294131dafdc8da78906bbe6/greenlet-3.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18adc14ab154ca6e53eecc9dc50ff17aeb7ba70b7e14779b26e16d71efa90038", size = 648271 }, + { url = "https://files.pythonhosted.org/packages/4d/dd/d6452248fa6093504e3b7525dc2bdc4e55a4296ec6ee74ba241a51d852e2/greenlet-3.2.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8622b33d8694ec373ad55050c3d4e49818132b44852158442e1931bb02af336", size = 606779 }, + { url = "https://files.pythonhosted.org/packages/9d/24/160f04d2589bcb15b8661dcd1763437b22e01643626899a4139bf98f02af/greenlet-3.2.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:e8ac9a2c20fbff3d0b853e9ef705cdedb70d9276af977d1ec1cde86a87a4c821", size = 1117968 }, + { url = "https://files.pythonhosted.org/packages/6c/ff/c6e3f3a5168fef5209cfd9498b2b5dd77a0bf29dfc686a03dcc614cf4432/greenlet-3.2.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:cd37273dc7ca1d5da149b58c8b3ce0711181672ba1b09969663905a765affe21", size = 1145510 }, + { url = "https://files.pythonhosted.org/packages/dc/62/5215e374819052e542b5bde06bd7d4a171454b6938c96a2384f21cb94279/greenlet-3.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:8a8940a8d301828acd8b9f3f85db23069a692ff2933358861b19936e29946b95", size = 296004 }, + { url = "https://files.pythonhosted.org/packages/62/6d/dc9c909cba5cbf4b0833fce69912927a8ca74791c23c47b9fd4f28092108/greenlet-3.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee59db626760f1ca8da697a086454210d36a19f7abecc9922a2374c04b47735b", size = 629900 }, + { url = "https://files.pythonhosted.org/packages/5e/a9/f3f304fbbbd604858ff3df303d7fa1d8f7f9e45a6ef74481aaf03aaac021/greenlet-3.2.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7154b13ef87a8b62fc05419f12d75532d7783586ad016c57b5de8a1c6feeb517", size = 635270 }, + { url = "https://files.pythonhosted.org/packages/34/92/4b7b4e2e23ecc723cceef9fe3898e78c8e14e106cc7ba2f276a66161da3e/greenlet-3.2.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:199453d64b02d0c9d139e36d29681efd0e407ed8e2c0bf89d88878d6a787c28f", size = 632534 }, + { url = "https://files.pythonhosted.org/packages/da/7f/91f0ecbe72c9d789fb7f400b39da9d1e87fcc2cf8746a9636479ba79ab01/greenlet-3.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0010e928e1901d36625f21d008618273f9dda26b516dbdecf873937d39c9dff0", size = 628826 }, + { url = "https://files.pythonhosted.org/packages/9f/59/e449a44ce52b13751f55376d85adc155dd311608f6d2aa5b6bd2c8d15486/greenlet-3.2.0-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6005f7a86de836a1dc4b8d824a2339cdd5a1ca7cb1af55ea92575401f9952f4c", size = 593697 }, + { url = "https://files.pythonhosted.org/packages/bb/09/cca3392927c5c990b7a8ede64ccd0712808438d6490d63ce6b8704d6df5f/greenlet-3.2.0-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:17fd241c0d50bacb7ce8ff77a30f94a2d0ca69434ba2e0187cf95a5414aeb7e1", size = 1105762 }, + { url = "https://files.pythonhosted.org/packages/4d/b9/3d201f819afc3b7a8cd7ebe645f1a17799603e2d62c968154518f79f4881/greenlet-3.2.0-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:7b17a26abc6a1890bf77d5d6b71c0999705386b00060d15c10b8182679ff2790", size = 1125173 }, + { url = "https://files.pythonhosted.org/packages/80/7b/773a30602234597fc2882091f8e1d1a38ea0b4419d99ca7ed82c827e2c3a/greenlet-3.2.0-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:397b6bbda06f8fe895893d96218cd6f6d855a6701dc45012ebe12262423cec8b", size = 269908 }, +] + +[[package]] +name = "h11" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 }, +] + +[[package]] +name = "httpcore" +version = "0.17.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "h11" }, + { name = "sniffio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/ad/c98ecdbfe04417e71e143bf2f2fb29128e4787d78d1cedba21bd250c7e7a/httpcore-0.17.3.tar.gz", hash = "sha256:a6f30213335e34c1ade7be6ec7c47f19f50c56db36abef1a9dfa3815b1cb3888", size = 62676 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/2c/2bde7ff8dd2064395555220cbf7cba79991172bf5315a07eb3ac7688d9f1/httpcore-0.17.3-py3-none-any.whl", hash = "sha256:c2789b767ddddfa2a5782e3199b2b7f6894540b17b16ec26b2c4d8e103510b87", size = 74513 }, +] + +[[package]] +name = "httptools" +version = "0.6.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660", size = 197214 }, + { url = "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083", size = 102431 }, + { url = "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3", size = 473121 }, + { url = "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071", size = 473805 }, + { url = "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5", size = 448858 }, + { url = "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0", size = 452042 }, + { url = "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8", size = 87682 }, +] + +[[package]] +name = "httpx" +version = "0.24.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, + { name = "sniffio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/2a/114d454cb77657dbf6a293e69390b96318930ace9cd96b51b99682493276/httpx-0.24.1.tar.gz", hash = "sha256:5853a43053df830c20f8110c5e69fe44d035d850b2dfe795e196f00fdb774bdd", size = 81858 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/91/e41f64f03d2a13aee7e8c819d82ee3aa7cdc484d18c0ae859742597d5aa0/httpx-0.24.1-py3-none-any.whl", hash = "sha256:06781eb9ac53cde990577af654bd990a4949de37a28bdb4a230d434f3a30b9bd", size = 75377 }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899 }, +] + +[[package]] +name = "kontor-api" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "fastapi", extra = ["standard"] }, + { name = "httpx" }, + { name = "mariadb" }, + { name = "pathlib" }, + { name = "platformdirs" }, + { name = "pytest" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "sqlalchemy" }, + { name = "sqlmodel" }, +] + +[package.metadata] +requires-dist = [ + { name = "beautifulsoup4", specifier = ">=4.13.4" }, + { name = "fastapi", extras = ["standard"], specifier = ">=0.115.12" }, + { name = "httpx", specifier = "==0.24.1" }, + { name = "mariadb", specifier = ">=1.1.12" }, + { name = "pathlib", specifier = ">=1.0.1" }, + { name = "platformdirs", specifier = ">=4.3.7" }, + { name = "pytest", specifier = "==7.4.0" }, + { name = "pyyaml", specifier = ">=6.0.2" }, + { name = "requests", specifier = ">=2.32.3" }, + { name = "sqlalchemy", specifier = ">=2.0.40" }, + { name = "sqlmodel", specifier = ">=0.0.24" }, +] + +[[package]] +name = "mariadb" +version = "1.1.12" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/17/bb/4bbc803fbdafedbfba015f7cc1ab1e87a6d1de36725ba058c53e2f8a45ad/mariadb-1.1.12.tar.gz", hash = "sha256:50b02ff2c78b1b4f4628a054e3c8c7dd92972137727a5cc309a64c9ed20c878c", size = 85934 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/1b/b6eca3870ac1b5577a10d3b49ba42ac263c2e5718c9224cc1c8463940422/mariadb-1.1.12-cp313-cp313-win32.whl", hash = "sha256:ba43c42130d41352f32a5786c339cc931d05472ef7640fa3764d428dc294b88e", size = 184338 }, + { url = "https://files.pythonhosted.org/packages/fb/ff/c29a543ee1f9009755bc304138f61cd9b0ee1f14533e446513f84ccf143a/mariadb-1.1.12-cp313-cp313-win_amd64.whl", hash = "sha256:b69bc18418e72fcf359d17736cdc3f601a271203aff13ef7c57a415c8fd52ab0", size = 201272 }, +] + +[[package]] +name = "markdown-it-py" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528 }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979 }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469 }, +] + +[[package]] +name = "pathlib" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ac/aa/9b065a76b9af472437a0059f77e8f962fe350438b927cb80184c32f075eb/pathlib-1.0.1.tar.gz", hash = "sha256:6940718dfc3eff4258203ad5021090933e5c04707d5ca8cc9e73c94a7894ea9f", size = 49298 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/f9/690a8600b93c332de3ab4a344a4ac34f00c8f104917061f779db6a918ed6/pathlib-1.0.1-py3-none-any.whl", hash = "sha256:f35f95ab8b0f59e6d354090350b44a80a80635d22efdedfa84c7ad1cf0a74147", size = 14363 }, +] + +[[package]] +name = "platformdirs" +version = "4.3.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b6/2d/7d512a3913d60623e7eb945c6d1b4f0bddf1d0b7ada5225274c87e5b53d1/platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351", size = 21291 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6d/45/59578566b3275b8fd9157885918fcd0c4d74162928a5310926887b856a51/platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94", size = 18499 }, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, +] + +[[package]] +name = "pydantic" +version = "2.11.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/10/2e/ca897f093ee6c5f3b0bee123ee4465c50e75431c3d5b6a3b44a47134e891/pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3", size = 785513 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b0/1d/407b29780a289868ed696d1616f4aad49d6388e5a77f567dcd2629dcd7b8/pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f", size = 443591 }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/17/19/ed6a078a5287aea7922de6841ef4c06157931622c89c2a47940837b5eecd/pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df", size = 434395 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/24/eed3466a4308d79155f1cdd5c7432c80ddcc4530ba8623b79d5ced021641/pydantic_core-2.33.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70af6a21237b53d1fe7b9325b20e65cbf2f0a848cf77bed492b029139701e66a", size = 2033551 }, + { url = "https://files.pythonhosted.org/packages/ab/14/df54b1a0bc9b6ded9b758b73139d2c11b4e8eb43e8ab9c5847c0a2913ada/pydantic_core-2.33.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:282b3fe1bbbe5ae35224a0dbd05aed9ccabccd241e8e6b60370484234b456266", size = 1852785 }, + { url = "https://files.pythonhosted.org/packages/fa/96/e275f15ff3d34bb04b0125d9bc8848bf69f25d784d92a63676112451bfb9/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b315e596282bbb5822d0c7ee9d255595bd7506d1cb20c2911a4da0b970187d3", size = 1897758 }, + { url = "https://files.pythonhosted.org/packages/b7/d8/96bc536e975b69e3a924b507d2a19aedbf50b24e08c80fb00e35f9baaed8/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dfae24cf9921875ca0ca6a8ecb4bb2f13c855794ed0d468d6abbec6e6dcd44a", size = 1986109 }, + { url = "https://files.pythonhosted.org/packages/90/72/ab58e43ce7e900b88cb571ed057b2fcd0e95b708a2e0bed475b10130393e/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd8ecfde08d8bfadaea669e83c63939af76f4cf5538a72597016edfa3fad516", size = 2129159 }, + { url = "https://files.pythonhosted.org/packages/dc/3f/52d85781406886c6870ac995ec0ba7ccc028b530b0798c9080531b409fdb/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f593494876eae852dc98c43c6f260f45abdbfeec9e4324e31a481d948214764", size = 2680222 }, + { url = "https://files.pythonhosted.org/packages/f4/56/6e2ef42f363a0eec0fd92f74a91e0ac48cd2e49b695aac1509ad81eee86a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b73114f47fd7016088e5186d13faf5e1b2fe83f5e320e371f035557fd264d", size = 2006980 }, + { url = "https://files.pythonhosted.org/packages/4c/c0/604536c4379cc78359f9ee0aa319f4aedf6b652ec2854953f5a14fc38c5a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11f3864eb516af21b01e25fac915a82e9ddad3bb0fb9e95a246067398b435a4", size = 2120840 }, + { url = "https://files.pythonhosted.org/packages/1f/46/9eb764814f508f0edfb291a0f75d10854d78113fa13900ce13729aaec3ae/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:549150be302428b56fdad0c23c2741dcdb5572413776826c965619a25d9c6bde", size = 2072518 }, + { url = "https://files.pythonhosted.org/packages/42/e3/fb6b2a732b82d1666fa6bf53e3627867ea3131c5f39f98ce92141e3e3dc1/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:495bc156026efafd9ef2d82372bd38afce78ddd82bf28ef5276c469e57c0c83e", size = 2248025 }, + { url = "https://files.pythonhosted.org/packages/5c/9d/fbe8fe9d1aa4dac88723f10a921bc7418bd3378a567cb5e21193a3c48b43/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ec79de2a8680b1a67a07490bddf9636d5c2fab609ba8c57597e855fa5fa4dacd", size = 2254991 }, + { url = "https://files.pythonhosted.org/packages/aa/99/07e2237b8a66438d9b26482332cda99a9acccb58d284af7bc7c946a42fd3/pydantic_core-2.33.1-cp313-cp313-win32.whl", hash = "sha256:ee12a7be1742f81b8a65b36c6921022301d466b82d80315d215c4c691724986f", size = 1915262 }, + { url = "https://files.pythonhosted.org/packages/8a/f4/e457a7849beeed1e5defbcf5051c6f7b3c91a0624dd31543a64fc9adcf52/pydantic_core-2.33.1-cp313-cp313-win_amd64.whl", hash = "sha256:ede9b407e39949d2afc46385ce6bd6e11588660c26f80576c11c958e6647bc40", size = 1956626 }, + { url = "https://files.pythonhosted.org/packages/20/d0/e8d567a7cff7b04e017ae164d98011f1e1894269fe8e90ea187a3cbfb562/pydantic_core-2.33.1-cp313-cp313-win_arm64.whl", hash = "sha256:aa687a23d4b7871a00e03ca96a09cad0f28f443690d300500603bd0adba4b523", size = 1909590 }, + { url = "https://files.pythonhosted.org/packages/ef/fd/24ea4302d7a527d672c5be06e17df16aabfb4e9fdc6e0b345c21580f3d2a/pydantic_core-2.33.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:401d7b76e1000d0dd5538e6381d28febdcacb097c8d340dde7d7fc6e13e9f95d", size = 1812963 }, + { url = "https://files.pythonhosted.org/packages/5f/95/4fbc2ecdeb5c1c53f1175a32d870250194eb2fdf6291b795ab08c8646d5d/pydantic_core-2.33.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7aeb055a42d734c0255c9e489ac67e75397d59c6fbe60d155851e9782f276a9c", size = 1986896 }, + { url = "https://files.pythonhosted.org/packages/71/ae/fe31e7f4a62431222d8f65a3bd02e3fa7e6026d154a00818e6d30520ea77/pydantic_core-2.33.1-cp313-cp313t-win_amd64.whl", hash = "sha256:338ea9b73e6e109f15ab439e62cb3b78aa752c7fd9536794112e14bee02c8d18", size = 1931810 }, +] + +[[package]] +name = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, +] + +[[package]] +name = "pytest" +version = "7.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/f3/dadfbdbf6b6c8b5bd02adb1e08bc9fbb45ba51c68b0893fa536378cdf485/pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a", size = 1349733 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/b2/741130cbcf2bbfa852ed95a60dc311c9e232c7ed25bac3d9b8880a8df4ae/pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32", size = 323580 }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256 }, +] + +[[package]] +name = "python-multipart" +version = "0.0.20" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546 }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, +] + +[[package]] +name = "rich" +version = "14.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229 }, +] + +[[package]] +name = "rich-toolkit" +version = "0.14.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "rich" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2e/ea/13945d58d556a28dfb0f774ad5c8af759527390e59505a40d164bf8ce1ce/rich_toolkit-0.14.1.tar.gz", hash = "sha256:9248e2d087bfc01f3e4c5c8987e05f7fa744d00dd22fa2be3aa6e50255790b3f", size = 104416 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/e8/61c5b12d1567fdba41a6775db12a090d88b8305424ee7c47259c70d33cb4/rich_toolkit-0.14.1-py3-none-any.whl", hash = "sha256:dc92c0117d752446d04fdc828dbca5873bcded213a091a5d3742a2beec2e6559", size = 24177 }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755 }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 }, +] + +[[package]] +name = "soupsieve" +version = "2.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/f4/4a80cd6ef364b2e8b65b15816a843c0980f7a5a2b4dc701fc574952aa19f/soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a", size = 103418 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677 }, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.40" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "greenlet", marker = "(python_full_version < '3.14' and platform_machine == 'AMD64') or (python_full_version < '3.14' and platform_machine == 'WIN32') or (python_full_version < '3.14' and platform_machine == 'aarch64') or (python_full_version < '3.14' and platform_machine == 'amd64') or (python_full_version < '3.14' and platform_machine == 'ppc64le') or (python_full_version < '3.14' and platform_machine == 'win32') or (python_full_version < '3.14' and platform_machine == 'x86_64')" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/68/c3/3f2bfa5e4dcd9938405fe2fab5b6ab94a9248a4f9536ea2fd497da20525f/sqlalchemy-2.0.40.tar.gz", hash = "sha256:d827099289c64589418ebbcaead0145cd19f4e3e8a93919a0100247af245fa00", size = 9664299 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8c/18/4e3a86cc0232377bc48c373a9ba6a1b3fb79ba32dbb4eda0b357f5a2c59d/sqlalchemy-2.0.40-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:915866fd50dd868fdcc18d61d8258db1bf9ed7fbd6dfec960ba43365952f3b01", size = 2107887 }, + { url = "https://files.pythonhosted.org/packages/cb/60/9fa692b1d2ffc4cbd5f47753731fd332afed30137115d862d6e9a1e962c7/sqlalchemy-2.0.40-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4a4c5a2905a9ccdc67a8963e24abd2f7afcd4348829412483695c59e0af9a705", size = 2098367 }, + { url = "https://files.pythonhosted.org/packages/4c/9f/84b78357ca641714a439eb3fbbddb17297dacfa05d951dbf24f28d7b5c08/sqlalchemy-2.0.40-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55028d7a3ebdf7ace492fab9895cbc5270153f75442a0472d8516e03159ab364", size = 3184806 }, + { url = "https://files.pythonhosted.org/packages/4b/7d/e06164161b6bfce04c01bfa01518a20cccbd4100d5c951e5a7422189191a/sqlalchemy-2.0.40-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cfedff6878b0e0d1d0a50666a817ecd85051d12d56b43d9d425455e608b5ba0", size = 3198131 }, + { url = "https://files.pythonhosted.org/packages/6d/51/354af20da42d7ec7b5c9de99edafbb7663a1d75686d1999ceb2c15811302/sqlalchemy-2.0.40-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bb19e30fdae77d357ce92192a3504579abe48a66877f476880238a962e5b96db", size = 3131364 }, + { url = "https://files.pythonhosted.org/packages/7a/2f/48a41ff4e6e10549d83fcc551ab85c268bde7c03cf77afb36303c6594d11/sqlalchemy-2.0.40-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:16d325ea898f74b26ffcd1cf8c593b0beed8714f0317df2bed0d8d1de05a8f26", size = 3159482 }, + { url = "https://files.pythonhosted.org/packages/33/ac/e5e0a807163652a35be878c0ad5cfd8b1d29605edcadfb5df3c512cdf9f3/sqlalchemy-2.0.40-cp313-cp313-win32.whl", hash = "sha256:a669cbe5be3c63f75bcbee0b266779706f1a54bcb1000f302685b87d1b8c1500", size = 2080704 }, + { url = "https://files.pythonhosted.org/packages/1c/cb/f38c61f7f2fd4d10494c1c135ff6a6ddb63508d0b47bccccd93670637309/sqlalchemy-2.0.40-cp313-cp313-win_amd64.whl", hash = "sha256:641ee2e0834812d657862f3a7de95e0048bdcb6c55496f39c6fa3d435f6ac6ad", size = 2104564 }, + { url = "https://files.pythonhosted.org/packages/d1/7c/5fc8e802e7506fe8b55a03a2e1dab156eae205c91bee46305755e086d2e2/sqlalchemy-2.0.40-py3-none-any.whl", hash = "sha256:32587e2e1e359276957e6fe5dad089758bc042a971a8a09ae8ecf7a8fe23d07a", size = 1903894 }, +] + +[[package]] +name = "sqlmodel" +version = "0.0.24" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "sqlalchemy" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/86/4b/c2ad0496f5bdc6073d9b4cef52be9c04f2b37a5773441cc6600b1857648b/sqlmodel-0.0.24.tar.gz", hash = "sha256:cc5c7613c1a5533c9c7867e1aab2fd489a76c9e8a061984da11b4e613c182423", size = 116780 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/91/484cd2d05569892b7fef7f5ceab3bc89fb0f8a8c0cde1030d383dbc5449c/sqlmodel-0.0.24-py3-none-any.whl", hash = "sha256:6778852f09370908985b667d6a3ab92910d0d5ec88adcaf23dbc242715ff7193", size = 28622 }, +] + +[[package]] +name = "starlette" +version = "0.46.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037 }, +] + +[[package]] +name = "typer" +version = "0.15.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "rich" }, + { name = "shellingham" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8b/6f/3991f0f1c7fcb2df31aef28e0594d8d54b05393a0e4e34c65e475c2a5d41/typer-0.15.2.tar.gz", hash = "sha256:ab2fab47533a813c49fe1f16b1a370fd5819099c00b119e0633df65f22144ba5", size = 100711 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/fc/5b29fea8cee020515ca82cc68e3b8e1e34bb19a3535ad854cac9257b414c/typer-0.15.2-py3-none-any.whl", hash = "sha256:46a499c6107d645a9c13f7ee46c5d5096cae6f5fc57dd11eccbbb9ae3e44ddfc", size = 45061 }, +] + +[[package]] +name = "typing-extensions" +version = "4.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806 }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125 }, +] + +[[package]] +name = "urllib3" +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680 }, +] + +[[package]] +name = "uvicorn" +version = "0.34.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a6/ae/9bbb19b9e1c450cf9ecaef06463e40234d98d95bf572fab11b4f19ae5ded/uvicorn-0.34.2.tar.gz", hash = "sha256:0e929828f6186353a80b58ea719861d2629d766293b6d19baf086ba31d4f3328", size = 76815 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/4b/4cef6ce21a2aaca9d852a6e84ef4f135d99fcd74fa75105e2fc0c8308acd/uvicorn-0.34.2-py3-none-any.whl", hash = "sha256:deb49af569084536d269fe0a6d67e3754f104cf03aba7c11c40f01aadf33c403", size = 62483 }, +] + +[package.optional-dependencies] +standard = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "httptools" }, + { name = "python-dotenv" }, + { name = "pyyaml" }, + { name = "uvloop", marker = "platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32'" }, + { name = "watchfiles" }, + { name = "websockets" }, +] + +[[package]] +name = "uvloop" +version = "0.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/8d/2cbef610ca21539f0f36e2b34da49302029e7c9f09acef0b1c3b5839412b/uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281", size = 1468123 }, + { url = "https://files.pythonhosted.org/packages/93/0d/b0038d5a469f94ed8f2b2fce2434a18396d8fbfb5da85a0a9781ebbdec14/uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af", size = 819325 }, + { url = "https://files.pythonhosted.org/packages/50/94/0a687f39e78c4c1e02e3272c6b2ccdb4e0085fda3b8352fecd0410ccf915/uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6", size = 4582806 }, + { url = "https://files.pythonhosted.org/packages/d2/19/f5b78616566ea68edd42aacaf645adbf71fbd83fc52281fba555dc27e3f1/uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816", size = 4701068 }, + { url = "https://files.pythonhosted.org/packages/47/57/66f061ee118f413cd22a656de622925097170b9380b30091b78ea0c6ea75/uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc", size = 4454428 }, + { url = "https://files.pythonhosted.org/packages/63/9a/0962b05b308494e3202d3f794a6e85abe471fe3cafdbcf95c2e8c713aabd/uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553", size = 4660018 }, +] + +[[package]] +name = "watchfiles" +version = "1.0.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/03/e2/8ed598c42057de7aa5d97c472254af4906ff0a59a66699d426fc9ef795d7/watchfiles-1.0.5.tar.gz", hash = "sha256:b7529b5dcc114679d43827d8c35a07c493ad6f083633d573d81c660abc5979e9", size = 94537 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/62/435766874b704f39b2fecd8395a29042db2b5ec4005bd34523415e9bd2e0/watchfiles-1.0.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:0b289572c33a0deae62daa57e44a25b99b783e5f7aed81b314232b3d3c81a11d", size = 401531 }, + { url = "https://files.pythonhosted.org/packages/6e/a6/e52a02c05411b9cb02823e6797ef9bbba0bfaf1bb627da1634d44d8af833/watchfiles-1.0.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a056c2f692d65bf1e99c41045e3bdcaea3cb9e6b5a53dcaf60a5f3bd95fc9763", size = 392417 }, + { url = "https://files.pythonhosted.org/packages/3f/53/c4af6819770455932144e0109d4854437769672d7ad897e76e8e1673435d/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9dca99744991fc9850d18015c4f0438865414e50069670f5f7eee08340d8b40", size = 453423 }, + { url = "https://files.pythonhosted.org/packages/cb/d1/8e88df58bbbf819b8bc5cfbacd3c79e01b40261cad0fc84d1e1ebd778a07/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:894342d61d355446d02cd3988a7326af344143eb33a2fd5d38482a92072d9563", size = 458185 }, + { url = "https://files.pythonhosted.org/packages/ff/70/fffaa11962dd5429e47e478a18736d4e42bec42404f5ee3b92ef1b87ad60/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab44e1580924d1ffd7b3938e02716d5ad190441965138b4aa1d1f31ea0877f04", size = 486696 }, + { url = "https://files.pythonhosted.org/packages/39/db/723c0328e8b3692d53eb273797d9a08be6ffb1d16f1c0ba2bdbdc2a3852c/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d6f9367b132078b2ceb8d066ff6c93a970a18c3029cea37bfd7b2d3dd2e5db8f", size = 522327 }, + { url = "https://files.pythonhosted.org/packages/cd/05/9fccc43c50c39a76b68343484b9da7b12d42d0859c37c61aec018c967a32/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2e55a9b162e06e3f862fb61e399fe9f05d908d019d87bf5b496a04ef18a970a", size = 499741 }, + { url = "https://files.pythonhosted.org/packages/23/14/499e90c37fa518976782b10a18b18db9f55ea73ca14641615056f8194bb3/watchfiles-1.0.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0125f91f70e0732a9f8ee01e49515c35d38ba48db507a50c5bdcad9503af5827", size = 453995 }, + { url = "https://files.pythonhosted.org/packages/61/d9/f75d6840059320df5adecd2c687fbc18960a7f97b55c300d20f207d48aef/watchfiles-1.0.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:13bb21f8ba3248386337c9fa51c528868e6c34a707f729ab041c846d52a0c69a", size = 629693 }, + { url = "https://files.pythonhosted.org/packages/fc/17/180ca383f5061b61406477218c55d66ec118e6c0c51f02d8142895fcf0a9/watchfiles-1.0.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:839ebd0df4a18c5b3c1b890145b5a3f5f64063c2a0d02b13c76d78fe5de34936", size = 624677 }, + { url = "https://files.pythonhosted.org/packages/bf/15/714d6ef307f803f236d69ee9d421763707899d6298d9f3183e55e366d9af/watchfiles-1.0.5-cp313-cp313-win32.whl", hash = "sha256:4a8ec1e4e16e2d5bafc9ba82f7aaecfeec990ca7cd27e84fb6f191804ed2fcfc", size = 277804 }, + { url = "https://files.pythonhosted.org/packages/a8/b4/c57b99518fadf431f3ef47a610839e46e5f8abf9814f969859d1c65c02c7/watchfiles-1.0.5-cp313-cp313-win_amd64.whl", hash = "sha256:f436601594f15bf406518af922a89dcaab416568edb6f65c4e5bbbad1ea45c11", size = 291087 }, +] + +[[package]] +name = "websockets" +version = "15.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", size = 175440 }, + { url = "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", size = 173098 }, + { url = "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", size = 173329 }, + { url = "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", size = 183111 }, + { url = "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", size = 182054 }, + { url = "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", size = 182496 }, + { url = "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", size = 182829 }, + { url = "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", size = 182217 }, + { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195 }, + { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393 }, + { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837 }, + { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743 }, +] diff --git a/kontor-gui/gui/comic_window.py b/kontor-gui/gui/comic_window.py index c4a9064..d032998 100644 --- a/kontor-gui/gui/comic_window.py +++ b/kontor-gui/gui/comic_window.py @@ -1,5 +1,5 @@ from PySide6.QtCore import Signal, QSortFilterProxyModel -from PySide6.QtWidgets import QMainWindow, QWidget, QVBoxLayout, QTabWidget, QMenu, QTableView, QMdiSubWindow, \ +from PySide6.QtWidgets import QWidget, QVBoxLayout, QTabWidget, QTableView, QMdiSubWindow, \ QHeaderView from gui.model_config import KontorModelConfig diff --git a/kontor-gui/gui/main_window.py b/kontor-gui/gui/main_window.py index e30727a..336e2be 100644 --- a/kontor-gui/gui/main_window.py +++ b/kontor-gui/gui/main_window.py @@ -1,6 +1,6 @@ -from PySide6.QtCore import Qt, QThreadPool +from PySide6.QtCore import Qt from PySide6.QtGui import QAction, QIcon, QGuiApplication -from PySide6.QtWidgets import QWidget, QVBoxLayout, QMenu, QMessageBox, QTabWidget, QTableView, QProgressBar, QMdiArea +from PySide6.QtWidgets import QMenu, QMessageBox, QProgressBar, QMdiArea from PySide6.QtWidgets import QLabel, QMainWindow from sqlalchemy import Engine from kontor_schema import KontorDB @@ -10,8 +10,6 @@ from .media_window import MediaWindow from .meta_data_window import MetaDataWindow from .progress import ProgressUpdate from .dialogs import ExportKontorDialog, ImportKontorDialog -from .model_config import KontorModelConfig -from .table_model import KontorTableModel from .worker import VideoDownloader @@ -129,7 +127,7 @@ class MainWindow(QMainWindow): self.statusBar.addPermanentWidget(self.status_progress) def about(self): - QMessageBox.about(self, "Über Kontor", f"Python: 3.11\nKontor: 0.1.0") + QMessageBox.about(self, "Über Kontor", "Python: 3.11\nKontor: 0.1.0") def show_comic_window(self): if 'comic' not in self._subwindows: diff --git a/kontor-gui/gui/media_window.py b/kontor-gui/gui/media_window.py index 080d5cd..f084c76 100644 --- a/kontor-gui/gui/media_window.py +++ b/kontor-gui/gui/media_window.py @@ -1,6 +1,5 @@ from PySide6.QtCore import Signal, QSortFilterProxyModel -from PySide6.QtWidgets import QMdiSubWindow, QWidget, QVBoxLayout, QTabWidget, QTableView, QHeaderView, QLabel, \ - QHBoxLayout, QFormLayout, QLineEdit +from PySide6.QtWidgets import QMdiSubWindow, QWidget, QVBoxLayout, QTabWidget, QTableView from .model_config import KontorModelConfig from .table_details import KontorTableDetailsView diff --git a/kontor-gui/gui/meta_data_window.py b/kontor-gui/gui/meta_data_window.py index 5c4af30..567abeb 100644 --- a/kontor-gui/gui/meta_data_window.py +++ b/kontor-gui/gui/meta_data_window.py @@ -1,6 +1,5 @@ from PySide6.QtCore import Signal, QSortFilterProxyModel -from PySide6.QtWidgets import QMainWindow, QWidget, QVBoxLayout, QTabWidget, QMenu, QTableView, QMdiSubWindow, \ - QHeaderView +from PySide6.QtWidgets import QWidget, QVBoxLayout, QTabWidget, QTableView, QMdiSubWindow from gui.model_config import KontorModelConfig from gui.table_model import KontorTableModel diff --git a/kontor-gui/gui/model_config.py b/kontor-gui/gui/model_config.py index 1259fc3..6a4e00b 100644 --- a/kontor-gui/gui/model_config.py +++ b/kontor-gui/gui/model_config.py @@ -1,4 +1,4 @@ -from PySide6.QtWidgets import QHBoxLayout, QCheckBox, QMdiSubWindow +from PySide6.QtWidgets import QHBoxLayout, QCheckBox from kontor_schema import KontorDB, ColumnEntry diff --git a/kontor-gui/gui/worker.py b/kontor-gui/gui/worker.py index 96ecf12..5f0d4d6 100644 --- a/kontor-gui/gui/worker.py +++ b/kontor-gui/gui/worker.py @@ -1,6 +1,5 @@ -import sys -from PySide6.QtCore import QObject, Signal, QRunnable, Slot, QThread +from PySide6.QtCore import Signal, QThread class VideoDownloader(QThread): diff --git a/kontor-schema/build/lib/kontor_schema/__init__.py b/kontor-schema/build/lib/kontor_schema/__init__.py index e8d7a61..3c7ff98 100644 --- a/kontor-schema/build/lib/kontor_schema/__init__.py +++ b/kontor-schema/build/lib/kontor_schema/__init__.py @@ -159,7 +159,7 @@ class KontorDB: entry[column_name] = str(value) else: entry[column_name] = value - except AttributeError as error: + except AttributeError: self.log.debug("could not get value") entries.append(entry) db[table] = entries @@ -278,7 +278,7 @@ class KontorDB: self.log.info(error.orig) def update_title(self, dry_run=False): - self.log.info(f"get links to review of media_file") + self.log.info("get links to review of media_file") __session__ = sessionmaker(self.engine) with __session__() as session: links = session.query(MediaFile).filter(MediaFile.review == 1).all() @@ -304,7 +304,7 @@ class KontorDB: session.commit() def download_file(self, dry_run=False): - self.log.info(f"download marked files of media_file") + self.log.info("download marked files of media_file") __session__ = sessionmaker(self.engine) with __session__() as session: links = session.query(MediaFile).filter(MediaFile.should_download == 1).all() diff --git a/kontor-schema/build/lib/kontor_schema/base.py b/kontor-schema/build/lib/kontor_schema/base.py index c976167..21186d4 100644 --- a/kontor-schema/build/lib/kontor_schema/base.py +++ b/kontor-schema/build/lib/kontor_schema/base.py @@ -1,7 +1,7 @@ import uuid from datetime import datetime -from sqlalchemy import Integer, func, String +from sqlalchemy import func from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column diff --git a/kontor-schema/build/lib/kontor_schema/bookshelf.py b/kontor-schema/build/lib/kontor_schema/bookshelf.py index ab0fe5a..91e0ae4 100644 --- a/kontor-schema/build/lib/kontor_schema/bookshelf.py +++ b/kontor-schema/build/lib/kontor_schema/bookshelf.py @@ -1,5 +1,4 @@ -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String -from sqlalchemy.dialects.mysql import BIT +from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.orm import relationship from .base import Base, BaseMixin diff --git a/kontor-schema/build/lib/kontor_schema/comic.py b/kontor-schema/build/lib/kontor_schema/comic.py index fe6ec19..1052d79 100644 --- a/kontor-schema/build/lib/kontor_schema/comic.py +++ b/kontor-schema/build/lib/kontor_schema/comic.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String +from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/kontor-schema/build/lib/kontor_schema/media.py b/kontor-schema/build/lib/kontor_schema/media.py index d9d1bf2..2f8e865 100644 --- a/kontor-schema/build/lib/kontor_schema/media.py +++ b/kontor-schema/build/lib/kontor_schema/media.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, DateTime, Integer, String +from sqlalchemy import Column, String from sqlalchemy.dialects.mysql import BIT from .base import Base, BaseMixin diff --git a/kontor-schema/build/lib/kontor_schema/metadata.py b/kontor-schema/build/lib/kontor_schema/metadata.py index 21d4d49..3a7d7de 100644 --- a/kontor-schema/build/lib/kontor_schema/metadata.py +++ b/kontor-schema/build/lib/kontor_schema/metadata.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, String, ForeignKey, DateTime, Integer, Boolean +from sqlalchemy import Column, String, ForeignKey, Integer from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/kontor-schema/build/lib/kontor_schema/tysc.py b/kontor-schema/build/lib/kontor_schema/tysc.py index ef8bc5d..32c88f1 100644 --- a/kontor-schema/build/lib/kontor_schema/tysc.py +++ b/kontor-schema/build/lib/kontor_schema/tysc.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, DateTime, Integer, String, ForeignKey, UniqueConstraint +from sqlalchemy import Column, Integer, String, ForeignKey, UniqueConstraint from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/kontor-schema/kontor_schema/admin.py b/kontor-schema/kontor_schema/admin.py index 8dd33bd..c5b3e99 100644 --- a/kontor-schema/kontor_schema/admin.py +++ b/kontor-schema/kontor_schema/admin.py @@ -1,6 +1,6 @@ from datetime import datetime -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String +from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship, mapped_column, Mapped diff --git a/kontor-schema/kontor_schema/bookshelf.py b/kontor-schema/kontor_schema/bookshelf.py index ab0fe5a..91e0ae4 100644 --- a/kontor-schema/kontor_schema/bookshelf.py +++ b/kontor-schema/kontor_schema/bookshelf.py @@ -1,5 +1,4 @@ -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String -from sqlalchemy.dialects.mysql import BIT +from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.orm import relationship from .base import Base, BaseMixin diff --git a/kontor-schema/kontor_schema/comic.py b/kontor-schema/kontor_schema/comic.py index fe6ec19..1052d79 100644 --- a/kontor-schema/kontor_schema/comic.py +++ b/kontor-schema/kontor_schema/comic.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String +from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/kontor-schema/kontor_schema/media.py b/kontor-schema/kontor_schema/media.py index bb2661e..f17eb43 100644 --- a/kontor-schema/kontor_schema/media.py +++ b/kontor-schema/kontor_schema/media.py @@ -5,7 +5,7 @@ from pathlib import Path import requests from bs4 import BeautifulSoup -from sqlalchemy import Column, DateTime, Integer, String, ForeignKey +from sqlalchemy import Column, String, ForeignKey from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/kontor-schema/kontor_schema/metadata.py b/kontor-schema/kontor_schema/metadata.py index f9538bb..950cebe 100644 --- a/kontor-schema/kontor_schema/metadata.py +++ b/kontor-schema/kontor_schema/metadata.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, String, ForeignKey, DateTime, Integer, Boolean +from sqlalchemy import Column, String, ForeignKey, Integer from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/kontor-schema/kontor_schema/tysc.py b/kontor-schema/kontor_schema/tysc.py index ef8bc5d..32c88f1 100644 --- a/kontor-schema/kontor_schema/tysc.py +++ b/kontor-schema/kontor_schema/tysc.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, DateTime, Integer, String, ForeignKey, UniqueConstraint +from sqlalchemy import Column, Integer, String, ForeignKey, UniqueConstraint from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/kontor-spring/.factorypath b/kontor-spring/.factorypath new file mode 100644 index 0000000..5751075 --- /dev/null +++ b/kontor-spring/.factorypath @@ -0,0 +1,3 @@ + + + diff --git a/springboot/.gitattributes b/kontor-spring/.gitattributes similarity index 100% rename from springboot/.gitattributes rename to kontor-spring/.gitattributes diff --git a/springboot/.gitignore b/kontor-spring/.gitignore similarity index 100% rename from springboot/.gitignore rename to kontor-spring/.gitignore diff --git a/springboot/Dockerfile b/kontor-spring/Dockerfile similarity index 100% rename from springboot/Dockerfile rename to kontor-spring/Dockerfile diff --git a/kontor-spring/Makefile b/kontor-spring/Makefile new file mode 100644 index 0000000..55728ed --- /dev/null +++ b/kontor-spring/Makefile @@ -0,0 +1,8 @@ +.PYHONY: all + +all: + ./gradlew build + +docker: + ./gradlew dockerImage + diff --git a/springboot/README.md b/kontor-spring/README.md similarity index 100% rename from springboot/README.md rename to kontor-spring/README.md diff --git a/springboot/build.gradle b/kontor-spring/build.gradle similarity index 100% rename from springboot/build.gradle rename to kontor-spring/build.gradle diff --git a/springboot/docker-compose.yml b/kontor-spring/docker-compose.yml similarity index 100% rename from springboot/docker-compose.yml rename to kontor-spring/docker-compose.yml diff --git a/springboot/frontend/themes/kontor/styles.css b/kontor-spring/frontend/themes/kontor/styles.css similarity index 100% rename from springboot/frontend/themes/kontor/styles.css rename to kontor-spring/frontend/themes/kontor/styles.css diff --git a/springboot/frontend/themes/kontor/theme.json b/kontor-spring/frontend/themes/kontor/theme.json similarity index 100% rename from springboot/frontend/themes/kontor/theme.json rename to kontor-spring/frontend/themes/kontor/theme.json diff --git a/springboot/gradle.properties b/kontor-spring/gradle.properties similarity index 100% rename from springboot/gradle.properties rename to kontor-spring/gradle.properties diff --git a/springboot/gradle/libs.versions.toml b/kontor-spring/gradle/libs.versions.toml similarity index 100% rename from springboot/gradle/libs.versions.toml rename to kontor-spring/gradle/libs.versions.toml diff --git a/springboot/gradle/wrapper/gradle-wrapper.jar b/kontor-spring/gradle/wrapper/gradle-wrapper.jar similarity index 100% rename from springboot/gradle/wrapper/gradle-wrapper.jar rename to kontor-spring/gradle/wrapper/gradle-wrapper.jar diff --git a/springboot/gradle/wrapper/gradle-wrapper.properties b/kontor-spring/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from springboot/gradle/wrapper/gradle-wrapper.properties rename to kontor-spring/gradle/wrapper/gradle-wrapper.properties diff --git a/springboot/gradlew b/kontor-spring/gradlew similarity index 100% rename from springboot/gradlew rename to kontor-spring/gradlew diff --git a/springboot/gradlew.bat b/kontor-spring/gradlew.bat similarity index 100% rename from springboot/gradlew.bat rename to kontor-spring/gradlew.bat diff --git a/springboot/settings.gradle b/kontor-spring/settings.gradle similarity index 100% rename from springboot/settings.gradle rename to kontor-spring/settings.gradle diff --git a/springboot/src/docs/asciidoc/kontor-spring.adoc b/kontor-spring/src/docs/asciidoc/kontor-spring.adoc similarity index 100% rename from springboot/src/docs/asciidoc/kontor-spring.adoc rename to kontor-spring/src/docs/asciidoc/kontor-spring.adoc diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistformTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistformTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistformTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ArtistformTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicWorkViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicWorkViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicWorkViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/ComicWorkViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/IssueViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/IssueViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/IssueViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/IssueViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/PublisherViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/PublisherViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/PublisherViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/PublisherViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/StoryArcViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/StoryArcViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/StoryArcViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/StoryArcViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/TradePaperbackViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/TradePaperbackViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/TradePaperbackViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/TradePaperbackViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/VolumeViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/VolumeViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/VolumeViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/VolumeViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/WorktypeViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/WorktypeViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/comics/views/WorktypeViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/comics/views/WorktypeViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/CardSetViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/CardSetViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/CardSetViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/CardSetViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/CardViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/CardViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/CardViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/CardViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/FieldPositionViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/FieldPositionViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/FieldPositionViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/FieldPositionViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/PlayerViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/PlayerViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/PlayerViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/PlayerViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/RoosterViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/RoosterViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/RoosterViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/RoosterViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/SportViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/SportViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/SportViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/SportViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/TeamViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/TeamViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/TeamViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/TeamViewTest.java diff --git a/springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/VendorViewTest.java b/kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/VendorViewTest.java similarity index 100% rename from springboot/src/integrationTest/java/de/thpeetz/kontor/tysc/views/VendorViewTest.java rename to kontor-spring/src/integrationTest/java/de/thpeetz/kontor/tysc/views/VendorViewTest.java diff --git a/springboot/src/integrationTest/resources/application.properties b/kontor-spring/src/integrationTest/resources/application.properties similarity index 100% rename from springboot/src/integrationTest/resources/application.properties rename to kontor-spring/src/integrationTest/resources/application.properties diff --git a/springboot/src/main/java/de/thpeetz/kontor/Application.java b/kontor-spring/src/main/java/de/thpeetz/kontor/Application.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/Application.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/Application.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/AdminConstants.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/AdminConstants.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/AdminConstants.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/AdminConstants.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/MailProperties.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/MailProperties.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/MailProperties.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/MailProperties.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/SetupModuleAdmin.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/SetupModuleAdmin.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/SetupModuleAdmin.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/SetupModuleAdmin.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/data/AuthorizationMatrix.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/AuthorizationMatrix.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/data/AuthorizationMatrix.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/AuthorizationMatrix.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/data/MetaDataColumn.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/MetaDataColumn.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/data/MetaDataColumn.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/MetaDataColumn.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/data/MetaDataTable.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/MetaDataTable.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/data/MetaDataTable.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/MetaDataTable.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/data/ModuleData.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/ModuleData.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/data/ModuleData.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/ModuleData.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/data/Role.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/Role.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/data/Role.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/Role.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/data/Token.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/Token.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/data/Token.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/Token.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/data/User.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/User.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/data/User.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/data/User.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/repository/AuthorizationMatrixRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/AuthorizationMatrixRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/repository/AuthorizationMatrixRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/AuthorizationMatrixRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/repository/MailAccountRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/MailAccountRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/repository/MailAccountRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/MailAccountRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/repository/MetaDataColumnRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/MetaDataColumnRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/repository/MetaDataColumnRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/MetaDataColumnRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/repository/MetaDataTableRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/MetaDataTableRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/repository/MetaDataTableRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/MetaDataTableRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/repository/ModuleDataRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/ModuleDataRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/repository/ModuleDataRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/ModuleDataRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/repository/RoleRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/RoleRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/repository/RoleRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/RoleRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/repository/UserRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/UserRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/repository/UserRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/repository/UserRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/services/AdminService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/AdminService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/services/AdminService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/AdminService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/services/KontorUserDetailsService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/KontorUserDetailsService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/services/KontorUserDetailsService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/KontorUserDetailsService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/services/MailService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/MailService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/services/MailService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/MailService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/services/MetaDataService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/MetaDataService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/services/MetaDataService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/MetaDataService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/services/ModuleService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/ModuleService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/services/ModuleService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/services/ModuleService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/AdminLayout.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/AdminLayout.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/AdminLayout.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/AdminLayout.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/AuthorizationForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/AuthorizationForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/AuthorizationForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/AuthorizationForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/AuthorizationView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/AuthorizationView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/AuthorizationView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/AuthorizationView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/LoginView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/LoginView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/LoginView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/LoginView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/MetaDataForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/MetaDataForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/MetaDataView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/MetaDataView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/MetaDataView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/ModuleDataForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/ModuleDataForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/ModuleDataForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/ModuleDataForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/ModuleDataView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/ModuleDataView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/ModuleDataView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/ModuleDataView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/RoleForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/RoleForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/RoleForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/RoleForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/RoleView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/RoleView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/RoleView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/RoleView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/UserForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/UserForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/UserForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/UserForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/UserProfileView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/UserProfileView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/UserProfileView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/UserProfileView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/admin/views/UserView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/UserView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/admin/views/UserView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/admin/views/UserView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/BookshelfConstants.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/BookshelfConstants.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/BookshelfConstants.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/BookshelfConstants.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/SetupModuleBookshelf.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/SetupModuleBookshelf.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/SetupModuleBookshelf.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/SetupModuleBookshelf.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/Article.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/Article.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/Article.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/Article.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthor.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthor.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthor.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthor.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/ArticleRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/Author.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/Author.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/Author.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/Author.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/AuthorRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/AuthorRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/AuthorRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/AuthorRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/Book.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/Book.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/Book.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/Book.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookAuthor.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookAuthor.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookAuthor.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookAuthor.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookAuthorRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookAuthorRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookAuthorRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookAuthorRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisher.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisher.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisher.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisher.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/services/BookshelfService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/services/BookshelfService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/services/BookshelfService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/services/BookshelfService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/ArticleForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/ArticleForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/ArticleForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/ArticleForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/ArticleView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/ArticleView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/ArticleView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/ArticleView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/AuthorForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/AuthorForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/AuthorForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/AuthorForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/AuthorView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/AuthorView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/AuthorView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/AuthorView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/BookForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/BookForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/BookForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/BookForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/BookView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/BookView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/BookView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/BookView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/BookshelfLayout.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/BookshelfLayout.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/BookshelfLayout.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/BookshelfLayout.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/BookshelfPublisherView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/BookshelfPublisherView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/BookshelfPublisherView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/BookshelfPublisherView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/PublisherForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/PublisherForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/bookshelf/views/PublisherForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/bookshelf/views/PublisherForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/ComicConstants.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/ComicConstants.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/ComicConstants.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/ComicConstants.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/SetupModuleComics.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/SetupModuleComics.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/SetupModuleComics.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/SetupModuleComics.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/Artist.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Artist.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/Artist.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Artist.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/ArtistRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/ArtistRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/ArtistRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/ArtistRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/Comic.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Comic.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/Comic.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Comic.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/ComicRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/ComicRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/ComicRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/ComicRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/ComicWork.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/ComicWork.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/ComicWork.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/ComicWork.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/ComicWorkRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/ComicWorkRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/ComicWorkRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/ComicWorkRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/Issue.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Issue.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/Issue.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Issue.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/IssueRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/IssueRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/IssueRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/IssueRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/Publisher.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Publisher.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/Publisher.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Publisher.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/PublisherRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/PublisherRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/PublisherRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/PublisherRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/StoryArc.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/StoryArc.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/StoryArc.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/StoryArc.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/StoryArcRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/StoryArcRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/StoryArcRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/StoryArcRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/TradePaperback.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/TradePaperback.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/TradePaperback.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/TradePaperback.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/TradePaperbackRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/TradePaperbackRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/TradePaperbackRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/TradePaperbackRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/Volume.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Volume.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/Volume.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Volume.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/VolumeRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/VolumeRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/VolumeRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/VolumeRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/Worktype.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Worktype.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/Worktype.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/Worktype.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/data/WorktypeRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/WorktypeRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/data/WorktypeRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/data/WorktypeRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/services/ComicService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/services/ComicService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/services/ComicService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/services/ComicService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/ArtistForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ArtistForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/ArtistForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ArtistForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/ArtistView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ArtistView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/ArtistView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ArtistView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicLayout.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicLayout.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicLayout.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicLayout.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicWorkForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicWorkForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicWorkForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicWorkForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicWorkView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicWorkView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/ComicWorkView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/ComicWorkView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/IssueForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/IssueForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/IssueForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/IssueForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/IssueView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/IssueView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/IssueView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/IssueView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/PublisherForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/PublisherForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/PublisherForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/PublisherForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/PublisherView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/PublisherView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/PublisherView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/PublisherView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/StoryArcForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/StoryArcForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/StoryArcForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/StoryArcForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/StoryArcView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/StoryArcView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/StoryArcView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/StoryArcView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/TradePaperBackForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/TradePaperBackForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/TradePaperBackForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/TradePaperBackForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/TradePaperbackView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/TradePaperbackView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/TradePaperbackView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/TradePaperbackView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/VolumeForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/VolumeForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/VolumeForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/VolumeForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/VolumeView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/VolumeView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/VolumeView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/VolumeView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/WorktypeForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/WorktypeForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/WorktypeForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/WorktypeForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/comics/views/WorktypeView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/WorktypeView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/comics/views/WorktypeView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/comics/views/WorktypeView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/common/data/AbstractEntity.java b/kontor-spring/src/main/java/de/thpeetz/kontor/common/data/AbstractEntity.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/common/data/AbstractEntity.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/common/data/AbstractEntity.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/common/data/AbstractLinkEntity.java b/kontor-spring/src/main/java/de/thpeetz/kontor/common/data/AbstractLinkEntity.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/common/data/AbstractLinkEntity.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/common/data/AbstractLinkEntity.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/common/views/AvatarMenuBar.java b/kontor-spring/src/main/java/de/thpeetz/kontor/common/views/AvatarMenuBar.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/common/views/AvatarMenuBar.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/common/views/AvatarMenuBar.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/common/views/ColumnToggleContextMenu.java b/kontor-spring/src/main/java/de/thpeetz/kontor/common/views/ColumnToggleContextMenu.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/common/views/ColumnToggleContextMenu.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/common/views/ColumnToggleContextMenu.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/common/views/KontorLayoutUtil.java b/kontor-spring/src/main/java/de/thpeetz/kontor/common/views/KontorLayoutUtil.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/common/views/KontorLayoutUtil.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/common/views/KontorLayoutUtil.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/common/views/MainLayout.java b/kontor-spring/src/main/java/de/thpeetz/kontor/common/views/MainLayout.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/common/views/MainLayout.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/common/views/MainLayout.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/common/views/MainView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/common/views/MainView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/common/views/MainView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/common/views/MainView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/common/views/SeparateMainLayout.java b/kontor-spring/src/main/java/de/thpeetz/kontor/common/views/SeparateMainLayout.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/common/views/SeparateMainLayout.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/common/views/SeparateMainLayout.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/common/views/StatusIcon.java b/kontor-spring/src/main/java/de/thpeetz/kontor/common/views/StatusIcon.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/common/views/StatusIcon.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/common/views/StatusIcon.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/data/services/DataManagementService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/data/services/DataManagementService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/data/services/DataManagementService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/data/services/DataManagementService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/data/views/DataManagementView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/data/views/DataManagementView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/data/views/DataManagementView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/data/views/DataManagementView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/data/views/ImportArea.java b/kontor-spring/src/main/java/de/thpeetz/kontor/data/views/ImportArea.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/data/views/ImportArea.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/data/views/ImportArea.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/data/views/UploadArea.java b/kontor-spring/src/main/java/de/thpeetz/kontor/data/views/UploadArea.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/data/views/UploadArea.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/data/views/UploadArea.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/mailclient/data/Mail.java b/kontor-spring/src/main/java/de/thpeetz/kontor/mailclient/data/Mail.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/mailclient/data/Mail.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/mailclient/data/Mail.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/mailclient/data/MailAccount.java b/kontor-spring/src/main/java/de/thpeetz/kontor/mailclient/data/MailAccount.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/mailclient/data/MailAccount.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/mailclient/data/MailAccount.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/mailclient/views/EmailView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/mailclient/views/EmailView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/mailclient/views/EmailView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/mailclient/views/EmailView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/MediaConstants.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/MediaConstants.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/MediaConstants.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/MediaConstants.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/SetupModuleMedia.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/SetupModuleMedia.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/SetupModuleMedia.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/SetupModuleMedia.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaActor.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaActor.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaActor.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaActor.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaActorFile.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaActorFile.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaActorFile.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaActorFile.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaActorFileRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaActorFileRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaActorFileRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaActorFileRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaActorRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaActorRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaActorRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaActorRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaArticle.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaArticle.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaArticle.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaArticle.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaArticleRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaArticleRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaArticleRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaArticleRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaFile.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaFile.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaFile.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaFile.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaFileRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaFileRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaFileRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaFileRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaVideo.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaVideo.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaVideo.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaVideo.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/data/MediaVideoRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaVideoRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/data/MediaVideoRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/data/MediaVideoRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/services/MediaArticleService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/services/MediaArticleService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/services/MediaArticleService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/services/MediaArticleService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/services/MediaFileService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/services/MediaFileService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/services/MediaFileService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/services/MediaFileService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/services/MediaVideoService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/services/MediaVideoService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/services/MediaVideoService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/services/MediaVideoService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaActorFileForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaActorFileForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaActorFileForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaActorFileForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaActorFileView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaActorFileView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaActorFileView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaActorFileView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaActorForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaActorForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaActorForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaActorForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaActorView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaActorView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaActorView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaActorView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaArticleForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaArticleForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaArticleForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaArticleForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaArticleView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaArticleView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaArticleView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaArticleView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaFileForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaFileForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaFileForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaFileForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaFileView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaFileView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaFileView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaFileView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaVideoForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaVideoForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaVideoForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaVideoForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/media/views/MediaVideoView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaVideoView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/media/views/MediaVideoView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/media/views/MediaVideoView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/security/SecurityConfig.java b/kontor-spring/src/main/java/de/thpeetz/kontor/security/SecurityConfig.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/security/SecurityConfig.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/security/SecurityConfig.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/security/SecurityService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/security/SecurityService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/security/SecurityService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/security/SecurityService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/SetupModuleTysc.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/SetupModuleTysc.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/SetupModuleTysc.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/SetupModuleTysc.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/TyscConstants.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/TyscConstants.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/TyscConstants.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/TyscConstants.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/data/Card.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Card.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/data/Card.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Card.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/data/CardSet.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/CardSet.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/data/CardSet.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/CardSet.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/data/FieldPosition.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/FieldPosition.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/data/FieldPosition.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/FieldPosition.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/data/Player.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Player.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/data/Player.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Player.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/data/Rooster.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Rooster.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/data/Rooster.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Rooster.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/data/Sport.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Sport.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/data/Sport.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Sport.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/data/Team.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Team.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/data/Team.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Team.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/data/Vendor.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Vendor.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/data/Vendor.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/data/Vendor.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/repository/CardRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/CardRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/repository/CardRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/CardRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/repository/CardSetRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/CardSetRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/repository/CardSetRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/CardSetRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/repository/FieldPositionRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/FieldPositionRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/repository/FieldPositionRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/FieldPositionRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/repository/PlayerRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/PlayerRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/repository/PlayerRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/PlayerRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/repository/RoosterRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/RoosterRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/repository/RoosterRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/RoosterRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/repository/SportRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/SportRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/repository/SportRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/SportRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/repository/TeamRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/TeamRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/repository/TeamRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/TeamRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/repository/VendorRepository.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/VendorRepository.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/repository/VendorRepository.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/repository/VendorRepository.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/services/CardService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/services/CardService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/services/CardService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/services/CardService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/services/SportService.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/services/SportService.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/services/SportService.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/services/SportService.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/CardForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/CardForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/CardForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/CardForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/CardSetForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/CardSetForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/CardSetForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/CardSetForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/CardSetView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/CardSetView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/CardSetView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/CardSetView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/CardView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/CardView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/CardView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/CardView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/PlayerForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/PlayerForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/PlayerForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/PlayerForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/PlayerView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/PlayerView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/PlayerView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/PlayerView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/PositionForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/PositionForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/PositionForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/PositionForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/PositionView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/PositionView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/PositionView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/PositionView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/RoosterForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/RoosterForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/RoosterForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/RoosterForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/RoosterView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/RoosterView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/RoosterView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/RoosterView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/SportForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/SportForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/SportForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/SportForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/SportView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/SportView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/SportView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/SportView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/TeamForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/TeamForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/TeamForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/TeamForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/TeamView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/TeamView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/TeamView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/TeamView.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/TyscLayout.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/TyscLayout.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/TyscLayout.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/TyscLayout.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/VendorForm.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/VendorForm.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/VendorForm.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/VendorForm.java diff --git a/springboot/src/main/java/de/thpeetz/kontor/tysc/views/VendorView.java b/kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/VendorView.java similarity index 100% rename from springboot/src/main/java/de/thpeetz/kontor/tysc/views/VendorView.java rename to kontor-spring/src/main/java/de/thpeetz/kontor/tysc/views/VendorView.java diff --git a/springboot/src/main/resources/META-INF/resources/images/offline.png b/kontor-spring/src/main/resources/META-INF/resources/images/offline.png similarity index 100% rename from springboot/src/main/resources/META-INF/resources/images/offline.png rename to kontor-spring/src/main/resources/META-INF/resources/images/offline.png diff --git a/springboot/src/main/resources/META-INF/resources/offline.html b/kontor-spring/src/main/resources/META-INF/resources/offline.html similarity index 100% rename from springboot/src/main/resources/META-INF/resources/offline.html rename to kontor-spring/src/main/resources/META-INF/resources/offline.html diff --git a/springboot/src/main/resources/application.yml b/kontor-spring/src/main/resources/application.yml similarity index 100% rename from springboot/src/main/resources/application.yml rename to kontor-spring/src/main/resources/application.yml diff --git a/springboot/src/main/resources/banner.txt b/kontor-spring/src/main/resources/banner.txt similarity index 100% rename from springboot/src/main/resources/banner.txt rename to kontor-spring/src/main/resources/banner.txt diff --git a/springboot/src/main/resources/logback-spring.xml b/kontor-spring/src/main/resources/logback-spring.xml similarity index 100% rename from springboot/src/main/resources/logback-spring.xml rename to kontor-spring/src/main/resources/logback-spring.xml diff --git a/springboot/src/test/java/de/thpeetz/kontor/ApplicationTests.java b/kontor-spring/src/test/java/de/thpeetz/kontor/ApplicationTests.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/ApplicationTests.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/ApplicationTests.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/TestConstants.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/TestConstants.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/TestConstants.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/TestConstants.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleAuthorTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/ArticleTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/AuthorRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/AuthorRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/AuthorRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/AuthorRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/AuthorTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/AuthorTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/AuthorTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/AuthorTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookAuthorRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookAuthorRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookAuthorRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookAuthorRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookAuthorTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookAuthorTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookAuthorTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookAuthorTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/data/BookshelfPublisherTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/bookshelf/services/BookshelfServiceTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/services/BookshelfServiceTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/bookshelf/services/BookshelfServiceTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/bookshelf/services/BookshelfServiceTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/ComicConstantsTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/ComicConstantsTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/ComicConstantsTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/ComicConstantsTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/TestConstants.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/TestConstants.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/TestConstants.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/TestConstants.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/ArtistRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ArtistRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/ArtistRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ArtistRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/ArtistTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ArtistTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/ArtistTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ArtistTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/ComicRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ComicRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/ComicRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ComicRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/ComicTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ComicTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/ComicTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ComicTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/ComicWorkRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ComicWorkRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/ComicWorkRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ComicWorkRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/ComicWorkTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ComicWorkTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/ComicWorkTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/ComicWorkTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/IssueRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/IssueRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/IssueRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/IssueRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/IssueTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/IssueTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/IssueTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/IssueTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/PublisherRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/PublisherRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/PublisherRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/PublisherRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/PublisherTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/PublisherTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/PublisherTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/PublisherTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/StoryArcRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/StoryArcRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/StoryArcRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/StoryArcRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/StoryArcTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/StoryArcTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/StoryArcTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/StoryArcTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/TradePaperbackRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/TradePaperbackRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/TradePaperbackRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/TradePaperbackRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/TradePaperbackTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/TradePaperbackTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/TradePaperbackTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/TradePaperbackTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/VolumeRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/VolumeRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/VolumeRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/VolumeRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/VolumeTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/VolumeTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/VolumeTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/VolumeTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/WorktypeRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/WorktypeRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/WorktypeRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/WorktypeRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/data/WorktypeTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/WorktypeTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/data/WorktypeTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/data/WorktypeTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/comics/services/ComicServiceTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/comics/services/ComicServiceTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/comics/services/ComicServiceTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/comics/services/ComicServiceTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/media/TestConstants.java b/kontor-spring/src/test/java/de/thpeetz/kontor/media/TestConstants.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/media/TestConstants.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/media/TestConstants.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/media/data/MediaArticleTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/media/data/MediaArticleTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/media/data/MediaArticleTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/media/data/MediaArticleTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/media/data/MediaFileTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/media/data/MediaFileTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/media/data/MediaFileTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/media/data/MediaFileTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/media/data/MediaVideoTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/media/data/MediaVideoTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/media/data/MediaVideoTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/media/data/MediaVideoTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/media/services/MediaArticleServiceTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/media/services/MediaArticleServiceTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/media/services/MediaArticleServiceTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/media/services/MediaArticleServiceTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/media/services/MediaFileServiceTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/media/services/MediaFileServiceTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/media/services/MediaFileServiceTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/media/services/MediaFileServiceTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/media/services/MediaVideoServiceTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/media/services/MediaVideoServiceTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/media/services/MediaVideoServiceTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/media/services/MediaVideoServiceTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/TestConstants.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/TestConstants.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/TestConstants.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/TestConstants.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/data/CardSetTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/CardSetTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/data/CardSetTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/CardSetTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/data/CardTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/CardTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/data/CardTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/CardTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/data/FieldPositionTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/FieldPositionTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/data/FieldPositionTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/FieldPositionTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/data/PlayerTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/PlayerTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/data/PlayerTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/PlayerTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/data/RoosterTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/RoosterTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/data/RoosterTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/RoosterTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/data/SportTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/SportTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/data/SportTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/SportTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/data/TeamTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/TeamTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/data/TeamTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/TeamTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/data/VendorTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/VendorTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/data/VendorTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/data/VendorTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/repository/CardRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/CardRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/repository/CardRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/CardRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/repository/CardSetRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/CardSetRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/repository/CardSetRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/CardSetRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/repository/FieldPositionRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/FieldPositionRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/repository/FieldPositionRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/FieldPositionRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/repository/PlayerRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/PlayerRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/repository/PlayerRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/PlayerRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/repository/RoosterRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/RoosterRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/repository/RoosterRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/RoosterRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/repository/SportRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/SportRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/repository/SportRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/SportRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/repository/TeamRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/TeamRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/repository/TeamRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/TeamRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/repository/VendorRepositoryTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/VendorRepositoryTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/repository/VendorRepositoryTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/repository/VendorRepositoryTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/services/CardServiceTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/services/CardServiceTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/services/CardServiceTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/services/CardServiceTest.java diff --git a/springboot/src/test/java/de/thpeetz/kontor/tysc/services/SportServiceTest.java b/kontor-spring/src/test/java/de/thpeetz/kontor/tysc/services/SportServiceTest.java similarity index 100% rename from springboot/src/test/java/de/thpeetz/kontor/tysc/services/SportServiceTest.java rename to kontor-spring/src/test/java/de/thpeetz/kontor/tysc/services/SportServiceTest.java diff --git a/springboot/src/test/resources/application.properties b/kontor-spring/src/test/resources/application.properties similarity index 100% rename from springboot/src/test/resources/application.properties rename to kontor-spring/src/test/resources/application.properties diff --git a/python/kontor-cli/kontor/controllers/base.py b/python/kontor-cli/kontor/controllers/base.py index 931db26..e06f5a9 100644 --- a/python/kontor-cli/kontor/controllers/base.py +++ b/python/kontor-cli/kontor/controllers/base.py @@ -1,5 +1,5 @@ -from cement import Controller, ex +from cement import Controller from cement.utils.version import get_version_banner from ..core.version import get_version diff --git a/python/kontor-cli/tests/test_kontor.py b/python/kontor-cli/tests/test_kontor.py index 3c1bd67..a005f30 100644 --- a/python/kontor-cli/tests/test_kontor.py +++ b/python/kontor-cli/tests/test_kontor.py @@ -1,5 +1,4 @@ -from pytest import raises from kontor.main import KontorTest def test_kontor(): diff --git a/python/tests/test_kontor.py b/python/tests/test_kontor.py index 3c1bd67..a005f30 100644 --- a/python/tests/test_kontor.py +++ b/python/tests/test_kontor.py @@ -1,5 +1,4 @@ -from pytest import raises from kontor.main import KontorTest def test_kontor(): diff --git a/scripts/copy_to_mariadb.py b/scripts/copy_to_mariadb.py index 38d0f24..059936a 100644 --- a/scripts/copy_to_mariadb.py +++ b/scripts/copy_to_mariadb.py @@ -2,7 +2,6 @@ copy data from SQLite to MariaDB """ import sqlite3 -import mariadb from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter from config import get_logger, get_database_cursors, get_meta_data, get_scripts diff --git a/scripts/json_to_mariadb.py b/scripts/json_to_mariadb.py index 9920998..22fa8be 100644 --- a/scripts/json_to_mariadb.py +++ b/scripts/json_to_mariadb.py @@ -3,7 +3,6 @@ copy data from SQLite to MariaDB """ from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter from pathlib import Path -from typing import Dict from config import get_logger, get_database_cursors import mariadb import json diff --git a/scripts/schema/admin.py b/scripts/schema/admin.py index 8dd33bd..c5b3e99 100644 --- a/scripts/schema/admin.py +++ b/scripts/schema/admin.py @@ -1,6 +1,6 @@ from datetime import datetime -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String +from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship, mapped_column, Mapped diff --git a/scripts/schema/bookshelf.py b/scripts/schema/bookshelf.py index ab0fe5a..91e0ae4 100644 --- a/scripts/schema/bookshelf.py +++ b/scripts/schema/bookshelf.py @@ -1,5 +1,4 @@ -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String -from sqlalchemy.dialects.mysql import BIT +from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.orm import relationship from .base import Base, BaseMixin diff --git a/scripts/schema/comic.py b/scripts/schema/comic.py index fe6ec19..1052d79 100644 --- a/scripts/schema/comic.py +++ b/scripts/schema/comic.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, DateTime, ForeignKey, Integer, String +from sqlalchemy import Column, ForeignKey, Integer, String from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/scripts/schema/media.py b/scripts/schema/media.py index 266fe48..d1c568f 100644 --- a/scripts/schema/media.py +++ b/scripts/schema/media.py @@ -5,7 +5,7 @@ from pathlib import Path import requests from bs4 import BeautifulSoup -from sqlalchemy import Column, DateTime, Integer, String, ForeignKey +from sqlalchemy import Column, String, ForeignKey from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/scripts/schema/metadata.py b/scripts/schema/metadata.py index f9538bb..950cebe 100644 --- a/scripts/schema/metadata.py +++ b/scripts/schema/metadata.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, String, ForeignKey, DateTime, Integer, Boolean +from sqlalchemy import Column, String, ForeignKey, Integer from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/scripts/schema/tysc.py b/scripts/schema/tysc.py index ef8bc5d..32c88f1 100644 --- a/scripts/schema/tysc.py +++ b/scripts/schema/tysc.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, DateTime, Integer, String, ForeignKey, UniqueConstraint +from sqlalchemy import Column, Integer, String, ForeignKey, UniqueConstraint from sqlalchemy.dialects.mysql import BIT from sqlalchemy.orm import relationship diff --git a/springboot/src/main/resources/META-INF/resources/icons/icon.png b/springboot/src/main/resources/META-INF/resources/icons/icon.png deleted file mode 100644 index 77bb2c9..0000000 Binary files a/springboot/src/main/resources/META-INF/resources/icons/icon.png and /dev/null differ