From 211b594fc6f03fbdf283034d1f8939664100c5dc Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Tue, 7 Jan 2014 11:28:34 +0000 Subject: [PATCH] Don't fail badly if `furl` is not installed. --- sqlalchemy_utils/types/url.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sqlalchemy_utils/types/url.py b/sqlalchemy_utils/types/url.py index 7dc5489..6dd6d68 100644 --- a/sqlalchemy_utils/types/url.py +++ b/sqlalchemy_utils/types/url.py @@ -40,17 +40,23 @@ class URLType(types.TypeDecorator, ScalarCoercible): impl = types.UnicodeText def process_bind_param(self, value, dialect): - if isinstance(value, furl): + if furl is not None and isinstance(value, furl): return six.text_type(value) if isinstance(value, six.string_types): return value def process_result_value(self, value, dialect): + if furl is None: + return value + if value is not None: return furl(value) def _coerce(self, value): + if furl is None: + return value + if value is not None and not isinstance(value, furl): return furl(value) return value