Metadata-Version: 2.1
Name: aiohttp-tools
Version: 0.2.2
Summary: A set of little tools for aiohttp-based sites
Home-page: https://github.com/imbolc/aiohttp_tools
Author: Imbolc
Author-email: imbolc@imbolc.name
License: ISC
Platform: UNKNOWN
Classifier: License :: OSI Approved :: ISC License (ISCL)
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3

aiohttp_tools
=============

It contains:

- ``url_for`` - flask-like url reverser
- ``jsonify`` - flask-like json-dumper with support of ``datetime``, and ``ObjectId``
- ``redirect`` - django-like redirect
- ``get_argument`` - tornado-like util to get GET / POST arguments
- ``static_url`` - tornado-like url-wrapper to add version hast to static asset
- ``flash`` - simple flash messages, usage described bellow
- ``get_client_ip`` - client IP address
- ``fix_host`` - middleware for redirect requests by IP to right domain
- ``template_handler`` - handler that just render template
- ``url_for_processor`` - context processor for using ``url_for`` without passing request
- ``session_processor`` - context_processor for ``aiohttp_session``


Look at the `example` folder for working example.


Installation
------------
::

    pip install aiohttp_tools

Repository: https://github.com/imbolc/aiohttp_tools


Flash messages
--------------
.. code-block:: python

    from aiohttp_tools.flash import flash

    # you should include session middleware before flash middleware
    aiohttp_session.setup(app, ...)
    app.middlewares.append(aiohttp_tools.flash.middleware)
    context_processors.append(aiohttp_tools.flash.context_processor)

    async def handler(request):
        flash.message(request, 'Message', 'level')
        # shortcuts
        flash.info(request, 'Some message')
        flash.success(...)
        flash.warning(...)
        flash.error(...)


.. code-block:: html

    {% for message, level in get_flashed_messages() %}
        <div class="flash {{ level }}">
            {{ message }}
        </div>
    {% endfor %}


