predicates.py
changeset 10612 84468b90e9c1
parent 10609 e2d8e81bfe68
child 10613 8d9fe02387e3
--- a/predicates.py	Wed Sep 16 11:23:51 2015 +0200
+++ b/predicates.py	Mon Sep 14 16:03:07 2015 +0200
@@ -24,6 +24,7 @@
 from warnings import warn
 from operator import eq
 
+from six import string_types
 from six.moves import range
 
 from logilab.common.deprecation import deprecated
@@ -613,7 +614,7 @@
         super(is_instance, self).__init__(**kwargs)
         self.expected_etypes = expected_etypes
         for etype in self.expected_etypes:
-            assert isinstance(etype, basestring), etype
+            assert isinstance(etype, string_types), etype
 
     def __str__(self):
         return '%s(%s)' % (self.__class__.__name__,
@@ -1093,7 +1094,7 @@
     """
     if from_state_name is not None:
         warn("on_fire_transition's from_state_name argument is unused", DeprecationWarning)
-    if isinstance(tr_names, basestring):
+    if isinstance(tr_names, string_types):
         tr_names = set((tr_names,))
     def match_etype_and_transition(trinfo):
         # take care trinfo.transition is None when calling change_state
@@ -1293,7 +1294,7 @@
             raise ValueError("match_form_params() can't be called with both "
                              "positional and named arguments")
         if expected:
-            if len(expected) == 1 and not isinstance(expected[0], basestring):
+            if len(expected) == 1 and not isinstance(expected[0], string_types):
                 raise ValueError("match_form_params() positional arguments "
                                  "must be strings")
             super(match_form_params, self).__init__(*expected)