diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8f7c753..f4166bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,5 @@ stages: + - lint - build - deploy-dev - deploy-prod @@ -7,6 +8,13 @@ variables: SOLUTIONS_ROOT_EXTERNAL: "/sprint-data/data/solutions" DB_HOST: "postgres" +lint: + stage: lint + tags: + - main + script: + - mypy --ignore-missing-imports . + build: stage: build tags: diff --git a/SprintLib/BaseView.py b/SprintLib/BaseView.py index 4b1ea64..ec9758f 100644 --- a/SprintLib/BaseView.py +++ b/SprintLib/BaseView.py @@ -1,10 +1,11 @@ +from typing import Optional + from django.core.handlers.wsgi import WSGIRequest from django.http import HttpResponseRedirect from django.shortcuts import render from django.utils import timezone from SprintLib.EntityStorage import EntityStorage -from Main.models import * class AccessError(Exception): @@ -15,8 +16,8 @@ class BaseView: request: WSGIRequest = None context: dict = {} entities = EntityStorage() - required_login: bool = None - view_file: str = None + required_login: Optional[bool] = None + view_file: Optional[str] = None @classmethod def as_view(cls): @@ -33,6 +34,7 @@ class BaseView: return HttpResponseRedirect("/") request_method = request.method.lower() c.request = request + exec("from Main.models import *") for key in request.GET.keys(): if key.endswith("_id"): model_name = key.rstrip("_id") diff --git a/SprintLib/EntityStorage.py b/SprintLib/EntityStorage.py index e832113..b3c2e0b 100644 --- a/SprintLib/EntityStorage.py +++ b/SprintLib/EntityStorage.py @@ -1,5 +1,8 @@ +from django.db.models import Model + + class EntityStorage: - entities = {} + entities: dict[str, Model] = {} def add(self, name, entity): self.entities[name] = entity diff --git a/SprintLib/testers/CSharpTester.py b/SprintLib/testers/CSharpTester.py index 41742e1..17c372e 100644 --- a/SprintLib/testers/CSharpTester.py +++ b/SprintLib/testers/CSharpTester.py @@ -1,4 +1,4 @@ -from SprintLib.testers import BaseTester +from SprintLib.testers.BaseTester import BaseTester class CSharpTester(BaseTester): diff --git a/SprintLib/testers/CppTester.py b/SprintLib/testers/CppTester.py index 7033fc5..d5a7ffc 100644 --- a/SprintLib/testers/CppTester.py +++ b/SprintLib/testers/CppTester.py @@ -1,6 +1,4 @@ -from os import listdir - -from SprintLib.testers import BaseTester, TestException +from SprintLib.testers.BaseTester import BaseTester class CppTester(BaseTester): diff --git a/SprintLib/testers/GoTester.py b/SprintLib/testers/GoTester.py index 0ed1681..934a471 100644 --- a/SprintLib/testers/GoTester.py +++ b/SprintLib/testers/GoTester.py @@ -1,4 +1,4 @@ -from SprintLib.testers import BaseTester +from SprintLib.testers.BaseTester import BaseTester class GoTester(BaseTester): diff --git a/SprintLib/testers/JavaTester.py b/SprintLib/testers/JavaTester.py index 830e198..d4180f5 100644 --- a/SprintLib/testers/JavaTester.py +++ b/SprintLib/testers/JavaTester.py @@ -1,6 +1,6 @@ from os import listdir -from SprintLib.testers import BaseTester, TestException +from SprintLib.testers.BaseTester import BaseTester, TestException class JavaTester(BaseTester): diff --git a/SprintLib/testers/KotlinTester.py b/SprintLib/testers/KotlinTester.py index 07b2e7d..94f6b60 100644 --- a/SprintLib/testers/KotlinTester.py +++ b/SprintLib/testers/KotlinTester.py @@ -1,6 +1,6 @@ from os import listdir -from SprintLib.testers import BaseTester, TestException +from SprintLib.testers.BaseTester import BaseTester, TestException class KotlinTester(BaseTester): diff --git a/SprintLib/testers/__init__.py b/SprintLib/testers/__init__.py index cf0c9a2..cd44294 100644 --- a/SprintLib/testers/__init__.py +++ b/SprintLib/testers/__init__.py @@ -1,7 +1,7 @@ -from .BaseTester import * -from .Python3Tester import * -from .CppTester import * -from .GoTester import * -from .JavaTester import * -from .CSharpTester import * -from .KotlinTester import * +from .BaseTester import BaseTester +from .Python3Tester import Python3Tester +from .CppTester import CppTester +from .GoTester import GoTester +from .JavaTester import JavaTester +from .CSharpTester import CSharpTester +from .KotlinTester import KotlinTester