changeset 3200:d2b1a946fdf4

change ZTUtils Iterator to always iter() its sequence argument also s/multilinkGenerator/viewableGenerator
author Richard Jones <richard@users.sourceforge.net>
date Wed, 16 Feb 2005 22:07:33 +0000
parents 0b7990f54778
children eddcfee2cc19
files CHANGES.txt roundup/cgi/ZTUtils/Iterator.py roundup/cgi/templating.py
diffstat 3 files changed, 9 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES.txt	Wed Feb 16 21:52:32 2005 +0000
+++ b/CHANGES.txt	Wed Feb 16 22:07:33 2005 +0000
@@ -11,6 +11,7 @@
 - replaced MutlilinkIterator with multilinkGenerator (thanks Bob Ippolito)
 - fixed broken csv import in roundup.admin module
 - fixed braino in HTMLClass.filter() (sf bug 1124213)
+- change ZTUtils Iterator to always iter() its sequence argument
 
 
 2005-01-16 0.8.0
--- a/roundup/cgi/ZTUtils/Iterator.py	Wed Feb 16 21:52:32 2005 +0000
+++ b/roundup/cgi/ZTUtils/Iterator.py	Wed Feb 16 22:07:33 2005 +0000
@@ -18,9 +18,9 @@
 iterator.  The next() method fetches the next item, and returns
 true if it succeeds.
 
-$Id: Iterator.py,v 1.3 2004-02-11 23:55:09 richard Exp $'''
+$Id: Iterator.py,v 1.4 2005-02-16 22:07:33 richard Exp $'''
 __docformat__ = 'restructuredtext'
-__version__='$Revision: 1.3 $'[11:-2]
+__version__='$Revision: 1.4 $'[11:-2]
 
 import string
 
@@ -31,13 +31,9 @@
 
     nextIndex = 0
     def __init__(self, seq):
-        self.seq = seq
-        for inner in seqInner, iterInner:
-            if inner._supports(seq):
-                self._inner = inner
-                self._prep_next = inner.prep_next
-                return
-        raise TypeError, "Iterator does not support %s" % `seq`
+        self.seq = iter(seq)     # force seq to be an iterator
+        self._inner = iterInner
+        self._prep_next = iterInner.prep_next
 
     def __getattr__(self, name):
         try:
--- a/roundup/cgi/templating.py	Wed Feb 16 21:52:32 2005 +0000
+++ b/roundup/cgi/templating.py	Wed Feb 16 22:07:33 2005 +0000
@@ -1711,7 +1711,7 @@
         ''' no extended attribute accesses make sense here '''
         raise AttributeError, attr
 
-    def multilinkGenerator(self, values):
+    def viewableGenerator(self, values):
         '''Used to iterate over only the View'able items in a class.'''
         check = self._db.security.hasPermission
         userid = self._client.userid
@@ -1723,14 +1723,14 @@
     def __iter__(self):
         ''' iterate and return a new HTMLItem
         '''
-        return self.multilinkGenerator(self._value)
+        return self.viewableGenerator(self._value)
 
     def reverse(self):
         ''' return the list in reverse order
         '''
         l = self._value[:]
         l.reverse()
-        return self.multilinkGenerator(l)
+        return self.viewableGenerator(l)
 
     def sorted(self, property):
         ''' Return this multilink sorted by the given property '''

Roundup Issue Tracker: http://roundup-tracker.org/