#627 __getitem__ stopped getting created between v.214 => v.218

open
nobody
None
5
2013-02-05
2013-02-05
Wesley Tanaka
No

See:

https://sourceforge.net/tracker/?func=detail&atid=551954&aid=3603059&group_id=78018

for background

I confirmed that the Pages.py file in gen_py did have a __getitem__ method when generated by version 214, and did not have a __getitem__ method when generated by version 218.

I'm filing this bug per the thread in https://sourceforge.net/tracker/?func=detail&atid=551954&aid=3603059&group_id=78018

Discussion

  • Roger Upole
    Roger Upole
    2013-02-07

    Probably a result of this commit:
    http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/rev/2ad7e595084e
    It removed support for old-style __getitem__ iterators. They caused a number of problems, chiefly in that the result returned by object[x] may be different from the result returned by object.Item(x) if the object doesn't use zero-based indexing as python does. Also, the way the iterator was cached
    could cause a stale result if the object changed. Right now, __getitem__ is only generated if the object has an Item method.