diff --git a/requirements.txt b/requirements.txt index d781e910..59462dc7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,4 @@ requests==2.2.1 celery==3.1.11 gevent==1.0.0 redis==2.9.1 +six==1.9.0 diff --git a/snowplow_tracker/tracker.py b/snowplow_tracker/tracker.py index d31439f1..700b9832 100644 --- a/snowplow_tracker/tracker.py +++ b/snowplow_tracker/tracker.py @@ -21,6 +21,7 @@ import time import uuid +import six from snowplow_tracker import payload, _version from snowplow_tracker import subject as _subject from contracts import contract, new_contract @@ -44,9 +45,9 @@ class Tracker: - new_contract("non_empty_string", lambda s: isinstance(s, str) + new_contract("non_empty_string", lambda s: isinstance(s, six.string_types) and len(s) > 0) - new_contract("string_or_none", lambda s: (isinstance(s, str) + new_contract("string_or_none", lambda s: (isinstance(s, six.string_types) and len(s) > 0) or s is None) new_contract("payload", lambda s: isinstance(s, payload.Payload))