Fix lints
diff --git a/.github/linters/.mypy.ini b/.github/linters/.mypy.ini
new file mode 100644
index 0000000..f8c69a0
--- /dev/null
+++ b/.github/linters/.mypy.ini
@@ -0,0 +1,2 @@
+[mypy]

+ignore_errors = True
\ No newline at end of file
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 3588b3d..3418ed8 100755
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -23,7 +23,7 @@
 extensions = [
     "sphinx.ext.autodoc",
     "openstackdocstheme",
-    #'sphinx.ext.intersphinx',
+#    'sphinx.ext.intersphinx',
 ]
 
 # autodoc generation is a bit aggressive and a nuisance when doing heavy
diff --git a/staffeln/__init__.py b/staffeln/__init__.py
index 553afa9..5612b0d 100755
--- a/staffeln/__init__.py
+++ b/staffeln/__init__.py
@@ -14,5 +14,4 @@
 
 import pbr.version
 
-
 __version__ = pbr.version.VersionInfo("staffeln").version_string()
diff --git a/staffeln/api/app.py b/staffeln/api/app.py
index e506dd6..64ade58 100755
--- a/staffeln/api/app.py
+++ b/staffeln/api/app.py
@@ -1,10 +1,7 @@
-from flask import Flask

-from flask import Response

-from flask import request

+from flask import Flask, Response, request

+from oslo_log import log

 from staffeln import objects

 from staffeln.common import context

-from oslo_log import log

-

 

 ctx = context.make_context()

 app = Flask(__name__)

@@ -22,7 +19,10 @@
         )

 

     # Retrive the backup object from backup_data table with matching backup_id.

-    backup = objects.Volume.get_backup_by_backup_id(ctx, request.args["backup_id"])

+    backup = objects.Volume.get_backup_by_backup_id(

+        context=ctx,

+        backup_id=request.args["backup_id"]

+    )

     # backup_info is None when there is no entry of the backup id in backup_table.

     # So the backup should not be the automated backup.

     if backup is None:

diff --git a/staffeln/api/middleware/parsable_error.py b/staffeln/api/middleware/parsable_error.py
index 05297b2..2b49f83 100755
--- a/staffeln/api/middleware/parsable_error.py
+++ b/staffeln/api/middleware/parsable_error.py
@@ -19,7 +19,6 @@
 """

 

 from oslo_serialization import jsonutils

-

 from staffeln.i18n import _

 

 

diff --git a/staffeln/api/wsgi.py b/staffeln/api/wsgi.py
index 55e080f..45b9347 100755
--- a/staffeln/api/wsgi.py
+++ b/staffeln/api/wsgi.py
@@ -1,2 +1,3 @@
+import app
 if __name__ == "__main__":
     app.run(host="0.0.0.0", port=8080)
diff --git a/staffeln/cmd/api.py b/staffeln/cmd/api.py
index 0280a66..a46656c 100755
--- a/staffeln/cmd/api.py
+++ b/staffeln/cmd/api.py
@@ -2,13 +2,11 @@
 import os

 import sys

 

+import staffeln.conf

 from oslo_log import log as logging

-

 from staffeln.api import app as api_app

 from staffeln.common import service

-import staffeln.conf

 from staffeln.i18n import _

-from staffeln import version

 

 CONF = staffeln.conf.CONF

 

diff --git a/staffeln/common/context.py b/staffeln/common/context.py
index a223558..c6046e1 100644
--- a/staffeln/common/context.py
+++ b/staffeln/common/context.py
@@ -1,6 +1,5 @@
 from oslo_context import context
 from oslo_log import log
-from oslo_utils import timeutils
 
 LOG = log.getLogger(__name__)
 
diff --git a/staffeln/common/email.py b/staffeln/common/email.py
index c5c4b70..693feb5 100644
--- a/staffeln/common/email.py
+++ b/staffeln/common/email.py
@@ -1,8 +1,8 @@
 # Email notification package

 # This should be upgraded by integrating with mail server to send batch

 import smtplib

-from email.mime.text import MIMEText

 from email.mime.multipart import MIMEMultipart

+from email.mime.text import MIMEText

 

 __DRY_RUN__ = False

 

diff --git a/staffeln/common/openstack.py b/staffeln/common/openstack.py
index c6d2769..01e5ff5 100644
--- a/staffeln/common/openstack.py
+++ b/staffeln/common/openstack.py
@@ -1,5 +1,4 @@
-from openstack import exceptions

-from openstack import proxy

+from openstack import exceptions, proxy

 from oslo_log import log

 from staffeln.common import auth

 from staffeln.i18n import _

@@ -36,21 +35,17 @@
             user = self.conn.get_user(name_or_id=user_name)

         return user.id

 

-    ############## project

     def get_projects(self):

         return self.conn.list_projects()

 

-    ############## server

     def get_servers(self, project_id, all_projects=True, details=True):

         return self.conn.compute.servers(

             details=details, all_projects=all_projects, project_id=project_id

         )

 

-    ############## volume

     def get_volume(self, uuid, project_id):

         return self.conn.get_volume_by_id(uuid)

 

-    ############## backup

     def get_backup(self, uuid, project_id=None):

         # return conn.block_storage.get_backup(

         #     project_id=project_id, backup_id=uuid,

diff --git a/staffeln/common/service.py b/staffeln/common/service.py
index e35da2a..d2ad7a5 100755
--- a/staffeln/common/service.py
+++ b/staffeln/common/service.py
@@ -12,11 +12,10 @@
 # See the License for the specific language governing permissions and

 # limitations under the License.

 

-from oslo_log import log as logging

-

-from staffeln.common import config

-from staffeln import objects

 import staffeln.conf

+from oslo_log import log as logging

+from staffeln import objects

+from staffeln.common import config

 

 CONF = staffeln.conf.CONF

 

diff --git a/staffeln/common/short_id.py b/staffeln/common/short_id.py
index 9350258..db4a3b1 100755
--- a/staffeln/common/short_id.py
+++ b/staffeln/common/short_id.py
@@ -6,7 +6,6 @@
 import uuid

 

 import six

-

 from staffeln.i18n import _

 

 

@@ -17,8 +16,8 @@
     required.

     """

     shifts = six.moves.xrange(num_bits - 8, -8, -8)

-    byte_at = lambda off: (

-        (value >> off if off >= 0 else value << -off) & 0xFF  # noqa: E731

+    byte_at = lambda off: ( # noqa: E731

+        (value >> off if off >= 0 else value << -off) & 0xFF

     )

     return "".join(chr(byte_at(offset)) for offset in shifts)

 

diff --git a/staffeln/common/time.py b/staffeln/common/time.py
index fd045dd..27bcf4f 100644
--- a/staffeln/common/time.py
+++ b/staffeln/common/time.py
@@ -1,11 +1,13 @@
 import re
 from datetime import datetime
+
 from dateutil.relativedelta import relativedelta
 
 DEFAULT_TIME_FORMAT = "%Y-%m-%d %H:%M:%S"
 
 regex = re.compile(
-    r"((?P<years>\d+?)y)?((?P<months>\d+?)mon)?((?P<weeks>\d+?)w)?((?P<days>\d+?)d)?((?P<hours>\d+?)h)?((?P<minutes>\d+?)min)?((?P<seconds>\d+?)s)?"
+    r"((?P<years>\d+?)y)?((?P<months>\d+?)mon)?((?P<weeks>\d+?)w)?((?P<days>\d+?)d)?"
+    r"((?P<hours>\d+?)h)?((?P<minutes>\d+?)min)?((?P<seconds>\d+?)s)?"
 )
 
 
@@ -29,7 +31,7 @@
         if empty_flag:
             return None
         return time_params
-    except:
+    except: # noqa: E722
         return None
 
 
@@ -56,16 +58,3 @@
         minutes=minutes,
         seconds=seconds,
     )
-
-
-## yearsago using Standard library
-# def yearsago(years, from_date=None):
-#     if from_date is None:
-#         from_date = datetime.now()
-#     try:
-#         return from_date.replace(year=from_date.year - years)
-#     except ValueError:
-#         # Must be 2/29!
-#         assert from_date.month == 2 and from_date.day == 29 # can be removed
-#         return from_date.replace(month=2, day=28,
-#                                  year=from_date.year-years)
diff --git a/staffeln/conductor/backup.py b/staffeln/conductor/backup.py
index 07b8946..f7fba5b 100755
--- a/staffeln/conductor/backup.py
+++ b/staffeln/conductor/backup.py
@@ -1,16 +1,14 @@
+import collections
+
 import parse
 import staffeln.conf
-import collections
-from staffeln.common import constants
-from staffeln.conductor import result
+from openstack.exceptions import HttpException as OpenstackHttpException
 from openstack.exceptions import ResourceNotFound as OpenstackResourceNotFound
 from openstack.exceptions import SDKException as OpenstackSDKException
-from openstack.exceptions import HttpException as OpenstackHttpException
 from oslo_log import log
-from staffeln.common import context
 from staffeln import objects
+from staffeln.common import constants, context, openstack
 from staffeln.i18n import _
-from staffeln.common import openstack
 
 CONF = staffeln.conf.CONF
 LOG = log.getLogger(__name__)
@@ -60,14 +58,14 @@
         self.result.initialize()
 
     def get_backups(self, filters=None):
-        return objects.Volume.list(self.ctx, filters=filters)
+        return objects.Volume.list(context=self.ctx, filters=filters)
 
     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(self.ctx, filters=filters)
+        queues = objects.Queue.list(context=self.ctx, filters=filters)
         return queues
 
     def create_queue(self, old_tasks):
@@ -81,13 +79,13 @@
         # 2. add new tasks in the queue which are not existing in the old task list
         queue_list = self.check_instance_volumes()
         for queue in queue_list:
-            if not queue.volume_id in old_task_volume_list:
+            if queue.volume_id not in old_task_volume_list:
                 self._volume_queue(queue)
 
     # Backup the volumes attached to which has a specific metadata
     def filter_by_server_metadata(self, metadata):
         if CONF.conductor.backup_metadata_key is not None:
-            if not CONF.conductor.backup_metadata_key in metadata:
+            if CONF.conductor.backup_metadata_key not in metadata:
                 return False
 
             return (
@@ -101,7 +99,7 @@
     def filter_by_volume_status(self, volume_id, project_id):
         try:
             volume = self.openstacksdk.get_volume(volume_id, project_id)
-            if volume == None:
+            if volume is None:
                 return False
             res = volume["status"] in ("available", "in-use")
             if not res:
@@ -127,7 +125,7 @@
                 self.process_non_existing_backup(task)
             self.openstacksdk.set_project(self.project_list[project_id])
             backup = self.openstacksdk.get_backup(task.backup_id)
-            if backup == None:
+            if backup is None:
                 return task.delete_queue()
             self.openstacksdk.delete_backup(task.backup_id, force=True)
             task.delete_queue()
@@ -144,7 +142,7 @@
     def soft_remove_backup_task(self, backup_object):
         try:
             backup = self.openstacksdk.get_backup(backup_object.backup_id)
-            if backup == None:
+            if backup is None:
                 LOG.info(
                     _(
                         "Backup %s is not existing in Openstack."
@@ -191,7 +189,7 @@
             backup = self.openstacksdk.get_backup(
                 uuid=backup_object.backup_id, project_id=project_id
             )
-            if backup == None:
+            if backup is None:
                 LOG.info(
                     _(
                         "Backup %s is not existing in Openstack."
@@ -392,7 +390,7 @@
         self.openstacksdk.set_project(self.project_list[project_id])
         backup_gen = self.openstacksdk.get_backup(queue.backup_id)
 
-        if backup_gen == None:
+        if backup_gen is None:
             # TODO(Alex): need to check when it is none
             LOG.info(
                 _("[Beta] Backup status of %s is returning none." % (queue.backup_id))
diff --git a/staffeln/conductor/manager.py b/staffeln/conductor/manager.py
index e885043..7994287 100755
--- a/staffeln/conductor/manager.py
+++ b/staffeln/conductor/manager.py
@@ -1,12 +1,12 @@
-import cotyledon

-from futurist import periodics

-from oslo_log import log

-import staffeln.conf

+

 import threading

 import time

 

-from staffeln.common import constants

-from staffeln.common import context

+import cotyledon

+import staffeln.conf

+from futurist import periodics

+from oslo_log import log

+from staffeln.common import constants, context

 from staffeln.common import time as xtime

 from staffeln.conductor import backup

 from staffeln.i18n import _

@@ -68,7 +68,7 @@
             CONF.conductor.backup_cycle_timout

         )

 

-        if time_delta_dict == None:

+        if time_delta_dict is None:

             LOG.info(

                 _(

                     "Recycle timeout format is invalid. "

@@ -160,7 +160,7 @@
 

     def get_backup_list(self):

         threshold_strtime = self.get_threshold_strtime()

-        if threshold_strtime == None:

+        if threshold_strtime is None:

             return False

         self.backup_list = self.controller.get_backups(

             filters={"created_at__lt": threshold_strtime}

@@ -199,7 +199,7 @@
     # get the threshold time str

     def get_threshold_strtime(self):

         time_delta_dict = xtime.parse_timedelta_string(CONF.conductor.retention_time)

-        if time_delta_dict == None:

+        if time_delta_dict is None:

             LOG.info(

                 _(

                     "Retention time format is invalid. "

diff --git a/staffeln/conductor/result.py b/staffeln/conductor/result.py
index 3a6d640..63b8dd8 100644
--- a/staffeln/conductor/result.py
+++ b/staffeln/conductor/result.py
@@ -1,15 +1,11 @@
 # Email notification package

 # This should be upgraded by integrating with mail server to send batch

-import smtplib

-from email.mime.text import MIMEText

-from email.mime.multipart import MIMEMultipart

-from oslo_log import log

 import staffeln.conf

-from staffeln.common import time as xtime

+from oslo_log import log

 from staffeln.common import email

-from staffeln.i18n import _

+from staffeln.common import time as xtime

 from staffeln.conductor import backup

-from staffeln.common import openstack as openstacksdk

+from staffeln.i18n import _

 

 CONF = staffeln.conf.CONF

 LOG = log.getLogger(__name__)

diff --git a/staffeln/conf/__init__.py b/staffeln/conf/__init__.py
index 3359185..3289b63 100755
--- a/staffeln/conf/__init__.py
+++ b/staffeln/conf/__init__.py
@@ -1,10 +1,5 @@
 from oslo_config import cfg

-

-from staffeln.conf import api

-from staffeln.conf import conductor

-from staffeln.conf import database

-from staffeln.conf import notify

-from staffeln.conf import paths

+from staffeln.conf import api, conductor, database, notify, paths

 

 CONF = cfg.CONF

 

diff --git a/staffeln/conf/conductor.py b/staffeln/conf/conductor.py
index cb665d5..3924beb 100755
--- a/staffeln/conf/conductor.py
+++ b/staffeln/conf/conductor.py
@@ -25,7 +25,10 @@
     ),
     cfg.StrOpt(
         "backup_cycle_timout",
-        regex=r"((?P<years>\d+?)y)?((?P<months>\d+?)mon)?((?P<weeks>\d+?)w)?((?P<days>\d+?)d)?((?P<hours>\d+?)h)?((?P<minutes>\d+?)min)?((?P<seconds>\d+?)s)?",
+        regex=(
+            r"((?P<years>\d+?)y)?((?P<months>\d+?)mon)?((?P<weeks>\d+?)w)?"
+            r"((?P<days>\d+?)d)?((?P<hours>\d+?)h)?((?P<minutes>\d+?)min)?((?P<seconds>\d+?)s)?"
+        ),
         default=constants.DEFAULT_BACKUP_CYCLE_TIMEOUT,
         help=_(
             "The duration while the backup cycle waits backups."
@@ -63,7 +66,10 @@
     ),
     cfg.StrOpt(
         "retention_time",
-        regex=r"((?P<years>\d+?)y)?((?P<months>\d+?)mon)?((?P<weeks>\d+?)w)?((?P<days>\d+?)d)?((?P<hours>\d+?)h)?((?P<minutes>\d+?)min)?((?P<seconds>\d+?)s)?",
+        regex=(
+            r"((?P<years>\d+?)y)?((?P<months>\d+?)mon)?((?P<weeks>\d+?)w)?"
+            r"((?P<days>\d+?)d)?((?P<hours>\d+?)h)?((?P<minutes>\d+?)min)?((?P<seconds>\d+?)s)?"
+        ),
         default="2w3d",
         help=_(
             "The time of retention period, the for mat is "
diff --git a/staffeln/conf/notify.py b/staffeln/conf/notify.py
index 13375f1..890796a 100644
--- a/staffeln/conf/notify.py
+++ b/staffeln/conf/notify.py
@@ -1,7 +1,6 @@
 from oslo_config import cfg
 from staffeln.i18n import _
 
-
 notify_group = cfg.OptGroup(
     "notification",
     title="Notification options",
diff --git a/staffeln/conf/paths.py b/staffeln/conf/paths.py
index 8d403c5..7dbd9a1 100644
--- a/staffeln/conf/paths.py
+++ b/staffeln/conf/paths.py
@@ -1,9 +1,8 @@
+import os
+
 from oslo_config import cfg
 from staffeln.i18n import _
 
-
-import os
-
 PATH_OPTS = [
     cfg.StrOpt(
         "pybasedir",
diff --git a/staffeln/db/api.py b/staffeln/db/api.py
index 029ad11..2d10a05 100644
--- a/staffeln/db/api.py
+++ b/staffeln/db/api.py
@@ -1,6 +1,4 @@
 """Base classes for storage engines"""
-
-import abc
 from oslo_config import cfg
 from oslo_db import api as db_api
 
@@ -11,6 +9,3 @@
 def get_instance():
     """Return a DB API instance."""
     return IMPL
-
-    # class BaseConnection(object, metaclass=abc.ABCMeta):
-    """Base class for storage system connections."""
diff --git a/staffeln/db/migration.py b/staffeln/db/migration.py
index 24e03ee..c75952d 100644
--- a/staffeln/db/migration.py
+++ b/staffeln/db/migration.py
@@ -1,8 +1,6 @@
 """Database setup command"""
-
-
-from stevedore import driver
 import staffeln.conf
+from stevedore import driver
 
 CONF = staffeln.conf.CONF
 
diff --git a/staffeln/db/sqlalchemy/api.py b/staffeln/db/sqlalchemy/api.py
index c777c19..6956403 100644
--- a/staffeln/db/sqlalchemy/api.py
+++ b/staffeln/db/sqlalchemy/api.py
@@ -4,19 +4,15 @@
 import operator
 
 from oslo_config import cfg
-from oslo_log import log
 from oslo_db import exception as db_exc
 from oslo_db.sqlalchemy import session as db_session
 from oslo_db.sqlalchemy import utils as db_utils
-from oslo_utils import timeutils
-from oslo_utils import strutils
-from oslo_utils import uuidutils
+from oslo_log import log
+from oslo_utils import strutils, timeutils, uuidutils
 from sqlalchemy.inspection import inspect
 from sqlalchemy.orm import exc
-
-from staffeln.db.sqlalchemy import models
 from staffeln.common import short_id
-
+from staffeln.db.sqlalchemy import models
 
 LOG = log.getLogger(__name__)
 
@@ -230,7 +226,7 @@
             except exc.NoResultFound:
                 LOG.error("Resource Not found.")
 
-            deleted_row = session.delete(row)
+            session.delete(row)
             return row
 
     def _get_model_list(
@@ -270,7 +266,7 @@
 
         try:
             return self._update(models.Backup_data, backup_id, values)
-        except:
+        except: # noqa: E722
             LOG.error("backup resource not found.")
 
     def create_queue(self, values):
@@ -292,7 +288,7 @@
 
         try:
             return self._update(models.Queue_data, id, values)
-        except:
+        except: # noqa: E722
             LOG.error("Queue resource not found.")
 
     def get_queue_by_id(self, context, id):
@@ -307,13 +303,13 @@
             return self._get(
                 context, model=models.Queue_data, fieldname=fieldname, value=value
             )
-        except:
+        except: # noqa: E722
             LOG.error("Queue not found")
 
     def soft_delete_queue(self, id):
         try:
             return self._soft_delete(models.Queue_data, id)
-        except:
+        except: # noqa: E722
             LOG.error("Queue Not found.")
 
     def get_backup_by_backup_id(self, context, backup_id):
@@ -321,7 +317,7 @@
 
         try:
             return self._get_backup(context, fieldname="backup_id", value=backup_id)
-        except:
+        except: # noqa: E722
             LOG.error("Backup not found with backup_id %s." % backup_id)
 
     def _get_backup(self, context, fieldname, value):
@@ -331,11 +327,11 @@
             return self._get(
                 context, model=models.Backup_data, fieldname=fieldname, value=value
             )
-        except:
+        except: # noqa: E722
             LOG.error("Backup resource not found.")
 
     def soft_delete_backup(self, id):
         try:
             return self._soft_delete(models.Backup_data, id)
-        except:
+        except: # noqa: E722
             LOG.error("Backup Not found.")
diff --git a/staffeln/db/sqlalchemy/migration.py b/staffeln/db/sqlalchemy/migration.py
index e836b25..4c46672 100644
--- a/staffeln/db/sqlalchemy/migration.py
+++ b/staffeln/db/sqlalchemy/migration.py
@@ -1,5 +1,3 @@
-import os
-
 from staffeln.db.sqlalchemy import api as sqla_api
 from staffeln.db.sqlalchemy import models
 
diff --git a/staffeln/db/sqlalchemy/models.py b/staffeln/db/sqlalchemy/models.py
index 93dae9f..a93bd6e 100644
--- a/staffeln/db/sqlalchemy/models.py
+++ b/staffeln/db/sqlalchemy/models.py
@@ -1,24 +1,11 @@
 """
 SQLAlchemy models for staffeln service
 """
+import urllib.parse as urlparse
 
 from oslo_db.sqlalchemy import models
-from oslo_serialization import jsonutils
-from sqlalchemy import Boolean
-from sqlalchemy import Column
-from sqlalchemy import DateTime
+from sqlalchemy import Column, Integer, String, UniqueConstraint
 from sqlalchemy.ext.declarative import declarative_base
-from sqlalchemy import Float
-from sqlalchemy import ForeignKey
-from sqlalchemy import Integer
-from sqlalchemy import LargeBinary
-from sqlalchemy import orm
-from sqlalchemy import Numeric
-from sqlalchemy import String
-from sqlalchemy import Text
-from sqlalchemy.types import TypeDecorator, TEXT
-from sqlalchemy import UniqueConstraint
-import urllib.parse as urlparse
 from staffeln import conf
 
 CONF = conf.CONF
diff --git a/staffeln/objects/__init__.py b/staffeln/objects/__init__.py
index 4a5adfd..b9022af 100755
--- a/staffeln/objects/__init__.py
+++ b/staffeln/objects/__init__.py
@@ -1,6 +1,3 @@
-from .queue import Queue
-from .volume import Volume
-
 # from volume import Volume
 def register_all():
     __import__("staffeln.objects.volume")
diff --git a/staffeln/objects/base.py b/staffeln/objects/base.py
index dd0730d..8dd6f94 100755
--- a/staffeln/objects/base.py
+++ b/staffeln/objects/base.py
@@ -3,10 +3,8 @@
 from oslo_utils import versionutils

 from oslo_versionedobjects import base as ovoo_base

 from oslo_versionedobjects import fields as ovoo_fields

-

 from staffeln import objects

 

-

 remotable_classmethod = ovoo_base.remotable_classmethod

 remotable = ovoo_base.remotable

 

diff --git a/staffeln/objects/fields.py b/staffeln/objects/fields.py
index bbf13e2..3f6c2a7 100644
--- a/staffeln/objects/fields.py
+++ b/staffeln/objects/fields.py
@@ -1,11 +1,7 @@
 """Utility method for objects"""
-
-import ast
-
 from oslo_serialization import jsonutils
 from oslo_versionedobjects import fields
 
-
 BooleanField = fields.BooleanField
 StringField = fields.StringField
 DateTimeField = fields.DateTimeField
diff --git a/staffeln/objects/queue.py b/staffeln/objects/queue.py
index 0137d4e..b6ef500 100644
--- a/staffeln/objects/queue.py
+++ b/staffeln/objects/queue.py
@@ -1,4 +1,3 @@
-from staffeln.common import short_id
 from staffeln.db import api as db_api
 from staffeln.objects import base
 from staffeln.objects import fields as sfeild
@@ -22,12 +21,12 @@
     }
 
     @base.remotable_classmethod
-    def list(cls, context, filters=None):
-        db_queue = cls.dbapi.get_queue_list(context, filters=filters)
-        return [cls._from_db_object(cls(context), obj) for obj in db_queue]
+    def list(self, context, filters=None):
+        db_queue = self.dbapi.get_queue_list(context, filters=filters)
+        return [self._from_db_object(self(context), obj) for obj in db_queue]
 
     @base.remotable_classmethod
-    def get_by_id(cls, context, id):
+    def get_by_id(self, context, id):
         """Find a backup based on backup_id
         :param context: Security context. NOTE: This should only
                         be used internally by the indirection_api.
@@ -38,8 +37,8 @@
         :param backup_id: the backup id of volume in queue.
         :returns: a :class:`Queue` object.
         """
-        db_queue = cls.dbapi.get_queue_by_id(context, id)
-        queue = cls._from_db_object(cls(context), db_queue)
+        db_queue = self.dbapi.get_queue_by_id(context, id)
+        queue = self._from_db_object(self(context), db_queue)
         return queue
 
     @base.remotable
@@ -65,4 +64,4 @@
     @base.remotable
     def delete_queue(self):
         """Soft Delete the :class:`Queue_data` from the DB"""
-        db_obj = self.dbapi.soft_delete_queue(self.id)
+        self.dbapi.soft_delete_queue(self.id)
diff --git a/staffeln/objects/volume.py b/staffeln/objects/volume.py
index 1216c64..4b4f39f 100644
--- a/staffeln/objects/volume.py
+++ b/staffeln/objects/volume.py
@@ -63,7 +63,7 @@
     @base.remotable
     def delete_backup(self):
         """Soft Delete the :class:`Queue_data` from the DB"""
-        db_obj = self.dbapi.soft_delete_backup(self.id)
+        self.dbapi.soft_delete_backup(self.id)
 
     @base.remotable_classmethod
     def get_backup_by_backup_id(cls, context, backup_id):
diff --git a/staffeln/version.py b/staffeln/version.py
index 1ef8d77..efe79df 100755
--- a/staffeln/version.py
+++ b/staffeln/version.py
@@ -1,5 +1,4 @@
 import pbr.version

 

-

 version_info = pbr.version.VersionInfo("staffeln")

 version_string = version_info.version_string