sure....im not super thrilled with this whole issue since id rather
__init__ is just left alone, but the whole "auto-add-to-the-session"
behavior is pretty popular...so just submit a ticket/patch for
whatever version you want there.

On Feb 6, 7:29 am, "Patrick Lewis" <[EMAIL PROTECTED]> wrote:
> On Feb 5, 4:21 pm, [EMAIL PROTECTED] wrote:
>
> > > oh right, old_init(), sorry, didnt read the first post carefully.
>
> > > i almost think the answer here might be to not even create the
> > > modified __init__()/old_init() method in the general case...if
> > > youre calling session.save(someobject) its not really needed.
>
> > > but for now...maybe class.__init__.func_globals['oldinit'] ?
>
> > nah, i tried that, that is the globals of the module-level; while the
> > locals that are inside the func... are in the .func_code. And
> > especialy the outside-scope locally-bound references are
> > the .func_code.co_freevars - but names only.
>
> That's what I'm seeing as well.
>
>
>
> > one way is to expose class._old__init__, or if that is not acceptable
> > (which is understandable), to completely copy not only name & doc,
> > but also func_defaults and the args/kwargs-names from .code - see
> > inspect. But i dont think the .func_code attributes are writable, so
> > they have to go under the function itself.
> > A really sneaky way would be to make/fake a new code obj - well, the
> > doc says "not for faint at heart" (-:
>
> > now i am completely offtopic.
> > ciao
>
> If any of the following were to be included at some point, I would be
> very happy:
>
> 1- class_._old_init = oldinit
> 2- class_.__init__._sa_oldinit = oldinit
> 3- class_._old_init_argspec =  inspect.getargspec(oldinit)
> 4- class_.__init__._sa_old_init_argspec = inspect.getargspec(oldinit)
>
> #2 or #4 could even serve to replace the functionality of
> __init__._sa_mapper_init (indicating that the class has already been
> initialized)
>
> I'd submit a patch if Michael indicates that one of them might be
> accepted.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to