Unverified Commit 829b5286 authored by Peter Stanko's avatar Peter Stanko
Browse files

Storage moved and merged to a portal

parent cb89ca8f
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -9,7 +9,6 @@ flask-sqlalchemy = "*"
marshmallow = "*"
flask-jwt-extended = "*"
marshmallow-enum = "*"
storage = {editable = true,ref = "master",git = "https://gitlab.fi.muni.cz/grp-kontr2/kontr-storage-module.git"}
gitpython = "*"
pyopenssl = "*"
gunicorn = "*"
+187 −179

File changed.

Preview size limit exceeded, changes collapsed.

+4 −4
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ from pathlib import Path

from flask_sqlalchemy import SQLAlchemy

from portal import logger, storage
from portal import logger, storage_wrapper
from portal.database.models import Course, Group, Project, ReviewItem, Role, Submission, User, \
    Worker
from portal.tools import time
@@ -160,16 +160,16 @@ class DataFactory(object):
        log.debug(f"[CREATE] Project config: {project.log_name}: {config}")
        project.set_config(**config)
        self.session.flush()
        test_path = storage.test_files.path / project.id
        test_path = storage_wrapper.test_files.path / project.id
        shutil.copytree(str(TESTS_DIR), str(test_path))
        return project

    def create_submission(self, project, user, **kwargs):
        submission = self.__create_entity(Submission, project=project, user=user, **kwargs)
        self.session.flush()
        subm_path = storage.submissions.path / submission.id
        subm_path = storage_wrapper.submissions.path / submission.id
        shutil.copytree(str(SOURCES_DIR), str(subm_path))
        res_path = storage.results.path / submission.id
        res_path = storage_wrapper.results.path / submission.id
        shutil.copytree(str(RESULTS_DIR), str(res_path))
        return submission

+3 −3
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ from flask_jwt_extended import JWTManager
from flask_migrate import Migrate
from authlib.flask.client import OAuth
from flask_sqlalchemy import SQLAlchemy
from storage import Storage
from portal.storage import Storage

from portal import logger, rest
from portal.config import CONFIGURATIONS
@@ -26,7 +26,7 @@ db = SQLAlchemy()
jwt = JWTManager()
oauth = OAuth()
cors = CORS(supports_credentials=True)
storage = Storage()
storage_wrapper = Storage()
migrate = Migrate(db=db)
gitlab_factory = GitlabFactory()
ldap_wrapper = LDAPWrapper()
@@ -86,7 +86,7 @@ def configure_storage(app: Flask) -> Flask:
        workspace_dir=app.config.get('PORTAL_STORAGE_WORKSPACE_DIR'),
        results_dir=app.config.get('PORTAL_STORAGE_RESULTS_DIR')
    )
    storage.init_storage(**storage_config)
    storage_wrapper.init_storage(**storage_config)
    return app


+3 −4
Original line number Diff line number Diff line
@@ -3,12 +3,11 @@ import secrets
from pathlib import Path
from typing import Optional

from storage import UploadedEntity, entities

from portal import logger
from portal.database import Project, Submission, SubmissionState, Worker
from portal.database.models import WorkerState
from portal.service import errors
from portal.storage import UploadedEntity, entities

log = logger.get_logger(__name__)

@@ -39,8 +38,8 @@ class SubmissionProcessor:

    @property
    def storage(self):
        from portal import storage
        return storage
        from portal import storage_wrapper
        return storage_wrapper

    def reset_task_id(self, state=None):
        if state is not None:
Loading