Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Sep 2010 01:25:19 -0700 (PDT)
From:      Douglas William Thrift <douglas@douglasthrift.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/151058: New port: devel/py-pycerberus Highly flexible, no magic input validation library
Message-ID:  <201009290825.o8T8PJ6q069158@slowhand.douglasthrift.net>
Resent-Message-ID: <201009290850.o8T8o1L8036812@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         151058
>Category:       ports
>Synopsis:       New port: devel/py-pycerberus Highly flexible, no magic input validation library
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Sep 29 08:50:00 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Douglas William Thrift
>Release:        FreeBSD 8.0-RELEASE-p4-jc2 amd64
>Organization:
>Environment:
System: FreeBSD slowhand.douglasthrift.net 8.0-RELEASE-p4-jc2 FreeBSD 8.0-RELEASE-p4-jc2 #1: Tue Jul 20 15:11:39 PDT 2010 user@jail8.johncompanies.com:/usr/obj/usr/src/sys/jail8 amd64
>Description:
Pycerberus is a framework to check user data thoroughly so that you can
protect your application from malicious (or just garbled) input data.

 * Remove stupid code which converts input values: After values are
   validated, you can work with real Python types instead of strings -
   e.g. 42 instead of '42', convert database IDs to model objects
   transparently.
 * Implement custom validation rules: Writing custom validators is
   straightforward, everything is well documented and pycerberus only
   uses very little Python magic.
 * Focus on your value-adding application code: Save time by
   implementing every input validation rule only once, but 100% right
   instead of implementing a dozen different half-baked solutions.
 * Ready for global business: i18n support (based on GNU gettext) is
   built in, adding custom translations is easy.
 * Tune it for your needs: You can implement custom behavior in your
   validators, e.g. fetch translations from a database instead of using
   gettext or define custom translations for built-in validators.
 * Use it wherever you like: pycerberus is used in a SMTP server, trac
   macros as well as web applications - there are no dependecies on a
   specific context like web development.

WWW: http://www.schwarz.eu/opensource/projects/pycerberus
>How-To-Repeat:
>Fix:
--- py-pycerberus.shar begins here ---
#!/bin/sh
# This is a shell archive
echo x py-pycerberus
mkdir -p py-pycerberus > /dev/null 2>&1
echo x py-pycerberus/Makefile
sed 's/^X//' > py-pycerberus/Makefile << 'SHAR_END'
X# New ports collection makefile for:    py-pycerberus
X# Date created:                         28 September 2010
X# Whom:                                 Douglas Thrift
X#
X# $FreeBSD$
X#
X
XPORTNAME=	pycerberus
XPORTVERSION=	0.3.3
XCATEGORIES=	devel python
XMASTER_SITES=	CHEESESHOP
XPKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
X
XMAINTAINER=	douglas@douglasthrift.net
XCOMMENT=	Highly flexible, no magic input validation library
X
XLICENSE=	MIT
X
XUSE_PYTHON=	yes
XUSE_PYDISTUTILS=	easy_install
X
X.include <bsd.port.mk>
SHAR_END
echo x py-pycerberus/pkg-descr
sed 's/^X//' > py-pycerberus/pkg-descr << 'SHAR_END'
XPycerberus is a framework to check user data thoroughly so that you can
Xprotect your application from malicious (or just garbled) input data.
X
X * Remove stupid code which converts input values: After values are
X   validated, you can work with real Python types instead of strings -
X   e.g. 42 instead of '42', convert database IDs to model objects
X   transparently.
X * Implement custom validation rules: Writing custom validators is
X   straightforward, everything is well documented and pycerberus only
X   uses very little Python magic.
X * Focus on your value-adding application code: Save time by
X   implementing every input validation rule only once, but 100% right
X   instead of implementing a dozen different half-baked solutions.
X * Ready for global business: i18n support (based on GNU gettext) is
X   built in, adding custom translations is easy.
X * Tune it for your needs: You can implement custom behavior in your
X   validators, e.g. fetch translations from a database instead of using
X   gettext or define custom translations for built-in validators.
X * Use it wherever you like: pycerberus is used in a SMTP server, trac
X   macros as well as web applications - there are no dependecies on a
X   specific context like web development.
X
XWWW: http://www.schwarz.eu/opensource/projects/pycerberus
SHAR_END
echo x py-pycerberus/distinfo
sed 's/^X//' > py-pycerberus/distinfo << 'SHAR_END'
XMD5 (pycerberus-0.3.3.tar.gz) = aa51d406f9afe2c5b896f00e7cf79c42
XSHA256 (pycerberus-0.3.3.tar.gz) = 7578aff85c2d250f1db1a6afb59905b0d44f0271377350f5470aacd69c842b90
XSIZE (pycerberus-0.3.3.tar.gz) = 91661
SHAR_END
echo x py-pycerberus/pkg-plist
sed 's/^X//' > py-pycerberus/pkg-plist << 'SHAR_END'
X@comment $FreeBSD$
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/PKG-INFO
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/SOURCES.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/dependency_links.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/not-zip-safe
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/requires.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO/top_level.txt
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/api.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/api.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/api.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/compat.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/compat.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/compat.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/errors.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/errors.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/errors.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/i18n.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/i18n.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/i18n.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/attribute_dict.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/attribute_dict.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/attribute_dict.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/simple_super.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/simple_super.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/simple_super.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/testcase.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/testcase.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib/testcase.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/release.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/release.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/release.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/schema.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/schema.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/schema.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/test_util.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/test_util.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/test_util.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/__init__.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/__init__.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/__init__.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/basic_numbers.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/basic_numbers.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/basic_numbers.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/domain.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/domain.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/domain.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/email.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/email.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/email.pyo
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/string.py
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/string.pyc
X%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators/string.pyo
X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/EGG-INFO
X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/validators
X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus/lib
X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%/pycerberus
X@dirrm %%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%
SHAR_END
exit
--- py-pycerberus.shar ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009290825.o8T8PJ6q069158>