From 4264649f43d849b05abec644ceceff87aa8f7b16 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Thu, 26 Apr 2012 21:13:07 +0200 Subject: Return None if no email found - Cleaner import --- kittystore/kittysastore.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kittystore/kittysastore.py b/kittystore/kittysastore.py index 85a38fb..cd9fbc4 100644 --- a/kittystore/kittysastore.py +++ b/kittystore/kittysastore.py @@ -18,12 +18,13 @@ license. import datetime from kittystore import KittyStore -from kittysamodel import get_class_object +from kittystore.kittysamodel import get_class_object from sqlalchemy import create_engine, distinct, MetaData, and_ from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker +from sqlalchemy.orm.exc import NoResultFound def list_to_table_name(list_name): @@ -116,8 +117,13 @@ class KittySAStore(KittyStore): """ email = get_class_object(list_to_table_name(list_name), 'email', self.metadata) - return self.session.query(email).filter_by( - message_id=message_id).one() + mail = None + try: + mail = self.session.query(email).filter_by( + message_id=message_id).one() + except NoResultFound: + pass + return mail def get_list_size(self, list_name): """ Return the number of emails stored for a given mailing list. -- cgit