from collections import Counter
 
+
 class LabStatus(object):
     """
     A Poor man's enum for the status of a lab.
 
     def get_available_resources(self):
         # Cannot import model normally due to ciruclar import
-        Server = apps.get_model('resource_inventory', 'Server') # TODO: Find way to import ResourceQuery
+        Server = apps.get_model('resource_inventory', 'Server')  # TODO: Find way to import ResourceQuery
         resources = [str(resource.profile) for resource in Server.objects.filter(lab=self, booked=False)]
         return dict(Counter(resources))
 
 
             continue
         try:
             user.email = user_dict['emailAddress']
-        except:
+        except KeyError:
             pass
         user.userprofile.url = user_dict['self']
         user.userprofile.full_name = user_dict['displayName']
 
         email = ""
         try:
             email = jira.user(username).emailAddress
-        except:
+        except AttributeError:
             email = ""
         url = '/'
         # Step 3. Lookup the user or create them if they don't exist.
 
 # Generated by Django 2.2 on 2020-02-18 15:36
 
-from django.db import migrations, models
+from django.db import migrations
 
 
 class Migration(migrations.Migration):
 
 
     def format_user(self, userprofile):
         return {
-                    "id": userprofile.user.id,
-                    "username": userprofile.user.username,
-                    "email": userprofile.email_addr,
-                    "first_name": userprofile.user.first_name,
-                    "last_name": userprofile.user.last_name,
-                    "company": userprofile.company
+            "id": userprofile.user.id,
+            "username": userprofile.user.username,
+            "email": userprofile.email_addr,
+            "first_name": userprofile.user.first_name,
+            "last_name": userprofile.user.last_name,
+            "company": userprofile.company
         }
 
     def get_users(self):
 
         return JsonResponse(lab_manager.set_status(request.POST), safe=False)
     return JsonResponse(lab_manager.get_status(), safe=False)
 
+
 def lab_users(request, lab_name=""):
     lab_token = request.META.get('HTTP_AUTH_TOKEN')
     lab_manager = LabManagerTracker.get(lab_name, lab_token)
     return HttpResponse(lab_manager.get_users(), content_type="text/plain")
 
+
 def lab_user(request, lab_name="", user_id=-1):
     lab_token = request.META.get('HTTP_AUTH_TOKEN')
     lab_manager = LabManagerTracker.get(lab_name, lab_token)
 
             model_name='vlan',
             name='network',
             field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING,
-                to='resource_inventory.PhysicalNetwork', null=True),
+                                    to='resource_inventory.PhysicalNetwork', null=True),
         ),
     ]
 
 
 from django.conf import settings
 from django.forms import formset_factory
+from django.core.exceptions import ValidationError
 
 from typing import List
 
         # TODO: fix headnode in form, currently doesn't return a selected one
         # models['headnode_index'] = post_data.get("headnode", 1)
         formset = self.create_hostformset(hosts, data=post_data)
-        has_headnode = False
         if formset.is_valid():
             for i, form in enumerate(formset):
                 host = hosts[i]
                 image = form.cleaned_data['image']
                 hostname = form.cleaned_data['host_name']
                 headnode = form.cleaned_data['headnode']
-                if headnode:
-                    has_headnode = True
                 host.is_head_node = headnode
                 host.name = hostname
                 host.image = image