diff --git a/api/auth/containerauth.py b/api/auth/containerauth.py
index a5b79b6017eb5f998e7c69289470623311085bc7..3b28b3ae34924b66ffc325b708f850e7fc06cbbf 100644
--- a/api/auth/containerauth.py
+++ b/api/auth/containerauth.py
@@ -87,7 +87,7 @@ def collection_permissions(handler, container=None):
 
 
 
-def public_request(handler, container=None, parent_container=None):
+def public_request(handler, container=None):
     """
     For public requests we allow only GET operations on containers marked as public.
     """
diff --git a/api/dao/containerutil.py b/api/dao/containerutil.py
index 160754d451f8a55dd43ef350f81257c4ec7fe2d7..33619704a4e408eb1588298e7f91ee673615a895 100644
--- a/api/dao/containerutil.py
+++ b/api/dao/containerutil.py
@@ -38,6 +38,9 @@ def add_id_to_subject(subject, pid):
 
 
 class ContainerReference(object):
+    # pylint: disable=redefined-builtin
+    # TODO: refactor to resolve pylint warning
+
     def __init__(self, type, id):
         if type not in CONT_TYPES:
             raise Exception('Container type must be one of {}'.format(CONT_TYPES))
@@ -87,11 +90,7 @@ class ContainerReference(object):
 
 class FileReference(ContainerReference):
     def __init__(self, type, id, name):
-        if type not in CONT_TYPES:
-            raise Exception('Container type must be one of {}'.format(CONT_TYPES))
-
-        self.type = type
-        self.id   = id
+        super(FileReference, self).__init__(type, id)
         self.name = name
 
     @classmethod
diff --git a/api/handlers/containerhandler.py b/api/handlers/containerhandler.py
index 1fc768eee4d5aff86e1f5b4d2fdcf822e833a84d..019bcec648a6830a1c6f34cf5c80802919f061ae 100644
--- a/api/handlers/containerhandler.py
+++ b/api/handlers/containerhandler.py
@@ -1,6 +1,4 @@
 import bson
-import copy
-import json
 import datetime
 import dateutil
 
@@ -83,6 +81,8 @@ class ContainerHandler(base.RequestHandler):
 
     def __init__(self, request=None, response=None):
         super(ContainerHandler, self).__init__(request, response)
+        self.storage = None
+        self.config = None
 
     def get(self, cont_name, **kwargs):
         _id = kwargs.pop('cid')
@@ -234,7 +234,7 @@ class ContainerHandler(base.RequestHandler):
 
         c = self._get_container(cid)
         permchecker = self._get_permchecker(c)
-        result = permchecker(noop)('GET', cid)
+        permchecker(noop)('GET', cid)
 
         children = hierarchy.get_children('session', cid)
         id_array = [str(c['_id']) for c in children]
@@ -247,7 +247,7 @@ class ContainerHandler(base.RequestHandler):
         response = {}
         for j in jobs:
             job  = Job.load(j)
-            for k,v in job.inputs.iteritems():
+            for _,v in job.inputs.iteritems():
                 if v.type == 'acquisition' and v.id in id_array:
                     if response.get(v.id) is not None:
                         response[v.id].append(job)
@@ -273,7 +273,7 @@ class ContainerHandler(base.RequestHandler):
         else:
             # admin_only flag will limit the results to the set on which the user is an admin
             admin_only = self.is_true('admin')
-            permchecker = containerauth.list_permission_checker(self, admin_only)
+            permchecker = containerauth.list_permission_checker(self)
         # if par_cont_name (parent container name) and par_id are not null we return only results
         # within that container
         if par_cont_name:
@@ -365,7 +365,7 @@ class ContainerHandler(base.RequestHandler):
             debuginfo.add_debuginfo(self, cont_name, results)
         return results
 
-    def post(self, cont_name, **kwargs):
+    def post(self, cont_name):
         self.config = self.container_handler_configurations[cont_name]
         self.storage = self.config['storage']
         mongo_validator, payload_validator = self._get_validators()
@@ -469,7 +469,7 @@ class ContainerHandler(base.RequestHandler):
         self.config = self.container_handler_configurations[cont_name]
         self.storage = self.config['storage']
         container= self._get_container(_id)
-        target_parent_container, parent_id_property = self._get_parent_container(container)
+        target_parent_container, _ = self._get_parent_container(container)
         permchecker = self._get_permchecker(container, target_parent_container)
         try:
             # This line exec the actual delete checking permissions using the decorator permchecker
@@ -525,7 +525,7 @@ class ContainerHandler(base.RequestHandler):
         if self.superuser_request:
             return always_ok
         elif self.public_request:
-            return containerauth.public_request(self, container, parent_container)
+            return containerauth.public_request(self, container)
         else:
             permchecker = self.config['permchecker']
             return permchecker(self, container, parent_container)