Metadata-Version: 2.0
Name: Disinfect
Version: 0.2.0
Summary: Disinfect: Destroy bad input.
Home-page: https://github.com/corverdevelopment/Disinfect/
Author: Nils Corver
Author-email: nils@corverdevelopment.nl
License: MIT
Keywords: about,this,package
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: Pandora (>=0.1.13)
Requires-Dist: Poort (>=0.1.4)
Requires-Dist: bleach (>=1.4.2)
Requires-Dist: validate-email-address (>=1)

Disinfect: Destroy bad input.
==================================================================

.. begin

Disinfect allows you to validate and sanitize incoming data.

* Free software: MIT license
* Documentation: http://pythonhosted.org/disinfect

A quick example:

.. code-block:: python

   import disinfect as d

   mapping = d.Mapping({
       'first': d.String(),
       Field('infix', default=''): d.String(min_len=0,
                                            max_len=40),
       'last': d.String(),

       'addresses': d.ListOf(Mapping({
           'zipcode': d.String(min_len=5, max_len=5),
           'housenumber': d.Int(min_value=1),
       }))
   })

   user = mapping({
       'first': 'Nils',
       'last': 'Corver',
       'addresses': [
           {'zipcode': '71486', 'housenumber': '49'},
           {'zipcode': '59546', 'housenumber': '709'},
       ]
   })

   assert user == {
       'first': 'Nils',
       'infix': '',
       'last': 'Corver',
       'addresses': [
           {'zipcode': '71486', 'housenumber': 49},
           {'zipcode': '59546', 'housenumber': 709},
       ]
   }

   with raises(d.MultiValueError) as exc:
       mapping({})

   assert exc.value.to_dict() == {
       'first': 'Field is required.',
       'last': 'Field is required.',
       'addresses': 'Field is required.',
   }


Features
--------

* TODO

Authors
-------

``Disinfect`` is written and maintained by
`Nils Corver <nils@corverdevelopment.nl>`_.

A full list of contributors can be found in
`GitHub's overview <https://github.com/corverdevelopment/disinfect/graphs/contributors>`_.


