From 3e6e617751338be45527de19a55e8f7a8da1fc78 Mon Sep 17 00:00:00 2001 From: Samuel Gaist <samuel.gaist@idiap.ch> Date: Wed, 8 Apr 2020 15:24:48 +0200 Subject: [PATCH] [common][serializers] Improve create validate readability --- beat/web/common/serializers.py | 66 +++++++++++++++++----------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/beat/web/common/serializers.py b/beat/web/common/serializers.py index a829de03a..a404df168 100644 --- a/beat/web/common/serializers.py +++ b/beat/web/common/serializers.py @@ -354,85 +354,85 @@ class ContributionCreationSerializer(serializers.ModelSerializer): if "previous_version" in data: if self.Meta.beat_core_class is not None: - previous_version_id = self.Meta.beat_core_class.Storage( + previous_version_asset = self.Meta.beat_core_class.Storage( settings.PREFIX, data["previous_version"] ) - if previous_version_id.username is None: - previous_version_id.username = user.username + if previous_version_asset.username is None: + previous_version_asset.username = user.username else: - previous_version_id = MapDot() - previous_version_id["username"] = user.username - previous_version_id["name"] = name - previous_version_id["version"] = data["previous_version"] + previous_version_asset = MapDot() + previous_version_asset["username"] = user.username + previous_version_asset["name"] = name + previous_version_asset["version"] = data["previous_version"] data["data"] = json.dumps(data["data"]) else: - previous_version_id = None + previous_version_asset = None if "fork_of" in data: if self.Meta.beat_core_class is not None: - fork_of_id = self.Meta.beat_core_class.Storage( + fork_of_asset = self.Meta.beat_core_class.Storage( settings.PREFIX, data["fork_of"] ) - if fork_of_id.username is None: - fork_of_id.username = user.username + if fork_of_asset.username is None: + fork_of_asset.username = user.username else: - fork_of_id = MapDot() + fork_of_asset = MapDot() fork_elem = data["fork_of"] - fork_of_id["username"] = fork_elem["username"] - fork_of_id["name"] = fork_elem["name"] - fork_of_id["version"] = fork_elem["version"] + fork_of_asset["username"] = fork_elem["username"] + fork_of_asset["name"] = fork_elem["name"] + fork_of_asset["version"] = fork_elem["version"] data["data"] = json.dumps(data["data"]) else: - fork_of_id = None + fork_of_asset = None # Retrieve the previous version (if applicable) - if previous_version_id is not None: + if previous_version_asset is not None: try: previous_version = self.Meta.model.objects.get( - author__username__iexact=previous_version_id.username, - name=previous_version_id.name, - version=previous_version_id.version, + author__username__iexact=previous_version_asset.username, + name=previous_version_asset.name, + version=previous_version_asset.version, ) except self.Meta.model.DoesNotExist: raise serializers.ValidationError( "{} '{}' not found".format( - self.Meta.model.__name__, previous_version_id.fullname + self.Meta.model.__name__, previous_version_asset.fullname ) ) - is_accessible = previous_version.accessibility_for(user) - if not is_accessible[0]: + has_access, _, _ = previous_version.accessibility_for(user) + if not has_access: raise serializers.ValidationError("No access allowed") data["previous_version"] = previous_version # Retrieve the forked algorithm (if applicable) - if fork_of_id is not None: + if fork_of_asset is not None: try: fork_of = self.Meta.model.objects.get( - author__username__iexact=fork_of_id.username, - name=fork_of_id.name, - version=fork_of_id.version, + author__username__iexact=fork_of_asset.username, + name=fork_of_asset.name, + version=fork_of_asset.version, ) except self.Meta.model.DoesNotExist: raise serializers.ValidationError( "{} '{}' not found".format( - self.Meta.model.__name__, fork_of_id.fullname + self.Meta.model.__name__, fork_of_asset.fullname ) ) - is_accessible = fork_of.accessibility_for(user) - if not is_accessible[0]: + has_access, _, _ = fork_of.accessibility_for(user) + if not has_access: raise serializers.ValidationError("No access allowed") data["fork_of"] = fork_of # Determine the version number last_version = None - if previous_version_id is not None: - if (previous_version_id.username == user.username) and ( - previous_version_id.name == name + if previous_version_asset is not None: + if (previous_version_asset.username == user.username) and ( + previous_version_asset.name == name ): last_version = self.Meta.model.objects.filter( author=user, name=name -- GitLab