Metadata-Version: 2.1
Name: froi
Version: 0.4.1
Summary: A Flask wrapper to easily handle routes defined as Python native objects
Home-page: UNKNOWN
License: MIT
Keywords: flask wrapper,router,router interface,interface,wrapper
Author: Almer Mendoza
Author-email: atmalmer23@gmail.com
Requires-Python: >=3.6,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: flask (>=1.0,<2.0)
Description-Content-Type: text/x-rst

Froi (Flask Router Object Interface)
====================================

A wrapper for Flask's native routing as a form of template.
Routes will be defined as objects to easily define domains.

.. code-block:: python

    # Inside some route object
    from froi import Froi
    class SomeRoute(Froi):
        def __init__(self, app):
            super().__init__(app, 'SomeRoute', '/some_route')

        def install(self):
            # define a get route on base
            self.setget().route(func=sample_fxn_1)

            # define a post
            self.setpost().route('/do_something', func=sample_fxn_2)

            # define a put
            self.setput().route('/edit_something', func=sample_fxn_3)

            # define a delete
            self.setdelete().route('/delete_something', func=sample_fxn_4)

    # Inside your server handler
    from flask import Flask
    from some_route import SomeRoute
    app = Flask(config.APP_NAME)
    SomeRoute(app).install()
    app.run()

If you want a RESTful pattern to handle the routes, you can omit defining the `install` function.

.. code-block:: python

    from froi import Froi
    class SomeRoute(Froi):
        def __init__(self, app):
            super().__init__(app, 'SomeRoute', '/some_route')

        def get(self):
            ... do something

        def post(self):
            ... do something

This will automatically create the defined `GET`, `POST`, `PUT`, and `DELETE` endpoints.

