X-Git-Url: https://scm.cri.minesparis.psl.eu/git/Plinn.git/blobdiff_plain/3c4367d8e03450e9a73e61f4247145d2b6c86a33..959d888c17d1403d2eeecc19bc4b5e2c8d1debf6:/shutdown_dispatcher.py?ds=sidebyside diff --git a/shutdown_dispatcher.py b/shutdown_dispatcher.py deleted file mode 100755 index f5d778b..0000000 --- a/shutdown_dispatcher.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -####################################################################################### -# Plinn - http://plinn.org # -# Copyright (C) 2005-2009 Benoît PIN # -# # -# This program is free software; you can redistribute it and/or # -# modify it under the terms of the GNU General Public License # -# as published by the Free Software Foundation; either version 2 # -# of the License, or (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU General Public License for more details. # -# # -# You should have received a copy of the GNU General Public License # -# along with this program; if not, write to the Free Software # -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # -####################################################################################### -""" provides utilities to raise / handle zope server shutdown events - - - -""" - -import asyncore -from zope.event import notify -from zope.component import getSiteManager -from events import ZopeShutdownEvent -from OFS.interfaces import IApplication - -class ZopeShutdownDispatcher(asyncore.dispatcher): - - - def __init__(self, app, map=None): - asyncore.dispatcher.__init__(self, None, map) - self.connected = False - self.app = self._fileno = app - self.add_channel() - - def close(self) : - self.del_channel() - - def readable(self): - return False - - def handle_read(self): - return True - - def writable(self): - return False - - def handle_write (self): - return True - - def clean_shutdown_control(self, phase, time): - asyncore.dispatcher.log_info(self, 'zope shutdown event raised at phase: %s' % phase, 'info') - e = ZopeShutdownEvent(self.app, phase, time) - notify(e) - return e.veto