Date: Tue, 23 Jun 2009 04:31:32 GMT From: Wen Heping <wenheping@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/135947: [NEW PORT]devel/py-AddOns:Dynamically extend other objects with AddOns Message-ID: <200906230431.n5N4VW1x088865@www.freebsd.org> Resent-Message-ID: <200906230440.n5N4e3ao034943@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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@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@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@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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906230431.n5N4VW1x088865>