-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Philipp von Weitershausen wrote:
Log message for revision 68231: Officially deprecate the BBB methods on the iterator and add a note regarding our plans for the other iterator BBB code
Changed: U Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/Expressions.py
-=- Modified: Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/Expressions.py =================================================================== --- Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/Expressions.py 2006-05-22 01:08:55 UTC (rev 68230) +++ Zope/branches/ajung-zpt-end-game/lib/python/Products/PageTemplates/Expressions.py 2006-05-22 01:17:43 UTC (rev 68231) @@ -35,6 +35,7 @@
# BBB 2005/05/01 -- remove after 12 months import zope.deprecation +from zope.deprecation import deprecate zope.deprecation.deprecated( ("StringExpr", "NotExpr", "PathExpr", "SubPathExpr"), "Zope 2 uses the Zope 3 ZPT engine now. Expression types can be " @@ -98,7 +99,12 @@
__allow_access_to_unprotected_subobjects__ = True
- # these used to be properties in ZTUtils.Iterator.Iterator + # The things below used to be attributes in + # ZTUtils.Iterator.Iterator, however in zope.tales.tales.Iterator + # they're methods. We need BBB on the Python level so we redefine + # them as properties here. Eventually, we would like to get rid + # of them, though, so that we won't have to maintain yet another + # iterator class somewhere.
@property def index(self): @@ -116,18 +122,27 @@ def item(self): return super(ZopeIterator, self).item()
- # these aren't in zope.tales.tales.Iterator, but were in - # ZTUtils.Iterator.Iterator + # The following things were in ZTUtils.Iterator.Iterator but + # aren't anymore in zope.tales.tales.Iterator. For a good reason. + # They're just insane.
+ # BBB 2005/05/01 -- to be removed after 12 months + @property + @deprecate("The 'nextIndex' method has been deprecated and will disappear " + "in Zope 2.12. Use 'iterator.index+1' instead.") def nextIndex(self): return self.index + 1
+ @deprecate("The 'first' method has been deprecated and will disappear " + "in Zope 2.12. Use the 'start' property instead.") def first(self, name=None): if self.start: return True return not self.same_part(name, self._last, self.item)
+ @deprecate("The 'last' method has been deprecated and will disappear " + "in Zope 2.12. Use the 'end' property instead.") def last(self, name=None): if self.end: return True
I don't think deprecating 'first' and 'last' is appropriate here: they *aren't* synonyms for 'start' and 'end; they are used to implement sort-break processing. Here is the comment from the checkin which initially documented them (http://mail.zope.org/pipermail/zpt/2001-December/002598.html):
+ Note that 'first' and 'last' are intended for use with sorted + sequences. They try to divide the sequence into group of items + with the same value. If you provide a path, then the value + obtained by following that path from a sequence item is used for + grouping, otherwise the value of the item is used. You can + provide the path by passing it as a parameter, as in + "python:repeat['item'].first('color')", or by appending it to the + path from the repeat variable, as in "repeat/item/first/color". +
I'm pretty sure that such changes ought to be proposed on the 'zpt' list, as they are germane outside Zope's own ZPT implementation. Tres. - -- =================================================================== Tres Seaver +1 202-558-7113 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFEcS80+gerLs4ltQ4RAgMJAKCApnKFQfGOsPmvXDwu52S0cPqnmACeLK6i gkrqn4HkVCFaEG+5QCIgTzE= =OSnn -----END PGP SIGNATURE-----