Merge pull request #56 from s0undt3ch/master

Don't fail badly if `furl` is not installed.
This commit is contained in:
Konsta Vesterinen
2014-01-07 04:03:58 -08:00

View File

@@ -40,17 +40,23 @@ class URLType(types.TypeDecorator, ScalarCoercible):
impl = types.UnicodeText impl = types.UnicodeText
def process_bind_param(self, value, dialect): 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) return six.text_type(value)
if isinstance(value, six.string_types): if isinstance(value, six.string_types):
return value return value
def process_result_value(self, value, dialect): def process_result_value(self, value, dialect):
if furl is None:
return value
if value is not None: if value is not None:
return furl(value) return furl(value)
def _coerce(self, value): def _coerce(self, value):
if furl is None:
return value
if value is not None and not isinstance(value, furl): if value is not None and not isinstance(value, furl):
return furl(value) return furl(value)
return value return value