Metadata-Version: 2.4
Name: fractal-input
Version: 2.0.0
Summary: Abstracts HTTP request input handling, providing an easy interface for data hydration and validation
Home-page: https://github.com/jefersondaniel/fractal-input
Author: Jeferson Daniel
Author-email: jeferson.daniel412@gmail.com
License: MIT
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: license
Dynamic: summary

Fractal Input
======================================

|Build Status| |Version| |Pyversions|

Abstracts HTTP request input handling, providing an easy interface for data hydration and validation Based on https://github.com/LinioIT/input

Documentation
~~~~~~~~~~~~~

Usage
^^^^^

Install:
''''''''

.. code:: bash

   $ pip install fractal_input

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

.. code:: python

    from fractal_input import InputHandler, DatetimeNode, ListNode

    class UserHandler(InputHandler):
        def define(self):
            user = self.add('user', User)
            user.add('name', 'string')
            user.add('email', 'string')
            user.add('age', 'integer', {'required': False})
            user.add('createdAt', DatetimeNode('%m/%d/%y %H:%M:%S'))

            address = user.add('address', Address)
            address.add('street', 'string')

            telephone = user.add('telephones', ListNode(Telephone))
            telephone.add('number', 'string')

  dict_data = {
    'user': {
      'name': 'James',
      'email': 'james@email.com',
      'age': 20
    }
  }

  input = UserHandler()
  input.bind(dict_data)

  if not input.is_valid():
    print(input.get_error_as_string())

  user = input.get_data()['user']

''''

.. |Build Status| image:: https://travis-ci.org/jefersondaniel/fractal-input.svg
   :target: https://travis-ci.org/jefersondaniel/fractal-input

.. |Version| image:: https://badge.fury.io/py/fractal_input.svg
   :target: https://pypi.python.org/pypi/fractal_input

.. |Pyversions| image:: https://img.shields.io/pypi/pyversions/fractal_input.svg
   :target: https://pypi.python.org/pypi/fractal_input
