Verified Commit 9125a6e3 authored by Peter Stanko's avatar Peter Stanko
Browse files

Major gitlab refactor

parent 3d8676b8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@ from management.data.data_test import init_test_data
from portal import logger
from portal.database.models import Course, Role, Secret, Submission, SubmissionState, User
from portal.service.find import FindService
from portal.service.services_collection import ServicesCollection
from portal.service.users import UserService
from portal.tools import time

@@ -31,7 +30,8 @@ class DataManagement:
        self.app = app
        self.db = db
        self.creator = shared.DataFactory(self.db)
        self.services = ServicesCollection()
        from portal.service.services_collection import SERVICES
        self.services = SERVICES

    @property
    def find(self):
+6 −0
Original line number Diff line number Diff line
@@ -126,7 +126,13 @@ def create_app(environment: str = None):
    configure_storage(app)
    configure_extensions(app)
    configure_async(app)

    if app.config.get('GITLAB_URL') and app.config.get('GITLAB_CLIENT_ID'):
        import portal.rest.gitlab
        rest.gitlab.register_gitlab_app(app)

    rest.register_namespaces(app)

    return app


+5 −5
Original line number Diff line number Diff line
from portal.database import Submission, SubmissionState
from portal.service.services_collection import ServicesCollection
from portal.service.services_collection import ServicesCollection, SERVICES
from portal.tools import time


class AsyncManager:
    def __init__(self):
        self._rest = ServicesCollection()
        self._services = SERVICES

    @property
    def rest(self) -> ServicesCollection:
        return self._rest
    def services(self) -> ServicesCollection:
        return self._services

    def abort_submissions_sched_exceeded(self, limit):
        self.abort_submission_any_exceeded(limit=limit, state=SubmissionState.READY,
@@ -32,7 +32,7 @@ class AsyncManager:

    def _abort_submission(self, sub: Submission, message):
        sub.abort(message=message)
        self.rest.submissions.write_entity(sub)
        self.services.submissions.write_entity(sub)

    def abort_submission_any_exceeded(self, limit, state, param, msg_add: str, msg=None):
        msg = msg or "Submission has not been processed in time limit: "
+4 −4
Original line number Diff line number Diff line
@@ -28,13 +28,13 @@ def abort_non_proc_submissions(**kwargs):

@celery_app.task
def delete_cancelled_submissions():
    from portal.service.services_collection import ServicesCollection
    subm_service = ServicesCollection().submissions
    from portal.service.services_collection import SERVICES
    subm_service = SERVICES.submissions
    subm_service.delete_cancelled_submissions()


@celery_app.task
def archive_submissions_in_arch_project():
    from portal.service.services_collection import ServicesCollection
    subm_service = ServicesCollection().submissions
    from portal.service.services_collection import SERVICES
    subm_service = SERVICES.submissions
    subm_service.archive_submissions()
+1 −1
Original line number Diff line number Diff line
@@ -52,7 +52,7 @@ class Config(object):

    # Gitlab config
    GITLAB_BASE_DOMAIN = os.getenv('GITLAB_BASE_DOMAIN', "gitlab.fi.muni.cz")
    GITLAB_PRIVATE_TOKEN = os.getenv('GITLAB_PRIVATE_TOKEN')
    GITLAB_PRIVATE_TOKEN = os.getenv('GITLAB_KONTR_TOKEN')
    GITLAB_KONTR_USERNAME = os.getenv('GITLAB_KONTR_USERNAME')
    GIT_REPO_BASE = os.getenv('GIT_REPO_BASE', f"git@{GITLAB_BASE_DOMAIN}")
    GITLAB_URL = os.getenv('GITLAB_URL', None)
Loading