Re: [Zope-dev] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-15 Thread Hanno Schlichting
Chris Withers wrote:
> Hanno Schlichting wrote:
>>> how would I force recompilation in a buildout environment?
>> Via "python setup.py build_ext -i -f" - works in all environments.
>> Deleting the .so files is probably another way.
> 
> I guess that equates to:
> bin/buildout setup path/to/setup.py build_ext -i -f
> ?

No.

cd 
python setup.py build_ext -i -f

There's nothing buildout specific about this.

Hanno

___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-15 Thread Chris Withers
Hanno Schlichting wrote:
 If so, then how do I get it to recompile now that I've svn up'ed my Zope 
 2 trunk to get Andreas' changes?
>>> You need to check out Acquisition from its SVN trunk and include it into
>>> your environment (develop line in buildout or "python setup.py
>>> develop"). Forcing a recompilation of C extensions works via the normal
>>> "python setup.py build_ext -i -f"
>> how would I force recompilation in a buildout environment?
> 
> Via "python setup.py build_ext -i -f" - works in all environments.
> Deleting the .so files is probably another way.

I guess that equates to:
bin/buildout setup path/to/setup.py build_ext -i -f
?

>> PS: It worked, please could you roll the new acquisition egg and update 
>> the required version on the Zope 2 trunk?
> 
> Acquisition 2.12.1 is released and included into Zope 2 trunk. I'm
> adding the Windows eggs right now.

Cool, I've tried it out and it works fine. If only Andreas was so 
responsive ;-)

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-15 Thread Hanno Schlichting
Chris Withers wrote:
> Hanno Schlichting wrote:
>>> This has include/Acquisition, but is that actually being used?
>>> If not, then why is it included like that?
>> These are only the header files of Acquisition. Some of the C extensions
>> of the Zope2 egg depend on those headers.
> 
> Liar! ;-)

Ok, sigh. The external includes more, but only the .h file is actually
used from it. Give me an updated Subversion and we can include files
instead of directories as externals ;)

>>> If so, then how do I get it to recompile now that I've svn up'ed my Zope 
>>> 2 trunk to get Andreas' changes?
>> You need to check out Acquisition from its SVN trunk and include it into
>> your environment (develop line in buildout or "python setup.py
>> develop"). Forcing a recompilation of C extensions works via the normal
>> "python setup.py build_ext -i -f"
> 
> how would I force recompilation in a buildout environment?

Via "python setup.py build_ext -i -f" - works in all environments.
Deleting the .so files is probably another way.

> PS: It worked, please could you roll the new acquisition egg and update 
> the required version on the Zope 2 trunk?

Acquisition 2.12.1 is released and included into Zope 2 trunk. I'm
adding the Windows eggs right now.

Hanno

___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-15 Thread Chris Withers
Hanno Schlichting wrote:
>> I've running with a develop copy of the Zope 2 trunk.
> 
> Which doesn't include a develop version of Acquisition. Acquisition is
> its own package.

Ah, okay, I'll pop Acquisition into develop and test before the end of 
this email ;-)

>> This has include/Acquisition, but is that actually being used?
>> If not, then why is it included like that?
> 
> These are only the header files of Acquisition. Some of the C extensions
> of the Zope2 egg depend on those headers.

Liar! ;-)

If that were true then this wouldn't happened:

ch...@server2:~/zope$ svn up Zope2/

Fetching external item into 'Zope2/include/Acquisition'
UZope2/include/Acquisition/_Acquisition.c
UZope2/include/Acquisition/tests.py
Updated external to revision 99199.

>> If so, then how do I get it to recompile now that I've svn up'ed my Zope 
>> 2 trunk to get Andreas' changes?
> 
> You need to check out Acquisition from its SVN trunk and include it into
> your environment (develop line in buildout or "python setup.py
> develop"). Forcing a recompilation of C extensions works via the normal
> "python setup.py build_ext -i -f"

...how would I force recompilation in a buildout environment?

Chris

PS: It worked, please could you roll the new acquisition egg and update 
the required version on the Zope 2 trunk?

-- 
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-15 Thread Hanno Schlichting
Chris Withers wrote:
> Hanno Schlichting wrote:
>> Andreas Zeidler wrote:
>>> Chris Withers wrote:
 https://bugs.launchpad.net/zope2/+bug/360761

 Now, who knows how to fix it? ;-)
>>> this has been fixed in http://svn.zope.org/?view=rev&rev=99191
>> Wonderful, if Chris can confirm this, I'll make a new Acquisition release.
> 
> I've running with a develop copy of the Zope 2 trunk.

Which doesn't include a develop version of Acquisition. Acquisition is
its own package.

> This has include/Acquisition, but is that actually being used?
> If not, then why is it included like that?

These are only the header files of Acquisition. Some of the C extensions
of the Zope2 egg depend on those headers.

> If so, then how do I get it to recompile now that I've svn up'ed my Zope 
> 2 trunk to get Andreas' changes?

You need to check out Acquisition from its SVN trunk and include it into
your environment (develop line in buildout or "python setup.py
develop"). Forcing a recompilation of C extensions works via the normal
"python setup.py build_ext -i -f"

Hanno

___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-15 Thread Chris Withers
Hanno Schlichting wrote:
> Andreas Zeidler wrote:
>> Chris Withers wrote:
>>> https://bugs.launchpad.net/zope2/+bug/360761
>>>
>>> Now, who knows how to fix it? ;-)
>> this has been fixed in http://svn.zope.org/?view=rev&rev=99191
> 
> Wonderful, if Chris can confirm this, I'll make a new Acquisition release.

I've running with a develop copy of the Zope 2 trunk.

This has include/Acquisition, but is that actually being used?
If not, then why is it included like that?

If so, then how do I get it to recompile now that I've svn up'ed my Zope 
2 trunk to get Andreas' changes?

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-15 Thread Hanno Schlichting
Andreas Zeidler wrote:
> Chris Withers wrote:
>> https://bugs.launchpad.net/zope2/+bug/360761
>>
>> Now, who knows how to fix it? ;-)
> 
> this has been fixed in http://svn.zope.org/?view=rev&rev=99191

Wonderful, if Chris can confirm this, I'll make a new Acquisition release.

Hanno

___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-15 Thread Andreas Zeidler
Chris Withers wrote:
> Andreas Jung wrote:
>>> Yes, so this change introduced a bug. Who's the right person to fix it?
>>> What's the right collector to report this in?
>> Since Acquisition is a core module of Zope: the Zope 2 tracker on Launchpad.
> 
> Done:
> 
> https://bugs.launchpad.net/zope2/+bug/360761
> 
> Now, who knows how to fix it? ;-)

this has been fixed in http://svn.zope.org/?view=rev&rev=99191

cheers,


andi

-- 
zeidler it consulting - http://zitc.de/ - i...@zitc.de
friedelstraße 31 - 12047 berlin - telefon +49 30 25563779
pgp key at http://zitc.de/pgp - http://wwwkeys.de.pgp.net/
plone 3.2.1 released! -- http://plone.org/products/plone/

___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-14 Thread Andreas Zeidler
hi chris,

Chris Withers wrote:
> Andreas Jung wrote:
>>> Yes, so this change introduced a bug. Who's the right person to fix it?
>>> What's the right collector to report this in?
>> Since Acquisition is a core module of Zope: the Zope 2 tracker on Launchpad.
> 
> Done:
> 
> https://bugs.launchpad.net/zope2/+bug/360761

thanks!

> Now, who knows how to fix it? ;-)

since i broke things, i'll try to have a look...


andi

-- 
zeidler it consulting - http://zitc.de/ - i...@zitc.de
friedelstraße 31 - 12047 berlin - telefon +49 30 25563779
pgp key at http://zitc.de/pgp - http://wwwkeys.de.pgp.net/
plone 3.2.2 released! -- http://plone.org/products/plone/

___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-13 Thread Chris Withers
Andreas Jung wrote:
>> Yes, so this change introduced a bug. Who's the right person to fix it?
>> What's the right collector to report this in?
> 
> Since Acquisition is a core module of Zope: the Zope 2 tracker on Launchpad.

Done:

https://bugs.launchpad.net/zope2/+bug/360761

Now, who knows how to fix it? ;-)

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-13 Thread Andreas Jung
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 13.04.2009 17:58 Uhr, Chris Withers wrote:
> Hanno Schlichting wrote:
>> The change you are interested in is probably:
>>
>> http://svn.zope.org/Zope/trunk/lib/python/Acquisition/_Acquisition.c?rev=94905&r1=92577&r2=94905
>>
>> Acquisition now proxy real iteration via __iter__ correctly (it didn't
>> do that before). What is missing from that change is probably the
>> fallback to the __getitem__ protocol, in case the class isn't a real
>> iterator.
> 
> Yes, so this change introduced a bug. Who's the right person to fix it?
> What's the right collector to report this in?

Since Acquisition is a core module of Zope: the Zope 2 tracker on Launchpad.

Andreas
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAknji+wACgkQCJIWIbr9KYxd5ACeO1Sx3ubk9laxtgJsS51w2YRf
UJkAnjUV/N52ZAH0KPI1vqZM7MMt0oHD
=hk9o
-END PGP SIGNATURE-
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-13 Thread Chris Withers
Hanno Schlichting wrote:
> The change you are interested in is probably:
> 
> http://svn.zope.org/Zope/trunk/lib/python/Acquisition/_Acquisition.c?rev=94905&r1=92577&r2=94905
> 
> Acquisition now proxy real iteration via __iter__ correctly (it didn't
> do that before). What is missing from that change is probably the
> fallback to the __getitem__ protocol, in case the class isn't a real
> iterator.

Yes, so this change introduced a bug. Who's the right person to fix it?
What's the right collector to report this in?

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-13 Thread Hanno Schlichting
Chris Withers wrote:
> If you try and iterate over an instance of this class, you get an 
> AttributeError: __iter__. This doesn't make a lot of sense, since you 
> *don't* get an error like that if you iterate over an instance of:
> 
> class X:
>def __getitem__(self,i):
>  return 1

The change you are interested in is probably:

http://svn.zope.org/Zope/trunk/lib/python/Acquisition/_Acquisition.c?rev=94905&r1=92577&r2=94905

Acquisition now proxy real iteration via __iter__ correctly (it didn't
do that before). What is missing from that change is probably the
fallback to the __getitem__ protocol, in case the class isn't a real
iterator.

Hanno

___
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] iterating over class without __iter__ but with __getitem__ raises AttributeError:__iter__

2009-04-13 Thread Dieter Maurer
Chris Withers wrote at 2009-4-13 03:14 +0100:
>The context for this is trying to get ParsedXML 1.5 running on Zope 2.12 
>under Python 2.5 (don't ask why!)
>
>Anyway, ParsedXML has a class:
>
>class ManageableNodeList(ManageableWrapper, DOMProxy.NodeListProxy,
>  Acquisition.Implicit):
> "A wrapper around a DOM NodeList."
> meta_type = "Manageable NodeList"
>
> # redefine to get back the [] syntax with acquisition, eh?
> def __getslice__(self, i, j):
> return self.wrapNodeList(self._node.__getslice__(i,j))
>
> # redefine to get back the [] syntax with acquisition, eh?
> def __getitem__(self, i):
> return self.wrapDOMObj(self._node.__getitem__(i))
>
>If you try and iterate over an instance of this class, you get an 
>AttributeError: __iter__. This doesn't make a lot of sense, since you 
>*don't* get an error like that if you iterate over an instance of:
>
>class X:
>   def __getitem__(self,i):
> return 1
>
>I'm wondering there's some ExtensionClass or similar weirdness happening 
>here?
>
>(It didn't used to happen under Zope 2.9/Python 2.4)

It does not go wrong with Zope 2.11/Python 2.4, neither.
Maybe, changes done for Python 2.5/2.6 compatibility broke something.

Here is a simpler script to check for problems:

from Acquisition import Implicit
class C(Implicit):
  def __getitem__(self, i): return self.l[i]
  l=[1,2,3]

c=C()
iter(c)
list(_)
c2=C().__of__(c)
iter(c2)
list(_)




-- 
Dieter
___
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 )