ports/135947: [NEW PORT]devel/py-AddOns:Dynamically extend other objects with AddOns

Wen Heping wenheping at gmail.com
Tue Jun 23 04:40:04 UTC 2009


>Number:         135947
>Category:       ports
>Synopsis:       [NEW PORT]devel/py-AddOns:Dynamically extend other objects with AddOns
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jun 23 04:40:03 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Wen Heping
>Release:        FreeBSD 8.0-CURRENT
>Organization:
ChangAn Middle School
>Environment:
FreeBSD fb8.wenjing.com 8.0-CURRENT FreeBSD 8.0-CURRENT #0: Sun Mar 22 22:12:06 CST 2009     root at fb8.wenjing.com:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
py-AddOn classes are like dynamic mixins, but with their own private attribute
and method namespaces. A concern implemented using add-ons can be added at
runtime to any object that either has a writable __dict__ attribute, or is
weak-referenceable.

AddOn classes are also like adapters, but rather than creating a new instance
each time you ask for one, an existing instance is returned if possible. In
this way, add-ons can keep track of ongoing state. For example, a Persistence
add-on might keep track of whether its subject has been saved to disk.

WWW:    http://www.python.org/pypi/AddOns

(it was prepared for tg2)
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	py-AddOns
#	py-AddOns/Makefile
#	py-AddOns/distinfo
#	py-AddOns/pkg-descr
#
echo c - py-AddOns
mkdir -p py-AddOns > /dev/null 2>&1
echo x - py-AddOns/Makefile
sed 's/^X//' >py-AddOns/Makefile << '4dd2104ce40bffc75013c011ac7bd1f7'
X# New ports collection makefile for:	py-AddOns
X# Date created:		23 June, 2009
X# Whom:			Wen Heping <wenheping at gmail.com>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	AddOns
XPORTVERSION=	0.6
XCATEGORIES=	devel python
XMASTER_SITES=	CHEESESHOP \
X		http://www.turbogears.org/2.0/downloads/2.0.1/
XPKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
X
XMAINTAINER=	wenheping at gmail.com
XCOMMENT=	Dynamically extend other objects with AddOns
X
XBUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}DecoratorTools>=1.7:${PORTSDIR}/devel/py-decoratortools
XRUN_DEPENDS=	${BUILD_DEPENDS}
X
XPLIST_FILES=	%%PYTHON_SITELIBDIR%%/%%PYEASYINSTALL_EGG%%
X
XUSE_ZIP=	yes
XUSE_PYTHON=	yes
XUSE_PYDISTUTILS=	easy_install
X
X.include <bsd.port.mk>
4dd2104ce40bffc75013c011ac7bd1f7
echo x - py-AddOns/distinfo
sed 's/^X//' >py-AddOns/distinfo << '2e8a2412ecaaaf510c6bea6f8e608253'
XMD5 (AddOns-0.6.zip) = cce3b98e30aeee7e918649a18ba8f8b7
XSHA256 (AddOns-0.6.zip) = 65999ce99aaf4ba263be3d25f138eab2bd471a74c5f6a1c8022629a149e7099a
XSIZE (AddOns-0.6.zip) = 33893
2e8a2412ecaaaf510c6bea6f8e608253
echo x - py-AddOns/pkg-descr
sed 's/^X//' >py-AddOns/pkg-descr << '2499a1dc3c888399d551e3ffff1ba8e6'
Xpy-AddOn classes are like dynamic mixins, but with their own private attribute
Xand method namespaces. A concern implemented using add-ons can be added at
Xruntime to any object that either has a writable __dict__ attribute, or is
Xweak-referenceable.
X
XAddOn classes are also like adapters, but rather than creating a new instance
Xeach time you ask for one, an existing instance is returned if possible. In
Xthis way, add-ons can keep track of ongoing state. For example, a Persistence
Xadd-on might keep track of whether its subject has been saved to disk.
X
XWWW:	http://www.python.org/pypi/AddOns
2499a1dc3c888399d551e3ffff1ba8e6
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list