Ginés Martínez Sánchez avatar Ginés Martínez Sánchez committed 2840ec1 Draft

preparing version 0.4.0

Comments (0)

Files changed (5)

 GinsFSM
 =======
 
+Do you can draw your development?
+
+Do you can view the behaviour of your application in real time?
+
+This framework can!.
+
 GinsFSM is a python library to develop systems based in finite-state machines
 (http://en.wikipedia.org/wiki/Finite-state_machine).
 This model is really useful when writing networking and communication
 
 GinsFSM is released under terms of The MIT
 License <http://www.opensource.org/licenses/mit-license>
-
    You can adapt this file completely to your liking, but it should at least
    contain the root `toctree` directive.
 
-Wellcome
-========
+GinsFSM
+=======
+
+Do you can draw your development?
+
+Do you can view the behaviour of your application in real time?
+
+This framework can!.
 
 GinsFSM is a python library to develop systems based in finite-state machines
 (`FSM <http://en.wikipedia.org/wiki/Finite-state_machine>`_).
-
 This model is really useful when writing networking and communication
 applications.
-It has been my programming style over 20 years of C language development,
-and now that I’m moving to python,
-I want to continue with that approach.
-I’m from Madrid (Spain). My English is very bad,
-so I would appreciate you telling any mistake you see.
 
+The idea is very simple:
+
+    * All objects, called :term:`gobj`, are instances of a derived
+      :class:`ginsfsm.gobj.GObj` class.
+    * The :term:`GObj` has an inside :term:`simple-machine`
+      that defines its behavior.
+    * The communication between :term:`gobj`'s happens via :term:`event`'s.
+
+Thus, the nature of this system is fully asynchronous and event-driven.
+
+The interface is simple and common to all objects; you just have to change the
+name of the event and the data they carry.
+
+It includes a http server, and a wsgi server.
+
+Are you tired of the tyranny of monolithic wsgi function? break the yoke.
+Send the http response when you want.
 
 Installation
 ============
 
     examples
 
+About the author
+================
+
+This programming style has been my programming style
+over 20 years of C language development,
+and now that I’m moving to python,
+I want to continue with that approach.
+I’m from Madrid (Spain). My English is very bad,
+so I would appreciate you telling any mistake you see.
+
 License
 =======
 

ginsfsm/__init__.py

 """
 A python library to do development based in Finite State Machines.
 """
-__version__ = '0.3.3'
+__version__ = '0.4.0'
+__title__ = 'ginsfsm'
+__author__ = 'Ginés Martínez'
+__license__ = 'MIT License'
+__copyright__ = 'Copyright 2013 Ginés Martínez'
+
+
+# Set default logging handler to avoid "No handler found" warnings.
+import logging
+try:  # Python 2.7+
+    from logging import NullHandler
+except ImportError:
+    class NullHandler(logging.Handler):
+        def emit(self, record):
+            pass
+
+logging.getLogger(__name__).addHandler(NullHandler())

ginsfsm/scaffolds/simple_gobj/+package+/__init__.py_tmpl

     def start_up(self):
         """ Initialization zone.
         """
+        if self.subscriber is None:
+            self.subscriber = self.parent
         self.subscribe_event(None, self.subscriber)
 
 import os
 import sys
+import ginsfsm
 
 from setuptools import setup, find_packages
 
 except IOError:
     README = CHANGES = ''
 
-from ginsfsm import __version__
-
 setup(name='ginsfsm',
-    version=__version__,
+    version=ginsfsm.__version__,
     description='GinsFSM, a library to develop systems based in '
                 'finite-state machines',
     long_description=README + "\n\n",  # + CHANGES,
         "License :: OSI Approved :: MIT License",
     ],
 
-    keywords='framework communication finite state machine fsm '
+    keywords='framework communication fsm finite state machine fsm wsgi http '
              'socket poll epoll kqueue select server client workflow',
-    author='ginsmar',
+    author='Ginés Martínez',
     author_email='ginsmar at artgins.com',
     url='http://ginsfsm.org',
     license='MIT License',
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.