From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Sep 29 08:50:01 2010 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 69E411065673 for ; Wed, 29 Sep 2010 08:50:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 273EB8FC18 for ; Wed, 29 Sep 2010 08:50:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id o8T8o1WV036813 for ; Wed, 29 Sep 2010 08:50:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id o8T8o1L8036812; Wed, 29 Sep 2010 08:50:01 GMT (envelope-from gnats) Resent-Date: Wed, 29 Sep 2010 08:50:01 GMT Resent-Message-Id: <201009290850.o8T8o1L8036812@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Douglas William Thrift Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AF701065695 for ; Wed, 29 Sep 2010 08:45:39 +0000 (UTC) (envelope-from douglas@slowhand.douglasthrift.net) Received: from slowhand.douglasthrift.net (slowhand.douglasthrift.net [69.55.236.40]) by mx1.freebsd.org (Postfix) with ESMTP id 02E648FC19 for ; Wed, 29 Sep 2010 08:45:38 +0000 (UTC) Received: from slowhand.douglasthrift.net (douglas@slowhand.douglasthrift.net [69.55.236.40]) by slowhand.douglasthrift.net (8.14.4/8.14.4) with ESMTP id o8T8PJQb069160 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT) for ; Wed, 29 Sep 2010 01:25:19 -0700 (PDT) (envelope-from douglas@slowhand.douglasthrift.net) Received: (from douglas@localhost) by slowhand.douglasthrift.net (8.14.4/8.14.4/Submit) id o8T8PJ6q069158; Wed, 29 Sep 2010 01:25:19 -0700 (PDT) (envelope-from douglas) Message-Id: <201009290825.o8T8PJ6q069158@slowhand.douglasthrift.net> Date: Wed, 29 Sep 2010 01:25:19 -0700 (PDT) From: Douglas William Thrift To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/151058: New port: devel/py-pycerberus Highly flexible, no magic input validation library X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Douglas William Thrift List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Sep 2010 08:50:01 -0000 >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 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: