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