Předělání requirements na pyproject
This commit is contained in:
parent
51cb82a9ea
commit
3aa533b452
6 changed files with 1321 additions and 55 deletions
1
.python-version
Normal file
1
.python-version
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
3.11
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
# TODO
|
|
||||||
61
pyproject.toml
Normal file
61
pyproject.toml
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
[project]
|
||||||
|
name = "mamweb"
|
||||||
|
version = "3.0.0"
|
||||||
|
description = "Web pro seminář M&M"
|
||||||
|
readme = "README.md"
|
||||||
|
requires-python = ">=3.11"
|
||||||
|
dependencies = [
|
||||||
|
"setuptools", # django-polymorphic má rozbité dependencies
|
||||||
|
|
||||||
|
# basic libs
|
||||||
|
"psycopg2", # PostgreSQL adaptér
|
||||||
|
"ipython", # Interaktivní shell
|
||||||
|
"Unidecode", # Přepisuje unicode do ASCII (např. soubory nebo e-maily)
|
||||||
|
"Pillow",
|
||||||
|
"pilkit>=3.0", # Kvůli kompatibilitě s Pillow>=10.0.0
|
||||||
|
|
||||||
|
# Django and modules
|
||||||
|
|
||||||
|
"Django<5.0",
|
||||||
|
"django-reversion", # Version control na datech v databázi
|
||||||
|
"django-countries", # Políčko ve formu / field v modelu ohledně států
|
||||||
|
"django-solo", # Singleton model (speciálně Nastavení)
|
||||||
|
"django-ckeditor-5", # Editor htmlka (hlavně v adminu u flatpages)
|
||||||
|
"django-cleanup", # Uklízí media/ od smazaných „databázových“ souborů
|
||||||
|
"django-taggit", # Taggy v djangu (speciálně zaměření problémů)
|
||||||
|
"django-autocomplete-light>=3.9.0,<3.12.0", # Automatické doplňování (problémů, účastníků, …) ve formulářích
|
||||||
|
"django-imagekit", # Všechny možné obrázky v Djangu
|
||||||
|
"django-polymorphic", # Polymorfismus na django modelech (hlavně Problém nebo treenode)
|
||||||
|
"django-sitetree", # Struktura stránek, hlavně pro meníčko
|
||||||
|
"django_reverse_admin", # Lepší handlování OneToOne fieldů v adminu
|
||||||
|
"django-rest-framework",
|
||||||
|
"django-webpack-loader",
|
||||||
|
"django-rest-polymorphic",
|
||||||
|
"django-colorfield", # Field pro ukládání barvy (např. tagy v korekturovátku)
|
||||||
|
]
|
||||||
|
|
||||||
|
[dependency-groups]
|
||||||
|
dev = [
|
||||||
|
# Potřeba pro test data
|
||||||
|
|
||||||
|
"lorem",
|
||||||
|
|
||||||
|
# debug tools/extensions
|
||||||
|
|
||||||
|
"django-debug-toolbar",
|
||||||
|
"django-extensions",
|
||||||
|
"sqlparse",
|
||||||
|
"Werkzeug",
|
||||||
|
|
||||||
|
# Stahování škol v testech
|
||||||
|
|
||||||
|
"requests",
|
||||||
|
]
|
||||||
|
|
||||||
|
# pro dokumentaci
|
||||||
|
doc = [
|
||||||
|
"myst-parser",
|
||||||
|
"sphinx",
|
||||||
|
"sphinx-rtd-theme",
|
||||||
|
"sphinxcontrib-django",
|
||||||
|
]
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
-c constraints.txt
|
|
||||||
setuptools # django-polymorphic má rozbité dependencies
|
|
||||||
|
|
||||||
# basic libs
|
|
||||||
psycopg2 # PostgreSQL adaptér
|
|
||||||
ipython # Interaktivní shell
|
|
||||||
Unidecode # Přepisuje unicode do ASCII (např. soubory nebo e-maily)
|
|
||||||
Pillow
|
|
||||||
pilkit>=3.0 # Kvůli kompatibilitě s Pillow>=10.0.0
|
|
||||||
|
|
||||||
# Django and modules
|
|
||||||
|
|
||||||
Django<5.0
|
|
||||||
django-reversion # Version control na datech v databázi
|
|
||||||
django-countries # Políčko ve formu / field v modelu ohledně států
|
|
||||||
django-solo # Singleton model (speciálně Nastavení)
|
|
||||||
django-ckeditor-5 # Editor htmlka (hlavně v adminu u flatpages)
|
|
||||||
django-cleanup # Uklízí media/ od smazaných „databázových“ souborů
|
|
||||||
django-taggit # Taggy v djangu (speciálně zaměření problémů)
|
|
||||||
django-autocomplete-light>=3.9.0,<3.12.0 # Automatické doplňování (problémů, účastníků, …) ve formulářích
|
|
||||||
django-imagekit # Všechny možné obrázky v Djangu
|
|
||||||
django-polymorphic # Polymorfismus na django modelech (hlavně Problém nebo treenode)
|
|
||||||
django-sitetree # Struktura stránek, hlavně pro meníčko
|
|
||||||
django_reverse_admin # Lepší handlování OneToOne fieldů v adminu
|
|
||||||
django-rest-framework
|
|
||||||
django-webpack-loader
|
|
||||||
django-rest-polymorphic
|
|
||||||
django-colorfield # Field pro ukládání barvy (např. tagy v korekturovátku)
|
|
||||||
|
|
||||||
# debug tools/extensions
|
|
||||||
|
|
||||||
django-debug-toolbar
|
|
||||||
django-extensions
|
|
||||||
sqlparse
|
|
||||||
Werkzeug
|
|
||||||
|
|
||||||
# G+, FB authorisation
|
|
||||||
|
|
||||||
# django-allauth
|
|
||||||
# oauthlib
|
|
||||||
# python-openid
|
|
||||||
requests
|
|
||||||
# requests-oauthlib
|
|
||||||
|
|
||||||
# Potřeba pro test data
|
|
||||||
|
|
||||||
lorem
|
|
||||||
|
|
||||||
# pro dokumentaci
|
|
||||||
|
|
||||||
sphinx
|
|
||||||
sphinx_rtd_theme
|
|
||||||
sphinxcontrib-django
|
|
||||||
myst_parser
|
|
||||||
48
tests.py
Normal file
48
tests.py
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
from django.test import TestCase
|
||||||
|
import seminar.models as m
|
||||||
|
from vysledkovky.utils import VysledkovkaRocniku, VysledkovkaCisla
|
||||||
|
from .testutils import create_resitel
|
||||||
|
|
||||||
|
|
||||||
|
class VysledkovkaCislaTestCase(TestCase):
|
||||||
|
@classmethod
|
||||||
|
def setUpTestData(cls):
|
||||||
|
cls.rocnik1 = m.Rocnik.objects.create(prvni_rok=1, rocnik=1)
|
||||||
|
cls.rocnik25 = m.Rocnik.objects.create(prvni_rok=25, rocnik=25)
|
||||||
|
cls.rocnik26 = m.Rocnik.objects.create(prvni_rok=21, rocnik=26)
|
||||||
|
|
||||||
|
cls.cisla1 = [
|
||||||
|
m.Cislo.objects.create(rocnik=cls.rocnik1, poradi=i,)
|
||||||
|
for i in range(5)
|
||||||
|
]
|
||||||
|
|
||||||
|
m.Deadline.objects.create(cislo=cls.cisla1[0], verejna_vysledkovka=True)
|
||||||
|
m.Deadline.objects.create(cislo=cls.cisla1[0], verejna_vysledkovka=True)
|
||||||
|
|
||||||
|
cls.resitele = [create_resitel() for _ in range(10)]
|
||||||
|
|
||||||
|
cls.tema = m.Tema.objects.create(
|
||||||
|
rocnik=cls.rocnik1,
|
||||||
|
stav=m.Problem.STAV_ZADANY,
|
||||||
|
)
|
||||||
|
|
||||||
|
cls.uloha_tematu = m.Uloha.objects.create(
|
||||||
|
nadproblem=cls.tema,
|
||||||
|
stav=m.Problem.STAV_ZADANY,
|
||||||
|
)
|
||||||
|
|
||||||
|
cls.uloha = m.Uloha.objects.create(
|
||||||
|
stav=m.Problem.STAV_ZADANY,
|
||||||
|
)
|
||||||
|
|
||||||
|
cls.reseni = m.Reseni.objects.create()
|
||||||
|
|
||||||
|
# for resitel in cls.resitele[:5]:
|
||||||
|
# m.Reseni_Resitele(resitel=resitel, reseni=cls.reseni)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def test_cisla_rocniku(self):
|
||||||
|
vysledkovka_rocniku = VysledkovkaRocniku(self.rocnik1)
|
||||||
|
|
||||||
|
self.assertListEqual(vysledkovka_rocniku.cisla_rocniku, [self.cisla1[0]])
|
||||||
Loading…
Reference in a new issue