Skip to content
Snippets Groups Projects
Commit 5179668e authored by Samuel GAIST's avatar Samuel GAIST Committed by Samuel GAIST
Browse files

[dataformats][serializers] Pre-commit cleanup

parent fa593ead
No related branches found
No related tags found
No related merge requests found
This commit is part of merge request !327. Comments created here will be created in the context of that merge request.
......@@ -27,7 +27,12 @@
from rest_framework import serializers
from ..common.serializers import ContributionSerializer, VersionableSerializer, DynamicFieldsSerializer, ContributionCreationSerializer
from ..common.serializers import (
ContributionSerializer,
VersionableSerializer,
DynamicFieldsSerializer,
ContributionCreationSerializer,
)
from ..algorithms.models import Algorithm
from ..databases.models import Database, DatabaseSet
......@@ -36,7 +41,7 @@ from .models import DataFormat
import beat.core.dataformat
#----------------------------------------------------------
# ----------------------------------------------------------
class DataFormatCreationSerializer(ContributionCreationSerializer):
......@@ -45,7 +50,7 @@ class DataFormatCreationSerializer(ContributionCreationSerializer):
beat_core_class = beat.core.dataformat
#----------------------------------------------------------
# ----------------------------------------------------------
class BaseSerializer(DynamicFieldsSerializer):
......@@ -53,37 +58,37 @@ class BaseSerializer(DynamicFieldsSerializer):
accessibility = serializers.SerializerMethodField()
class Meta(DynamicFieldsSerializer.Meta):
fields = '__all__'
default_fields = ['name', 'short_description', 'accessibility']
fields = "__all__"
default_fields = ["name", "short_description", "accessibility"]
def get_accessibility(self, obj):
return obj.get_sharing_display().lower()
#----------------------------------------------------------
# ----------------------------------------------------------
class ReferencedDataFormatSerializer(BaseSerializer):
class Meta(BaseSerializer.Meta):
model = DataFormat
default_fields = BaseSerializer.Meta.default_fields + ['creation_date']
default_fields = BaseSerializer.Meta.default_fields + ["creation_date"]
#----------------------------------------------------------
# ----------------------------------------------------------
class ReferencingSerializer(BaseSerializer):
is_owner = serializers.SerializerMethodField()
class Meta(BaseSerializer.Meta):
default_fields = BaseSerializer.Meta.default_fields + ['is_owner', 'version',]
default_fields = BaseSerializer.Meta.default_fields + ["is_owner", "version"]
def get_is_owner(self, obj):
if hasattr(obj, 'author'):
return obj.author == self.context.get('user')
if hasattr(obj, "author"):
return obj.author == self.context.get("user")
#----------------------------------------------------------
# ----------------------------------------------------------
class ReferencingDataFormatSerializer(ReferencingSerializer):
......@@ -91,7 +96,7 @@ class ReferencingDataFormatSerializer(ReferencingSerializer):
model = DataFormat
#----------------------------------------------------------
# ----------------------------------------------------------
class ReferencingAlgorithmSerializer(ReferencingSerializer):
......@@ -99,59 +104,78 @@ class ReferencingAlgorithmSerializer(ReferencingSerializer):
model = Algorithm
#----------------------------------------------------------
# ----------------------------------------------------------
class ReferencingDatabaseSerializer(VersionableSerializer):
class Meta:
model = Database
default_fields = ['name', 'short_description']
default_fields = ["name", "short_description"]
#----------------------------------------------------------
# ----------------------------------------------------------
class DataFormatSerializer(ContributionSerializer):
extend = serializers.SerializerMethodField()
referenced_dataformats = ReferencedDataFormatSerializer(many=True, source="referenced_formats")
needed_dataformats = ReferencedDataFormatSerializer(many=True, source='all_needed_dataformats')
referenced_dataformats = ReferencedDataFormatSerializer(
many=True, source="referenced_formats"
)
needed_dataformats = ReferencedDataFormatSerializer(
many=True, source="all_needed_dataformats"
)
referencing_dataformats = serializers.SerializerMethodField()
referencing_algorithms = serializers.SerializerMethodField()
referencing_databases = serializers.SerializerMethodField()
class Meta(ContributionSerializer.Meta):
model = DataFormat
default_fields = ContributionSerializer.Meta.default_fields + ['extend']
default_fields = ContributionSerializer.Meta.default_fields + ["extend"]
def get_extend(self, obj):
return obj.extend.fullname() if obj.extend else None
def get_referencing_dataformats(self, obj):
user = self.context.get('user')
user = self.context.get("user")
dataformats = obj.referencing.for_user(user, True)
serializer = ReferencingDataFormatSerializer(dataformats, many=True, context=self.context)
serializer = ReferencingDataFormatSerializer(
dataformats, many=True, context=self.context
)
return serializer.data
def get_referencing_algorithms(self, obj):
user = self.context.get('user')
algorithms = Algorithm.objects.for_user(user, True).filter(endpoints=obj.algorithm_endpoints.all()).distinct()
serializer = ReferencingAlgorithmSerializer(algorithms, many=True, context=self.context)
user = self.context.get("user")
algorithms = (
Algorithm.objects.for_user(user, True)
.filter(endpoints=obj.algorithm_endpoints.all())
.distinct()
)
serializer = ReferencingAlgorithmSerializer(
algorithms, many=True, context=self.context
)
return serializer.data
def get_referencing_databases(self, obj):
databaseset = DatabaseSet.objects.filter(template__outputs=obj.database_outputs.distinct())
databases = Database.objects.filter(protocols__sets=databaseset).distinct().order_by('name')
serializer = ReferencingDatabaseSerializer(databases, many=True, context=self.context)
databaseset = DatabaseSet.objects.filter(
template__outputs=obj.database_outputs.distinct()
)
databases = (
Database.objects.filter(protocols__sets=databaseset)
.distinct()
.order_by("name")
)
serializer = ReferencingDatabaseSerializer(
databases, many=True, context=self.context
)
return serializer.data
#----------------------------------------------------------
# ----------------------------------------------------------
class FullDataFormatSerializer(DataFormatSerializer):
class Meta(DataFormatSerializer.Meta):
default_fields = DataFormatSerializer.Meta.default_fields + DataFormatSerializer.Meta.extra_fields
default_fields = (
DataFormatSerializer.Meta.default_fields
+ DataFormatSerializer.Meta.extra_fields
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment