Skip to content

Commit

Permalink
Warming up: Make acquisition wrappers have __parent__ in addition to …
Browse files Browse the repository at this point in the history
…aq_parent

(they point to the same thing).
  • Loading branch information
philikon committed Nov 21, 2006
1 parent f89acd0 commit dd175e5
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions _Acquisition.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,8 +419,18 @@ Wrapper_findattr(Wrapper *self, PyObject *oname,
char *name="";

if (PyString_Check(oname)) name=PyString_AS_STRING(oname);
if (*name=='a' && name[1]=='q' && name[2]=='_')
if ((r=Wrapper_special(self, name+3, oname)))

/* handle aq_ and __parent__ attributes */
if ((*name=='a' && name[1]=='q' && name[2]=='_') ||
(strcmp(name, "__parent__")==0)) {

/* __parent__ is an alias to aq_parent */
if (strcmp(name, "__parent__")==0)
name = "parent";
else
name = name + 3;

if ((r=Wrapper_special(self, name, oname)))
{
if (filter)
switch(apply_filter(filter,OBJECT(self),oname,r,extra,orig))
Expand All @@ -431,6 +441,7 @@ Wrapper_findattr(Wrapper *self, PyObject *oname,
else return r;
}
else PyErr_Clear();
}
else if (*name=='_' && name[1]=='_' &&
(strcmp(name+2,"reduce__")==0 ||
strcmp(name+2,"reduce_ex__")==0 ||
Expand Down

0 comments on commit dd175e5

Please sign in to comment.