Re: [Zope-dev] __del__

2000-09-18 Thread Andy McKay

Wow thanks. I'll see what I can do. I can think of a whole bunch of uses for
that.

- Original Message -
From: "Chris McDonough" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Monday, September 18, 2000 3:10 PM
Subject: Re: [Zope-dev] __del__


> Oh I see... objects don't get __del__ or manage_beforeDelete called on
> them when the ZODB is shut down, this only happens when they're
> explicitly deleted.  This is the wonder of transparent persistence :-)
>
> If you want things to happen only at Zope start and shutdown, I've had
> some success using an __init__.py that does things in an otherwise blank
> product in combination with the setting of a Python sys.exitfunc.  The
> following __init__.py in an otherwise blank Product directory sends an
> email when Zope is stopped or started:
>
> import os, sys, popen2, socket
>
> prefix = "StartStopNotifier:"
>
> def stop_hook():
> mailout(user, prefix, host, "Zope dev portal stop")
> if callable(existing_exitfunc):
> existing_exitfunc()
>
> def start_hook():
> mailout(user, prefix, host, "Zope dev portal start")
>
> def mailout(user, prefix, host, subject):
> cmd="/bin/mail %s -s '%s %s %s' < /dev/null" %
> (user,prefix,host,subject)
> popen2.popen2(cmd)
>
> user = os.environ.get('STARTSTOPNOTIFY', None)
> if user is not None:
> host = socket.gethostname()
> existing_exitfunc = getattr(sys, 'exitfunc', None)
> sys.exitfunc = stop_hook
> start_hook()
>
>
> [EMAIL PROTECTED] wrote:
> >
> > I was hoping to have this method fired Zope is shut down, restarted etc
and
> > not call it implicitly. The theory being if this object is cached it
will
> > have to be unloaded at some point?
> >
> > Ive used manage_beforeDelete() elsewhere and it works fine when Im
> > destroying an object whilst ZODB is still running.
> >
> > Thanks.
> --
> Chris McDonough
> Digital Creations, Publishers of Zope
> http://www.zope.org
>


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




Re: [Zope-dev] __del__

2000-09-18 Thread Chris McDonough

Oh I see... objects don't get __del__ or manage_beforeDelete called on
them when the ZODB is shut down, this only happens when they're
explicitly deleted.  This is the wonder of transparent persistence :-)

If you want things to happen only at Zope start and shutdown, I've had
some success using an __init__.py that does things in an otherwise blank
product in combination with the setting of a Python sys.exitfunc.  The
following __init__.py in an otherwise blank Product directory sends an
email when Zope is stopped or started:

import os, sys, popen2, socket

prefix = "StartStopNotifier:"

def stop_hook():
mailout(user, prefix, host, "Zope dev portal stop")
if callable(existing_exitfunc):
existing_exitfunc()

def start_hook():
mailout(user, prefix, host, "Zope dev portal start")

def mailout(user, prefix, host, subject):
cmd="/bin/mail %s -s '%s %s %s' < /dev/null" %
(user,prefix,host,subject)
popen2.popen2(cmd)
  
user = os.environ.get('STARTSTOPNOTIFY', None)
if user is not None:
host = socket.gethostname()
existing_exitfunc = getattr(sys, 'exitfunc', None)
sys.exitfunc = stop_hook
start_hook()


[EMAIL PROTECTED] wrote:
> 
> I was hoping to have this method fired Zope is shut down, restarted etc and
> not call it implicitly. The theory being if this object is cached it will
> have to be unloaded at some point?
> 
> Ive used manage_beforeDelete() elsewhere and it works fine when Im
> destroying an object whilst ZODB is still running.
> 
> Thanks.
-- 
Chris McDonough
Digital Creations, Publishers of Zope
http://www.zope.org

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




Re: [Zope-dev] __del__

2000-09-18 Thread Andy McKay

I was hoping to have this method fired Zope is shut down, restarted etc and
not call it implicitly. The theory being if this object is cached it will
have to be unloaded at some point?

Ive used manage_beforeDelete() elsewhere and it works fine when Im
destroying an object whilst ZODB is still running.

Thanks.

- Original Message -
From: "Chris McDonough" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Monday, September 18, 2000 2:32 PM
Subject: Re: [Zope-dev] __del__


> If it's an object in an objectmanager, you can define a
> manage_beforeDelete() method on it (see ObjectManager.py).
>
> How are you destroying it?
>
> [EMAIL PROTECTED] wrote:
> >
> > Is there an method that I can use as a hook when an object is destroyed?
(Im
> > trying to save some _v_ data prior to destruction. Ive tried __del__ but
> > this doesnt seem to get called.
> >
> > Thanks.
> >
> > --
> >   Andy McKay, Developer.
> >   ActiveState.
> >
> > ___
> > Zope-Dev maillist  -  [EMAIL PROTECTED]
> > http://lists.zope.org/mailman/listinfo/zope-dev
> > **  No cross posts or HTML encoding!  **
> > (Related lists -
> >  http://lists.zope.org/mailman/listinfo/zope-announce
> >  http://lists.zope.org/mailman/listinfo/zope )
>
> --
> Chris McDonough
> Digital Creations, Publishers of Zope
> http://www.zope.org
>
> ___
> Zope-Dev maillist  -  [EMAIL PROTECTED]
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )
>


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




Re: [Zope-dev] __del__

2000-09-18 Thread Chris McDonough

If it's an object in an objectmanager, you can define a
manage_beforeDelete() method on it (see ObjectManager.py).

How are you destroying it?

[EMAIL PROTECTED] wrote:
> 
> Is there an method that I can use as a hook when an object is destroyed? (Im
> trying to save some _v_ data prior to destruction. Ive tried __del__ but
> this doesnt seem to get called.
> 
> Thanks.
> 
> --
>   Andy McKay, Developer.
>   ActiveState.
> 
> ___
> Zope-Dev maillist  -  [EMAIL PROTECTED]
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )

-- 
Chris McDonough
Digital Creations, Publishers of Zope
http://www.zope.org

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




[Zope-dev] __del__

2000-09-18 Thread Andy McKay

Is there an method that I can use as a hook when an object is destroyed? (Im
trying to save some _v_ data prior to destruction. Ive tried __del__ but
this doesnt seem to get called.

Thanks.

--
  Andy McKay, Developer.
  ActiveState.


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