Re: [Zope-dev] SVN: Zope/branches/2.10/ backport r94905 to 2.10: Acquisition wrappers now correctly proxy `__iter__`.

2009-06-11 Thread Andreas Jung
On 11.06.09 22:14, Tres Seaver wrote:
> Andreas Jung wrote:
> > On 11.06.09 20:10, Tres Seaver wrote:
> >>>  """
> >> This doctest is failing for me in an up-to-date checkout of the 2.10
> >> branch.  Andreas, can you please investigate?
> >>
> > No failures for me with fresh 2.10 checkouts on Linux and Mac.
>
> Heh, I was asking for Andreas Zeidler to check it out.  Nevertheless,
> your feedback promped me to check whether I had up-to-date versions of
> the C extensions:  after a 'make clean all inplace', the tests pass.
>
> Sorry for implying that the change was elsewhere than my own head!
>
No problem :)

Andreas
begin:vcard
fn:Andreas Jung
n:Jung;Andreas
org:ZOPYX Ltd. & Co. KG
adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany
email;internet:i...@zopyx.com
title:CEO
tel;work:+49-7071-793376
tel;fax:+49-7071-7936840
tel;home:+49-7071-793257
x-mozilla-html:FALSE
url:www.zopyx.com
version:2.1
end:vcard

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] SVN: Zope/branches/2.10/ backport r94905 to 2.10: Acquisition wrappers now correctly proxy `__iter__`.

2009-06-11 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Andreas Jung wrote:
> On 11.06.09 20:10, Tres Seaver wrote:
>>>  """
>> This doctest is failing for me in an up-to-date checkout of the 2.10
>> branch.  Andreas, can you please investigate?
>>
> No failures for me with fresh 2.10 checkouts on Linux and Mac.

Heh, I was asking for Andreas Zeidler to check it out.  Nevertheless,
your feedback promped me to check whether I had up-to-date versions of
the C extensions:  after a 'make clean all inplace', the tests pass.

Sorry for implying that the change was elsewhere than my own head!


Tres.
- --
===
Tres Seaver  +1 540-429-0999  tsea...@palladion.com
Palladion Software   "Excellence by Design"http://palladion.com
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFKMWWY+gerLs4ltQ4RApoJAJwMxuKWkU5M3z7N+TeG+C46FFHgKgCgqHax
e3Yoem+tCynhtiXTPRYkT4E=
=39WM
-END PGP SIGNATURE-

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] SVN: Zope/branches/2.10/ backport r94905 to 2.10: Acquisition wrappers now correctly proxy `__iter__`.

2009-06-11 Thread Andreas Jung
On 11.06.09 20:10, Tres Seaver wrote:
>
> >  """
>
> This doctest is failing for me in an up-to-date checkout of the 2.10
> branch.  Andreas, can you please investigate?
>
No failures for me with fresh 2.10 checkouts on Linux and Mac.

Andreas
begin:vcard
fn:Andreas Jung
n:Jung;Andreas
org:ZOPYX Ltd. & Co. KG
adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany
email;internet:i...@zopyx.com
title:CEO
tel;work:+49-7071-793376
tel;fax:+49-7071-7936840
tel;home:+49-7071-793257
x-mozilla-html:FALSE
url:www.zopyx.com
version:2.1
end:vcard

___
Zope-Dev maillist  -  Zope-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] SVN: Zope/branches/2.10/ backport r94905 to 2.10: Acquisition wrappers now correctly proxy `__iter__`.

2009-06-11 Thread Tres Seaver
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Andreas Zeidler wrote:
> Log message for revision 94907:
>   backport r94905 to 2.10: Acquisition wrappers now correctly proxy 
> `__iter__`.
>   
> 
> Changed:
>   U   Zope/branches/2.10/doc/CHANGES.txt
>   U   Zope/branches/2.10/lib/python/Acquisition/_Acquisition.c
>   U   Zope/branches/2.10/lib/python/Acquisition/tests.py
> 
> -=-
> Modified: Zope/branches/2.10/doc/CHANGES.txt
> ===
> --- Zope/branches/2.10/doc/CHANGES.txt2009-01-21 16:25:34 UTC (rev 
> 94906)
> +++ Zope/branches/2.10/doc/CHANGES.txt2009-01-21 16:26:38 UTC (rev 
> 94907)
> @@ -19,6 +19,8 @@
>  
>  Bugs fixed
>  
> +  - Acquisition wrappers now correctly proxy __iter__.
> +
>- Products.PluginIndexes.PathIndex:  backported doc fixes /
>  optiimizations from trunk (and ExtendedPathIndex).
>  
> 
> Modified: Zope/branches/2.10/lib/python/Acquisition/_Acquisition.c
> ===
> --- Zope/branches/2.10/lib/python/Acquisition/_Acquisition.c  2009-01-21 
> 16:25:34 UTC (rev 94906)
> +++ Zope/branches/2.10/lib/python/Acquisition/_Acquisition.c  2009-01-21 
> 16:26:38 UTC (rev 94907)
> @@ -38,7 +38,8 @@
>*py__long__, *py__float__, *py__oct__, *py__hex__,
>*py__getitem__, *py__setitem__, *py__delitem__,
>*py__getslice__, *py__setslice__, *py__delslice__,  *py__contains__,
> -  *py__len__, *py__of__, *py__call__, *py__repr__, *py__str__, *py__cmp__;
> +  *py__len__, *py__of__, *py__call__, *py__repr__, *py__str__, *py__cmp__,
> +  *py__iter__;
>  
>  static PyObject *Acquired=0;
>  
> @@ -82,7 +83,8 @@
>INIT_PY_NAME(__repr__);
>INIT_PY_NAME(__str__);
>INIT_PY_NAME(__cmp__);
> -  
> +  INIT_PY_NAME(__iter__);
> +
>  #undef INIT_PY_NAME
>  }
>  
> @@ -817,6 +819,12 @@
>return c;
>  }
>  
> +static PyObject * 
> +Wrapper_iter(Wrapper *self)
> +{
> +  return CallMethodO(OBJECT(self), py__iter__, NULL, NULL); 
> +}
> +
>  static PySequenceMethods Wrapper_as_sequence = {
>   (inquiry)Wrapper_length,/*sq_length*/
>   (binaryfunc)Wrapper_add,/*sq_concat*/
> @@ -1222,7 +1230,7 @@
>/* tp_clear  */ (inquiry)Wrapper_clear,
>/* tp_richcompare*/ (richcmpfunc)0,
>/* tp_weaklistoffset */ (long)0,
> -  /* tp_iter   */ (getiterfunc)0,
> +  (getiterfunc)Wrapper_iter, /*tp_iter*/
>/* tp_iternext   */ (iternextfunc)0,
>/* tp_methods*/ Wrapper_methods,
>/* tp_members*/ 0,
> @@ -1266,7 +1274,7 @@
>/* tp_clear  */ (inquiry)Wrapper_clear,
>/* tp_richcompare*/ (richcmpfunc)0,
>/* tp_weaklistoffset */ (long)0,
> -  /* tp_iter   */ (getiterfunc)0,
> +  (getiterfunc)Wrapper_iter, /*tp_iter*/
>/* tp_iternext   */ (iternextfunc)0,
>/* tp_methods*/ Wrapper_methods,
>/* tp_members*/ 0,
> 
> Modified: Zope/branches/2.10/lib/python/Acquisition/tests.py
> ===
> --- Zope/branches/2.10/lib/python/Acquisition/tests.py2009-01-21 
> 16:25:34 UTC (rev 94906)
> +++ Zope/branches/2.10/lib/python/Acquisition/tests.py2009-01-21 
> 16:26:38 UTC (rev 94907)
> @@ -1636,6 +1636,9 @@
>  ... def __contains__(self, key):
>  ... print 'contains', repr(key)
>  ... return key == 5
> +... def __iter__(self):
> +... print 'iterating...'
> +... return iter((42,))
>  
>  The naked class behaves like this:
>  
> @@ -1646,6 +1649,9 @@
>  >>> 5 in c
>  contains 5
>  True
> +>>> list(c)
> +iterating...
> +[42]
>  
>  Let's put c in the context of i:
>  
> @@ -1660,7 +1666,59 @@
>  >>> 5 in i.c
>  contains 5
>  True
> +>>> list(i.c)
> +iterating...
> +[42]
>  
> +Let's let's test the same again with an explicit wrapper:
> +
> +>>> import Acquisition
> +>>> class Impl(Acquisition.Explicit):
> +... pass
> +
> +>>> class C(Acquisition.Explicit):
> +... def __getitem__(self, key):
> +... print 'getitem', key
> +... if key == 4:
> +... raise IndexError
> +... return key
> +... def __contains__(self, key):
> +... print 'contains', repr(key)
> +... return key == 5
> +... def __iter__(self):
> +... print 'iterating...'
> +... return iter((42,))
> +
> +The naked class behaves like this:
> +
> +>>> c = C()
> +>>> 3 in c
> +contains 3
> +False
> +>>> 5 in c
> +contains 5
> +True
> +>>> list(c)
> +iterating...
> +[42]
> +
> +Let's put c in the context of i:
> +
> +>>> i = Impl()
> +>>> i.c = c
> +
> +Now check that __contains__ is properly used:
> +
> +>>> 3 in i.c # c.__of__(i)
> +contains 3
> +Fa