diff --git a/beat/web/code/api.py b/beat/web/code/api.py
index 696cd3aee67e3d01dbbbfa1b39f7acacafe083da..8d2a8724eac9c9e11da5f0074d10de54da225a09 100755
--- a/beat/web/code/api.py
+++ b/beat/web/code/api.py
@@ -30,7 +30,6 @@ from django.shortcuts import get_object_or_404
 from django.core.exceptions import ValidationError
 
 from rest_framework import generics
-from rest_framework import permissions
 from rest_framework.response import Response
 from rest_framework.exceptions import PermissionDenied, ParseError
 from rest_framework import serializers
@@ -45,13 +44,14 @@ from .serializers import CodeSharingSerializer, CodeSerializer
 
 import simplejson as json
 
+
 class ShareCodeView(ShareView):
     serializer_class = CodeSharingSerializer
 
     def do_share(self, obj, data):
-        users = data.get('users', None)
-        teams = data.get('teams', None)
-        public = data.get('status') == 'public'
+        users = data.get("users", None)
+        teams = data.get("teams", None)
+        public = data.get("status") == "public"
 
         obj.share(public=public, users=users, teams=teams)
 
@@ -63,34 +63,38 @@ class DiffView(generics.RetrieveAPIView):
     def get(self, request, author1, name1, version1, author2, name2, version2):
         # Retrieve the objects
         try:
-            object1 = self.model.objects.get(author__username__iexact=author1,
-                                             name__iexact=name1,
-                                             version=int(version1))
-        except:
-            return Response('%s/%s/%s' % (author1, name1, version1), status=404)
+            object1 = self.model.objects.get(
+                author__username__iexact=author1,
+                name__iexact=name1,
+                version=int(version1),
+            )
+        except Exception:
+            return Response("%s/%s/%s" % (author1, name1, version1), status=404)
 
         try:
-            object2 = self.model.objects.get(author__username__iexact=author2,
-                                             name__iexact=name2,
-                                             version=int(version2))
-        except:
-            return Response('%s/%s/%s' % (author2, name2, version2), status=404)
-
+            object2 = self.model.objects.get(
+                author__username__iexact=author2,
+                name__iexact=name2,
+                version=int(version2),
+            )
+        except Exception:
+            return Response("%s/%s/%s" % (author2, name2, version2), status=404)
 
         # Check that the user can access them
         has_access, open_source, _ = object1.accessibility_for(request.user)
-        if not ((request.user == object1.author) or \
-                (has_access and open_source)):
-            return ForbiddenResponse("You cannot access the source-code of \"%s\"" % object1.fullname())
+        if not ((request.user == object1.author) or (has_access and open_source)):
+            return ForbiddenResponse(
+                'You cannot access the source-code of "%s"' % object1.fullname()
+            )
 
         has_access, open_source, _ = object2.accessibility_for(request.user)
-        if not ((request.user == object2.author) or \
-                (has_access and open_source)):
-            return ForbiddenResponse("You cannot access the source-code of \"%s\"" % object2.fullname())
+        if not ((request.user == object2.author) or (has_access and open_source)):
+            return ForbiddenResponse(
+                'You cannot access the source-code of "%s"' % object2.fullname()
+            )
 
         # Compute the diff
-        serializer = self.get_serializer({'object1': object1,
-                                          'object2': object2})
+        serializer = self.get_serializer({"object1": object1, "object2": object2})
         return Response(serializer.data)
 
 
@@ -100,99 +104,120 @@ class RetrieveUpdateDestroyCodeView(RetrieveUpdateDestroyContributionView):
 
     def do_update(self, request, author_name, object_name, version=None):
         if version is None:
-            raise ValidationError({'version': 'A version number must be provided'})
+            raise ValidationError({"version": "A version number must be provided"})
 
         try:
             data = request.data
         except ParseError as e:
-            raise serializers.ValidationError({'data': str(e)})
+            raise serializers.ValidationError({"data": str(e)})
         else:
             if not data:
-                raise serializers.ValidationError({'data': 'Empty'})
-
-        if 'short_description' in data:
-            if not(isinstance(data['short_description'], six.string_types)):
-                raise ValidationError({'short_description': 'Invalid short_description data'})
-            short_description = data['short_description']
+                raise serializers.ValidationError({"data": "Empty"})
+
+        if "short_description" in data:
+            if not (isinstance(data["short_description"], six.string_types)):
+                raise ValidationError(
+                    {"short_description": "Invalid short_description data"}
+                )
+            short_description = data["short_description"]
         else:
             short_description = None
 
-        if 'description' in data:
-            if not(isinstance(data['description'], six.string_types)):
-                raise serializers.ValidationError({'description': 'Invalid description data'})
-            description = data['description']
+        if "description" in data:
+            if not (isinstance(data["description"], six.string_types)):
+                raise serializers.ValidationError(
+                    {"description": "Invalid description data"}
+                )
+            description = data["description"]
             try:
                 validate_restructuredtext(description)
             except ValidationError as errors:
-                raise serializers.ValidationError({'description': [error for error in errors]})
+                raise serializers.ValidationError(
+                    {"description": [error for error in errors]}
+                )
         else:
             description = None
 
-        if 'declaration' in data:
-            if isinstance(data['declaration'], dict):
-                json_declaration = data['declaration']
+        if "declaration" in data:
+            if isinstance(data["declaration"], dict):
+                json_declaration = data["declaration"]
                 declaration = json.dumps(json_declaration, indent=4)
-            elif isinstance(data['declaration'], six.string_types):
-                declaration = data['declaration']
+            elif isinstance(data["declaration"], six.string_types):
+                declaration = data["declaration"]
                 try:
                     json_declaration = json.loads(declaration)
-                except:
-                    raise serializers.ValidationError({'declaration': 'Invalid declaration data'})
+                except Exception:
+                    raise serializers.ValidationError(
+                        {"declaration": "Invalid declaration data"}
+                    )
             else:
-                raise serializers.ValidationError({'declaration': 'Invalid declaration data'})
+                raise serializers.ValidationError(
+                    {"declaration": "Invalid declaration data"}
+                )
 
-            if 'description' in json_declaration:
+            if "description" in json_declaration:
                 if short_description is not None:
-                    raise serializers.ValidationError({'short_description': 'A short description is already provided in the declaration'})
+                    raise serializers.ValidationError(
+                        {
+                            "short_description": "A short description is already provided in the declaration"
+                        }
+                    )
 
-                short_description = json_declaration['description']
+                short_description = json_declaration["description"]
             elif short_description is not None:
-                json_declaration['description'] = short_description
+                json_declaration["description"] = short_description
                 declaration = json.dumps(json_declaration, indent=4)
         else:
             declaration = None
             json_declaration = None
 
-        if (short_description is not None) and (len(short_description) > self.model._meta.get_field('short_description').max_length):
-            raise ValidationError({'short_description': 'Short description too long'})
+        if (short_description is not None) and (
+            len(short_description)
+            > self.model._meta.get_field("short_description").max_length
+        ):
+            raise ValidationError({"short_description": "Short description too long"})
 
-        if 'code' in data:
-            if not(isinstance(data['code'], six.string_types)):
-                raise ValidationError({'code': 'Invalid code data'})
-            code = data['code']
+        if "code" in data:
+            if not (isinstance(data["code"], six.string_types)):
+                raise ValidationError({"code": "Invalid code data"})
+            code = data["code"]
         else:
             code = None
 
         # Retrieve the object
-        db_object = get_object_or_404(self.model,
-                                      author__username__iexact=author_name,
-                                      name__iexact=object_name,
-                                      version=version)
+        db_object = get_object_or_404(
+            self.model,
+            author__username__iexact=author_name,
+            name__iexact=object_name,
+            version=version,
+        )
 
         # Check that the object can still be modified (if applicable, the
         # documentation can always be modified)
-        if ((declaration is not None) or (code is not None)) and \
-                not(db_object.modifiable()):
-            raise PermissionDenied("The {} isn't modifiable anymore (either shared with someone else, or needed by an attestation)".format(db_object.model_name()))
-
+        if ((declaration is not None) or (code is not None)) and not (
+            db_object.modifiable()
+        ):
+            raise PermissionDenied(
+                "The {} isn't modifiable anymore (either shared with someone else, or needed by an attestation)".format(
+                    db_object.model_name()
+                )
+            )
 
         # Modification of the documentation
         if (short_description is not None) and (declaration is None):
             tmp_declaration = db_object.declaration
-            tmp_declaration['description'] = short_description
+            tmp_declaration["description"] = short_description
             db_object.declaration = tmp_declaration
 
         if description is not None:
             db_object.description = description
 
-
         # Modification of the declaration
         modified = False
         if declaration is not None:
             db_object.declaration = declaration
             modified = True
 
-
         # Modification of the source code
         if code is not None:
             db_object.source_code = code
@@ -202,7 +227,6 @@ class RetrieveUpdateDestroyCodeView(RetrieveUpdateDestroyContributionView):
 
         return modified, db_object
 
-
     def get(self, request, *args, **kwargs):
         db_objects = self.get_queryset()
 
@@ -210,13 +234,15 @@ class RetrieveUpdateDestroyCodeView(RetrieveUpdateDestroyContributionView):
             return Response(status=404)
 
         db_object = db_objects[0]
-        version = int(self.kwargs.get('version', -1))
+        version = int(self.kwargs.get("version", -1))
 
         if version != -1 and db_object.version != version:
             return Response(status=404)
 
         # Check that the user can access it
-        (has_access, open_source, accessibility) = db_object.accessibility_for(request.user)
+        (has_access, open_source, accessibility) = db_object.accessibility_for(
+            request.user
+        )
 
         # Process the query string
         # Other available fields (not returned by default):
@@ -226,34 +252,40 @@ class RetrieveUpdateDestroyCodeView(RetrieveUpdateDestroyContributionView):
         #    - needed_dataformats
         #    - attestations
         fields_to_remove = []
-        if ((request.user != db_object.author) and not(open_source)) or db_object.is_binary():
-            fields_to_remove = ['code']
+        if (
+            (request.user != db_object.author) and not (open_source)
+        ) or db_object.is_binary():
+            fields_to_remove = ["code"]
 
-        fields_to_return = self.get_serializer_fields(request, allow_sharing=(request.user == db_object.author),
-                                                      exclude_fields=fields_to_remove)
+        fields_to_return = self.get_serializer_fields(
+            request,
+            allow_sharing=(request.user == db_object.author),
+            exclude_fields=fields_to_remove,
+        )
 
         serializer = self.get_serializer(db_object, fields=fields_to_return)
         return Response(serializer.data)
 
-
     def put(self, request, author_name, object_name, version=None):
-        (modified, db_object) = self.do_update(request, author_name, object_name, version)
+        (modified, db_object) = self.do_update(
+            request, author_name, object_name, version
+        )
 
         # Available fields (not returned by default):
         #    - html_description
-        if 'fields' in request.GET:
-            fields_to_return = request.GET['fields'].split(',')
+        if "fields" in request.GET:
+            fields_to_return = request.GET["fields"].split(",")
         else:
             return Response(status=204)
 
         result = {}
 
         # Retrieve the description in HTML format
-        if 'html_description' in fields_to_return:
+        if "html_description" in fields_to_return:
             description = db_object.description
             if len(description) > 0:
-                result['html_description'] = ensure_html(description)
+                result["html_description"] = ensure_html(description)
             else:
-                result['html_description'] = ''
+                result["html_description"] = ""
 
         return Response(result)