Skip to content

Commit

Permalink
Merge bf22da6 into c9a56f7
Browse files Browse the repository at this point in the history
  • Loading branch information
wesleyks committed Oct 18, 2018
2 parents c9a56f7 + bf22da6 commit 6ba15fc
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 25 deletions.
31 changes: 20 additions & 11 deletions finesm/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
import inspect
import logging

logger = logging.getLogger()


class State(object):
Expand All @@ -17,17 +20,23 @@ def decorator(f):
return f
return decorator

@property
def on_enter(self):
return self._on_event(self.EVENT_ENTER)

@property
def on_update(self):
return self._on_event(self.EVENT_UPDATE)

@property
def on_exit(self):
return self._on_event(self.EVENT_EXIT)
def on_enter(self, *args):
if len(args) == 1 and callable(args[0]):
return self._on_event(self.EVENT_ENTER)(args[0])
else:
return self._on_event(self.EVENT_ENTER)

def on_update(self, *args):
if len(args) == 1 and callable(args[0]):
return self._on_event(self.EVENT_UPDATE)(args[0])
else:
return self._on_event(self.EVENT_UPDATE)

def on_exit(self, *args):
if len(args) == 1 and callable(args[0]):
return self._on_event(self.EVENT_EXIT)(args[0])
else:
return self._on_event(self.EVENT_EXIT)

def on_message(self, message_name):
def decorator(f):
Expand Down
1 change: 0 additions & 1 deletion requirements_dev.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
pypandoc==1.3.3
twine==1.8.1
-r requirements_test.txt
17 changes: 5 additions & 12 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,30 +1,23 @@
from setuptools import setup
from codecs import open
from os import path

here = path.abspath(path.dirname(__file__))

try:
import pypandoc
long_description = pypandoc.convert('README.md', 'rst')
except(IOError, ImportError):
with open(path.join(here, 'README.md'), encoding='utf-8') as f:
long_description = f.read()
with open('README.md', 'r') as fh:
long_description = fh.read()

setup(
name='finesm',

version='0.0.1',
version='1.0.0',

description='A fine state machine',
long_description=long_description,
long_description_content_type="text/markdown",

url='https://github.com/wesleyks/finesm',

license='MIT',

classifiers=[
'Development Status :: 4 - Beta',
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Developers',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
Expand Down
2 changes: 1 addition & 1 deletion tests/test_state_machine.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def waiting_start(self):
def waiting_exit(self):
self.foo = True

@running.on_enter
@running.on_enter()
def running_enter(self):
self.bar = True

Expand Down

0 comments on commit 6ba15fc

Please sign in to comment.