From 5bf06f973f6268cc6cde4c69f2d3e40a5c342866 Mon Sep 17 00:00:00 2001 From: Daniel Gonzalez Date: Sun, 17 Jan 2016 17:38:20 +0100 Subject: [PATCH] Replace None comparisons in SQLAlchemy code SQLAlchemy requires '==' to compare to None, but using '== None' comparisons triggers the pep8 error E711. Another way to do '==' comparisons for SQLAlchemy is using its is_() method. This patch replaces all '== None' comparisons with 'is_(None)', which does not trigger the pep8 error. Because there are no more E711 vialotions left, this patch also removes E711 from the pep8 ignore list in tox.ini. Change-Id: I96bd835688176c87d3f8079421c3394c1d431d43 --- barbican/model/repositories.py | 23 ++++++----------------- tox.ini | 2 -- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/barbican/model/repositories.py b/barbican/model/repositories.py index 0fcacd96..d2c734b6 100755 --- a/barbican/model/repositories.py +++ b/barbican/model/repositories.py @@ -609,9 +609,7 @@ class SecretRepo(BaseRepo): query = session.query(models.Secret) query = query.filter_by(deleted=False) - # Note(john-wood-w): SQLAlchemy requires '== None' below, - # not 'is None'. - query = query.filter(or_(models.Secret.expiration == None, + query = query.filter(or_(models.Secret.expiration.is_(None), models.Secret.expiration > utcnow)) if name: @@ -658,9 +656,7 @@ class SecretRepo(BaseRepo): """Sub-class hook: build a retrieve query.""" utcnow = timeutils.utcnow() - # Note(john-wood-w): SQLAlchemy requires '== None' below, - # not 'is None'. - expiration_filter = or_(models.Secret.expiration == None, + expiration_filter = or_(models.Secret.expiration.is_(None), models.Secret.expiration > utcnow) query = session.query(models.Secret) @@ -691,9 +687,7 @@ class SecretRepo(BaseRepo): session = self.get_session(session) try: utcnow = timeutils.utcnow() - # Note(john-wood-w): SQLAlchemy requires '== None' below, - # not 'is None'. - expiration_filter = or_(models.Secret.expiration == None, + expiration_filter = or_(models.Secret.expiration.is_(None), models.Secret.expiration > utcnow) query = session.query(models.Secret) @@ -1413,23 +1407,20 @@ class CertificateAuthorityRepo(BaseRepo): # get both subcas that have been defined for your project # (cas for which ca.project_id == project_id) AND # all top-level CAs (ca.project_id == None) - # Note(alee) for sqlalchemy, use '== None', not 'is None' query = session.query(models.CertificateAuthority) query = query.filter(or_( models.CertificateAuthority.project_id == project_id, - models.CertificateAuthority.project_id == None + models.CertificateAuthority.project_id.is_(None) )) query = query.order_by(models.CertificateAuthority.created_at) query = query.filter_by(deleted=False) - # Note(alee) SQLAlchemy requires '== None' below, - # not 'is None'. if not show_expired: utcnow = timeutils.utcnow() query = query.filter(or_( - models.CertificateAuthority.expiration == None, + models.CertificateAuthority.expiration.is_(None), models.CertificateAuthority.expiration > utcnow)) if plugin_name: @@ -1495,11 +1486,9 @@ class CertificateAuthorityRepo(BaseRepo): """Sub-class hook: build a retrieve query.""" utcnow = timeutils.utcnow() - # Note(alee): SQLAlchemy requires '== None' below, - # not 'is None'. # TODO(jfwood): Performance? Is the many-to-many join needed? expiration_filter = or_( - models.CertificateAuthority.expiration == None, + models.CertificateAuthority.expiration.is_(None), models.CertificateAuthority.expiration > utcnow) query = session.query(models.CertificateAuthority) diff --git a/tox.ini b/tox.ini index f7d7b684..ae8b7471 100644 --- a/tox.ini +++ b/tox.ini @@ -94,8 +94,6 @@ commands = /bin/bash {toxinidir}/functionaltests/pretty_tox.sh '{posargs}' [flake8] -# E711 ignored because of sqlalchemy override of == None -ignore = E711 exclude = .git,.idea,.tox,bin,dist,debian,rpmbuild,tools,*.egg-info,*.eggs,*openstack/common,contrib, functionaltests,*alembic_migrations/versions,*docs/target,*.egg