diff --git a/src/main/python/fysom/__init__.py b/src/main/python/fysom/__init__.py index 102dd06..191850e 100644 --- a/src/main/python/fysom/__init__.py +++ b/src/main/python/fysom/__init__.py @@ -192,7 +192,7 @@ def _apply(self, cfg): >> Prepares the event to state transitions map. ''' init = cfg['initial'] if 'initial' in cfg else None - if self._is_base_string(init): + if self._is_base_string_or_int(init): init = {'state': init} self._final = cfg['final'] if 'final' in cfg else None @@ -207,7 +207,7 @@ def add(e): Adds the event into the machine map. ''' if 'src' in e: - src = [e['src']] if self._is_base_string( + src = [e['src']] if self._is_base_string_or_int( e['src']) else e['src'] else: src = [WILDCARD] @@ -357,12 +357,12 @@ def _change_state(self, e): if hasattr(self, fnname): return getattr(self, fnname)(e) - def _is_base_string(self, object): # pragma: no cover + def _is_base_string_or_int(self, object): # pragma: no cover ''' Returns if the object is an instance of basestring. ''' try: - return isinstance(object, basestring) + return isinstance(object, basestring) or isinstance(object, int) except NameError: return isinstance(object, str)