Skip to content

Commit e0946c4

Browse files
committed
Move permissions to own module to avoid circular imports
1 parent 574866d commit e0946c4

File tree

8 files changed

+19
-24
lines changed

8 files changed

+19
-24
lines changed

Diff for: pydatalab/pydatalab/blocks/__init__.py

+8-14
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Dict, Sequence, Type
1+
from typing import TYPE_CHECKING, Dict, Sequence, Type
22

33
# These app imports will be replaced by dynamic plugins in a future version
44
from pydatalab.apps.chat.blocks import ChatBlock
@@ -8,17 +8,13 @@
88
from pydatalab.apps.raman import RamanBlock
99
from pydatalab.apps.tga import MassSpecBlock
1010
from pydatalab.apps.xrd import XRDBlock
11-
from pydatalab.blocks.base import (
12-
DataBlock,
13-
)
14-
from pydatalab.blocks.common import (
15-
CommentBlock,
16-
MediaBlock,
17-
NotSupportedBlock,
18-
)
1911

20-
BLOCKS: Sequence[Type[DataBlock]] = (
21-
DataBlock,
12+
if TYPE_CHECKING:
13+
from pydatalab.blocks.base import DataBlock
14+
15+
from pydatalab.blocks.common import CommentBlock, MediaBlock, NotSupportedBlock
16+
17+
BLOCKS: Sequence[Type["DataBlock"]] = (
2218
CommentBlock,
2319
MediaBlock,
2420
XRDBlock,
@@ -31,11 +27,9 @@
3127
EISBlock,
3228
)
3329

34-
BLOCK_TYPES: Dict[str, Type[DataBlock]] = {block.blocktype: block for block in BLOCKS}
35-
BLOCK_TYPES["test"] = DataBlock
30+
BLOCK_TYPES: Dict[str, Type["DataBlock"]] = {block.blocktype: block for block in BLOCKS}
3631

3732
__all__ = (
38-
"DataBlock",
3933
"CommentBlock",
4034
"MediaBlock",
4135
"XRDBlock",

Diff for: pydatalab/pydatalab/file_utils.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from pydatalab.models import File
1616
from pydatalab.models.utils import PyObjectId
1717
from pydatalab.mongo import flask_mongo
18-
from pydatalab.routes.utils import get_default_permissions
18+
from pydatalab.permissions import get_default_permissions
1919

2020
FILE_DIRECTORY = CONFIG.FILE_DIRECTORY
2121
DIRECTORIES_DICT = {fs.name: fs for fs in CONFIG.REMOTE_FILESYSTEMS}
@@ -302,7 +302,7 @@ def save_uploaded_file(
302302
last_modified should be an isodate format. if last_modified is None, the current time will be inserted
303303
"""
304304

305-
from pydatalab.routes.utils import get_default_permissions
305+
from pydatalab.permissions import get_default_permissions
306306

307307
sample_collection = flask_mongo.db.items
308308
file_collection = flask_mongo.db.files
@@ -388,7 +388,7 @@ def save_uploaded_file(
388388

389389

390390
def add_file_from_remote_directory(file_entry, item_id, block_ids=None):
391-
from pydatalab.routes.utils import get_default_permissions
391+
from pydatalab.permissions import get_default_permissions
392392

393393
file_collection = flask_mongo.db.files
394394
sample_collection = flask_mongo.db.items
@@ -504,7 +504,7 @@ def remove_file_from_sample(item_id: Union[str, ObjectId], file_id: Union[str, O
504504
file_id: The database ID of the file to remove from the item.
505505
506506
"""
507-
from pydatalab.routes.utils import get_default_permissions
507+
from pydatalab.permissions import get_default_permissions
508508

509509
item_id, file_id = ObjectId(item_id), ObjectId(file_id)
510510
sample_collection = flask_mongo.db.items
File renamed without changes.

Diff for: pydatalab/pydatalab/routes/v0_1/blocks.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@
22

33
from flask import jsonify, request
44

5-
from pydatalab.blocks import BLOCK_TYPES, DataBlock
5+
from pydatalab.blocks import BLOCK_TYPES
6+
from pydatalab.blocks.base import DataBlock
67
from pydatalab.logger import LOGGER
78
from pydatalab.mongo import flask_mongo
8-
from pydatalab.routes.utils import get_default_permissions
9+
from pydatalab.permissions import get_default_permissions
910

1011

1112
def add_data_block():

Diff for: pydatalab/pydatalab/routes/v0_1/collections.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from pydatalab.logger import logged_route
1111
from pydatalab.models.collections import Collection
1212
from pydatalab.mongo import flask_mongo
13-
from pydatalab.routes.utils import get_default_permissions
13+
from pydatalab.permissions import get_default_permissions
1414
from pydatalab.routes.v0_1.items import creators_lookup, get_samples_summary
1515

1616
collection = Blueprint("collections", __name__)

Diff for: pydatalab/pydatalab/routes/v0_1/files.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import pydatalab.mongo
1212
from pydatalab import file_utils
1313
from pydatalab.config import CONFIG
14-
from pydatalab.routes.utils import get_default_permissions
14+
from pydatalab.permissions import get_default_permissions
1515

1616

1717
def get_file(file_id: str, filename: str):

Diff for: pydatalab/pydatalab/routes/v0_1/graphs.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from flask import jsonify, request
44

55
from pydatalab.mongo import flask_mongo
6-
from pydatalab.routes.utils import get_default_permissions
6+
from pydatalab.permissions import get_default_permissions
77

88

99
def get_graph_cy_format(item_id: Optional[str] = None, collection_id: Optional[str] = None):

Diff for: pydatalab/pydatalab/routes/v0_1/items.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from pydatalab.models.relationships import RelationshipType
1717
from pydatalab.models.utils import generate_unique_refcode
1818
from pydatalab.mongo import flask_mongo
19-
from pydatalab.routes.utils import get_default_permissions
19+
from pydatalab.permissions import get_default_permissions
2020

2121

2222
def reserialize_blocks(display_order: List[str], blocks_obj: Dict[str, Dict]) -> Dict[str, Dict]:

0 commit comments

Comments
 (0)