Předělání requirements.txt a dalších věcí do pyproject.toml #107
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