diff --git a/staffeln/conductor/backup.py b/staffeln/conductor/backup.py
index 0789598..d703a62 100755
--- a/staffeln/conductor/backup.py
+++ b/staffeln/conductor/backup.py
@@ -59,14 +59,18 @@
         self.result.initialize()
 
     def get_backups(self, filters=None):
-        return objects.Volume.list(context=self.ctx, filters=filters)  # pylint: disable=E1120
+        return objects.Volume.list(
+            context=self.ctx, filters=filters
+        )  # pylint: disable=E1120
 
     def get_backup_quota(self, project_id):
         return self.openstacksdk.get_backup_quota(project_id)
 
     def get_queues(self, filters=None):
         """Get the list of volume queue columns from the queue_data table"""
-        queues = objects.Queue.list(context=self.ctx, filters=filters)  # pylint: disable=E1120
+        queues = objects.Queue.list(
+            context=self.ctx, filters=filters
+        )  # pylint: disable=E1120
         return queues
 
     def create_queue(self, old_tasks):
diff --git a/staffeln/objects/queue.py b/staffeln/objects/queue.py
index 92433ee..8bdebc7 100644
--- a/staffeln/objects/queue.py
+++ b/staffeln/objects/queue.py
@@ -20,13 +20,13 @@
         "backup_status": sfeild.IntegerField(),
     }
 
-    @base.remotable_classmethod  # pylint: disable=E0213
-    def list(cls, context, filters=None):
+    @base.remotable_classmethod
+    def list(cls, context, filters=None):  # pylint: disable=E0213
         db_queue = cls.dbapi.get_queue_list(context, filters=filters)
         return [cls._from_db_object(cls(context), obj) for obj in db_queue]
 
-    @base.remotable_classmethod  # pylint: disable=E0213
-    def get_by_id(cls, context, id):
+    @base.remotable_classmethod
+    def get_by_id(cls, context, id):  # pylint: disable=E0213
         """Find a backup based on backup_id
         :param context: Security context. NOTE: This should only
                         be used internally by the indirection_api.
diff --git a/staffeln/objects/volume.py b/staffeln/objects/volume.py
index 34c408c..0680c78 100644
--- a/staffeln/objects/volume.py
+++ b/staffeln/objects/volume.py
@@ -65,8 +65,8 @@
         """Soft Delete the :class:`Queue_data` from the DB"""
         self.dbapi.soft_delete_backup(self.id)
 
-    @base.remotable_classmethod  # pylint: disable=E0213
-    def get_backup_by_backup_id(cls, context, backup_id):
+    @base.remotable_classmethod
+    def get_backup_by_backup_id(cls, context, backup_id):  # pylint: disable=E0213
         """Find a backup based on backup_id
         :param context: Security context. NOTE: This should only
                         be used internally by the indirection_api.
