# Path: fantasm/handlers.py
# REQUIRED_SERVICES = ('memcache', 'datastore_v3', 'taskqueue')
# class TemporaryStateObject(dict):
# class FSMLogHandler(webapp2.RequestHandler):
# class FSMFanInCleanupHandler(webapp2.RequestHandler):
# class FSMGraphvizHandler(webapp2.RequestHandler):
# class FSMHandler(webapp2.RequestHandler):
# def getMachineNameFromRequest(request):
# def getMachineConfig(request):
#     def post(self):
#     def post(self):
#     def get(self):
# def getCurrentFSM():
#     def get(self):
#     def post(self):
#     def initialize(self, request, response):
#     def handle_exception(self, exception, debug_mode): # pylint: disable-msg=C0103
#     def get_or_post(self, method='POST'):


import webapp2
from fantasm import handlers, console

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.



Main module for fantasm implementation.

This module should be specified as a handler for fantasm URLs in app.yaml:

  handlers:
  - url: /fantasm/.*
    login: admin
    script: fantasm/main.py
"""

def createApplication():
    """Create new WSGIApplication and register all handlers.

    Returns:
        an instance of webapp2.WSGIApplication with all fantasm handlers registered.
    """
    return webapp2.WSGIApplication([
        (r"^/[^\/]+/fsm/.+",       handlers.FSMHandler),
        (r"^/[^\/]+/cleanup/",     handlers.FSMFanInCleanupHandler),

# Path: fantasm/handlers.py
# REQUIRED_SERVICES = ('memcache', 'datastore_v3', 'taskqueue')
# class TemporaryStateObject(dict):
# class FSMLogHandler(webapp2.RequestHandler):
# class FSMFanInCleanupHandler(webapp2.RequestHandler):
# class FSMGraphvizHandler(webapp2.RequestHandler):
# class FSMHandler(webapp2.RequestHandler):
# def getMachineNameFromRequest(request):
# def getMachineConfig(request):
#     def post(self):
#     def post(self):
#     def get(self):
# def getCurrentFSM():
#     def get(self):
#     def post(self):
#     def initialize(self, request, response):
#     def handle_exception(self, exception, debug_mode): # pylint: disable-msg=C0103
#     def get_or_post(self, method='POST'):


# Path: fantasm/main.py
import webapp2
from fantasm import handlers, console


       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.



Main module for fantasm implementation.

This module should be specified as a handler for fantasm URLs in app.yaml:

  handlers:
  - url: /fantasm/.*
    login: admin
    script: fantasm/main.py
"""

def createApplication():
    """Create new WSGIApplication and register all handlers.

    Returns:
        an instance of webapp2.WSGIApplication with all fantasm handlers registered.
    """
    return webapp2.WSGIApplication([
        (r"^/[^\/]+/fsm/.+",       handlers.FSMHandler),
        (r"^/[^\/]+/cleanup/",     handlers.FSMFanInCleanupHandler),

        (r"^/[^\/]+/graphviz/.+",  handlers.FSMGraphvizHandler),