[Zope-Checkins]
SVN: Zope/z212-deprecation-cleanup/lib/python/ZTUtils/
deprecated and removed
Andreas Jung
andreas at andreas-jung.com
Mon Jun 30 13:47:20 EDT 2008
Log message for revision 87854:
deprecated and removed
Changed:
D Zope/z212-deprecation-cleanup/lib/python/ZTUtils/Iterator.py
U Zope/z212-deprecation-cleanup/lib/python/ZTUtils/tests/testZope.py
-=-
Deleted: Zope/z212-deprecation-cleanup/lib/python/ZTUtils/Iterator.py
===================================================================
--- Zope/z212-deprecation-cleanup/lib/python/ZTUtils/Iterator.py 2008-06-30 17:45:21 UTC (rev 87853)
+++ Zope/z212-deprecation-cleanup/lib/python/ZTUtils/Iterator.py 2008-06-30 17:47:19 UTC (rev 87854)
@@ -1,176 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2002 Zope Corporation and Contributors. All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE
-#
-##############################################################################
-"""Iterator class
-
-BBB 2005/05/01 -- to be removed after 12 months
-
-$Id$
-"""
-import zope.deprecation
-zope.deprecation.deprecated(
- 'Iterator',
- 'Iterator has been deprecated and will be removed in Zope 2.12. '
- 'PageTemplates now use the Zope 3 implementation. Use ZopeIterator '
- 'from Products.PageTemplates.Expressions instead.'
- )
-
-class Iterator:
- '''Simple Iterator class'''
-
- __allow_access_to_unprotected_subobjects__ = 1
-
- nextIndex = 0
- def __init__(self, seq):
- self.seq = seq
- if iterInner._supports(seq, self):
- self._inner = iterInner
- self._prep_next = iterInner.prep_next
- return
- raise TypeError, "Iterator does not support %s" % `seq`
-
- def __getattr__(self, name):
- try:
- inner = getattr(self._inner, 'it_' + name)
- except AttributeError:
- raise AttributeError, name
- return inner(self)
-
- def next(self):
- if not (hasattr(self, '_next') or self._prep_next(self)):
- return 0
- self.index = i = self.nextIndex
- self.nextIndex = i+1
- self._advance(self)
- return 1
-
- def _advance(self, it):
- self.item = self._next
- del self._next
- del self.end
- self._advance = self._inner.advance
- self.start = 1
-
- def number(self): return self.nextIndex
-
- def even(self): return not self.index % 2
-
- def odd(self): return self.index % 2
-
- def parity(self):
- if self.index % 2:
- return 'odd'
- return 'even'
-
- def letter(self, base=ord('a'), radix=26):
- index = self.index
- s = ''
- while 1:
- index, off = divmod(index, radix)
- s = chr(base + off) + s
- if not index: return s
-
- def Letter(self):
- return self.letter(base=ord('A'))
-
- def Roman(self, rnvalues=(
- (1000,'M'),(900,'CM'),(500,'D'),(400,'CD'),
- (100,'C'),(90,'XC'),(50,'L'),(40,'XL'),
- (10,'X'),(9,'IX'),(5,'V'),(4,'IV'),(1,'I')) ):
- n = self.index + 1
- s = ''
- for v, r in rnvalues:
- rct, n = divmod(n, v)
- s = s + r * rct
- return s
-
- def roman(self):
- return self.Roman().lower()
-
- def first(self, name=None):
- if self.start: return 1
- return not self.same_part(name, self._last, self.item)
-
- def last(self, name=None):
- if self.end: return 1
- return not self.same_part(name, self.item, self._next)
-
- def length(self):
- return len(self.seq)
-
- def same_part(self, name, ob1, ob2):
- if name is None:
- return ob1 == ob2
- no = []
- return getattr(ob1, name, no) == getattr(ob2, name, no) is not no
-
- def __iter__(self):
- return IterIter(self)
-
-class InnerBase:
- '''Base Inner class for Iterators'''
- # Prep sets up ._next and .end
- def prep_next(self, it):
- it.next = self.no_next
- it.end = 1
- return 0
-
- # Advance knocks them down
- def advance(self, it):
- it._last = it.item
- it.item = it._next
- del it._next
- del it.end
- it.start = 0
-
- def no_next(self, it):
- return 0
-
- def it_end(self, it):
- if hasattr(it, '_next'):
- return 0
- return not self.prep_next(it)
-
-class IterInner(InnerBase):
- '''Iterator inner class for objects with Python iterators'''
-
- def _supports(self, ob, it):
- try:
- it.iter = iter(ob)
- return 1
- except:
- return 0
-
- def prep_next(self, it):
- try:
- it._next = it.iter.next()
- except StopIteration:
- it._prep_next = self.no_next
- it.end = 1
- return 0
- it.end = 0
- return 1
-
-class IterIter:
- def __init__(self, it):
- self.it = it
- self.skip = it.nextIndex > 0 and not it.end
- def next(self):
- it = self.it
- if self.skip:
- self.skip = 0
- return it.item
- if it.next():
- return it.item
- raise StopIteration
-
-iterInner = IterInner()
Modified: Zope/z212-deprecation-cleanup/lib/python/ZTUtils/tests/testZope.py
===================================================================
--- Zope/z212-deprecation-cleanup/lib/python/ZTUtils/tests/testZope.py 2008-06-30 17:45:21 UTC (rev 87853)
+++ Zope/z212-deprecation-cleanup/lib/python/ZTUtils/tests/testZope.py 2008-06-30 17:47:19 UTC (rev 87854)
@@ -51,6 +51,15 @@
record=record, string=str_)
assert query == 'date:date=%s&integer:int=1&listing:int:list=1&listing:date:list=%s&listing:list=str&string=str&record.arg1:int:list:record=1&record.arg1:date:list:record=%s&record.arg1:list:record=str&record.arg2:int:record=1'%(quote_date,quote_date,quote_date)
+ def testLP241576UsingURLQuotePlus(self):
+
+ str_ =' +'
+ query = make_query(foo=str_)
+# self.assertEqual('foo=%20
+
+
+
+
def testMakeHiddenInput(self):
tag = make_hidden_input(foo='bar')
self.assertEqual(tag, '<input type="hidden" name="foo" value="bar">')
More information about the Zope-Checkins
mailing list