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