Mustache for Flask

e.g.


    from flask import Flask
    from pystache import View
    from flaskext.mustache import viewroute, viewerror

    app = Flask(__name__)

    @viewroute(app, '/example/<dynamic>')
    class Example(View):

        """
        An example view
        """

        def __init__(self):
            super(Example, self).__init__()
            self.template = "{{hello}}{{dynamic}}"

        def route(self, **kwargs):
            self.route_args = kwargs

        def hello(self):
            return "hello"

        def dynamic(self):
            return self.route_args.get('dynamic')

    @viewerror(self.app, 404)
    class Example404(View):

        """
        An example 404 view
        """

        def __init__(self):
            super(Example404, self).__init__()
            self.template = "{{hello}}"

        def route(self, **kwargs):
            self.route_args = kwargs

        def hello(self):
            return "hello 404"

    @viewerror(self.app, NotImplementedError, 501)
    class ExampleCustomCode(View):

        """
        An example Exception view
        """

        def __init__(self):
            super(ExampleCustomCode, self).__init__()
            self.template = "{{hello}}"

        def route(self, **kwargs):
            self.route_args = kwargs

        def hello(self):
            return "hello custom code"
