Skip to content

Commit

Permalink
Rewrite one_or_none() calls for older SA support
Browse files Browse the repository at this point in the history
  • Loading branch information
amercader committed Oct 25, 2017
1 parent 082caaa commit 030cd75
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 8 deletions.
8 changes: 6 additions & 2 deletions ckanext/validation/jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import json
import re

from sqlalchemy.orm.exc import NoResultFound
from goodtables import validate

from ckan.model import Session
Expand All @@ -22,8 +23,11 @@ def run_validation_job(resource):

log.debug(u'Validating resource {}'.format(resource['id']))

validation = Session.query(Validation).filter(
Validation.resource_id == resource['id']).one_or_none()
try:
validation = Session.query(Validation).filter(
Validation.resource_id == resource['id']).one()
except NoResultFound:
validation = None

if not validation:
validation = Validation(resource_id=resource['id'])
Expand Down
23 changes: 17 additions & 6 deletions ckanext/validation/logic.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import datetime
import logging

from sqlalchemy.orm.exc import NoResultFound

import ckan.plugins as plugins
import ckan.lib.uploader as uploader

Expand Down Expand Up @@ -90,8 +92,11 @@ def resource_validation_run(context, data_dict):

Session = context['model'].Session

validation = Session.query(Validation).filter(
Validation.resource_id == data_dict['resource_id']).one_or_none()
try:
validation = Session.query(Validation).filter(
Validation.resource_id == data_dict['resource_id']).one()
except NoResultFound:
validation = None

if validation:
# Reset values
Expand Down Expand Up @@ -141,8 +146,11 @@ def resource_validation_show(context, data_dict):

Session = context['model'].Session

validation = Session.query(Validation).filter(
Validation.resource_id == data_dict['resource_id']).one_or_none()
try:
validation = Session.query(Validation).filter(
Validation.resource_id == data_dict['resource_id']).one()
except NoResultFound:
validation = None

if not validation:
raise t.ObjectNotFound(
Expand Down Expand Up @@ -170,8 +178,11 @@ def resource_validation_delete(context, data_dict):

Session = context['model'].Session

validation = Session.query(Validation).filter(
Validation.resource_id == data_dict['resource_id']).one_or_none()
try:
validation = Session.query(Validation).filter(
Validation.resource_id == data_dict['resource_id']).one()
except NoResultFound:
validation = None

if not validation:
raise t.ObjectNotFound(
Expand Down

0 comments on commit 030cd75

Please sign in to comment.