From 9615390c51f98f349137e8c39d7ed6ee8dc1f515 Mon Sep 17 00:00:00 2001 From: Josh Friend Date: Sat, 13 Dec 2014 11:06:24 -0500 Subject: [PATCH 1/3] dont assume presence of colour package (fixes #104) --- sqlalchemy_utils/types/color.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sqlalchemy_utils/types/color.py b/sqlalchemy_utils/types/color.py index 0064243..21f9c2a 100644 --- a/sqlalchemy_utils/types/color.py +++ b/sqlalchemy_utils/types/color.py @@ -5,9 +5,9 @@ from .scalar_coercible import ScalarCoercible colour = None try: - import colour + from colour import Colour as python_colour_type except ImportError: - pass + python_colour_type = None class ColorType(types.TypeDecorator, ScalarCoercible): @@ -49,7 +49,7 @@ class ColorType(types.TypeDecorator, ScalarCoercible): """ STORE_FORMAT = u'hex' impl = types.Unicode(20) - python_type = colour.Color + python_type = python_colour_type def __init__(self, max_length=20, *args, **kwargs): # Fail if colour is not found. From abfb29dfa79a1af97501d2ccd865baf3f98abcbd Mon Sep 17 00:00:00 2001 From: Josh Friend Date: Sat, 13 Dec 2014 11:42:06 -0500 Subject: [PATCH 2/3] require colour for tests --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a321aa1..2160077 100644 --- a/setup.py +++ b/setup.py @@ -35,7 +35,8 @@ extras_require = { 'psycopg2>=2.5.1', 'pytz>=2014.2', 'python-dateutil>=2.2', - 'pymysql' + 'pymysql', + 'colour>=0.0.4' ], 'anyjson': ['anyjson>=0.3.3'], 'babel': ['Babel>=1.3'], From e2e03bd5e2ae69c97ae9bbf854632c194124cb9d Mon Sep 17 00:00:00 2001 From: Josh Friend Date: Sat, 13 Dec 2014 13:23:16 -0500 Subject: [PATCH 3/3] fix import of colour package --- sqlalchemy_utils/types/color.py | 3 ++- tests/types/test_color.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sqlalchemy_utils/types/color.py b/sqlalchemy_utils/types/color.py index 21f9c2a..dbe743f 100644 --- a/sqlalchemy_utils/types/color.py +++ b/sqlalchemy_utils/types/color.py @@ -5,7 +5,8 @@ from .scalar_coercible import ScalarCoercible colour = None try: - from colour import Colour as python_colour_type + import colour + python_colour_type = colour.Color except ImportError: python_colour_type = None diff --git a/tests/types/test_color.py b/tests/types/test_color.py index 5d970b1..5af476b 100644 --- a/tests/types/test_color.py +++ b/tests/types/test_color.py @@ -6,7 +6,7 @@ from sqlalchemy_utils.types import color from tests import TestCase -@mark.skipif('color.colour is None') +@mark.skipif('color.python_colour_type is None') class TestColorType(TestCase): def create_models(self): class Document(self.Base):