From 7288e881355b8ab837c6fa488281eb0b1c396052 Mon Sep 17 00:00:00 2001 From: Marcus Lindvall Date: Mon, 30 Sep 2019 10:27:53 +0200 Subject: [PATCH] Fix input of RequestedDeliveryDate in order head. Error handling in Company.get --- pyjeeves/models/raw.py | 4 +++- pyjeeves/repositories/company.py | 10 +++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/pyjeeves/models/raw.py b/pyjeeves/models/raw.py index 3e5af38..3eb7a96 100644 --- a/pyjeeves/models/raw.py +++ b/pyjeeves/models/raw.py @@ -407,7 +407,9 @@ class Order(RawBaseModel): 'adapters': { **{ 'OrdDatum': lambda ord_date, *_: ord_date.strftime("%Y-%m-%d"), - 'OrdBerLevDat': lambda ord_date, *_: ord_date.strftime("%Y-%m-%d"), + 'OrdBerLevDat': lambda deliv_date, *_: ( + deliv_date.strftime("%Y-%m-%d") + if not isinstance(deliv_date, str) else deliv_date), }, **RawBaseModel.__dict_args__['adapters'] } diff --git a/pyjeeves/repositories/company.py b/pyjeeves/repositories/company.py index 6a8191e..c0fc206 100644 --- a/pyjeeves/repositories/company.py +++ b/pyjeeves/repositories/company.py @@ -4,6 +4,7 @@ from pyjeeves.models.raw import Company as CompanyModel, Customer as CustomerMod from pyjeeves.models import db from sqlalchemy.sql.expression import and_ from sqlalchemy.orm.strategy_options import Load +from sqlalchemy.orm.exc import NoResultFound from pyjeeves import logging logger = logging.getLogger("PyJeeves." + __name__) @@ -16,9 +17,12 @@ class Company(): @staticmethod def get(ftg_nr): """ Query an article by number """ - return db.raw.query(CompanyModel).filter_by( - FtgNr=ftg_nr - ).one() + try: + return db.raw.query(CompanyModel).filter_by( + FtgNr=ftg_nr + ).one() + except NoResultFound: + raise KeyError @staticmethod def get_all_active_customers():