[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/OFS/ApplicationControl - IRuntimeInfo.py:1.1.2.1 RuntimeInfo.py:1.1.2.1
Philipp von Weitershausen
philikon@gmx.net
Tue, 9 Apr 2002 09:57:55 -0400
Update of /cvs-repository/Zope3/lib/python/Zope/App/OFS/ApplicationControl
In directory cvs.zope.org:/tmp/cvs-serv22029
Added Files:
Tag: Zope-3x-branch
IRuntimeInfo.py RuntimeInfo.py
Log Message:
- introduced the IRuntimeInfo interface and adapter to be used for the
first ApplicationControl view
=== Added File Zope3/lib/python/Zope/App/OFS/ApplicationControl/IRuntimeInfo.py ===
##############################################################################
#
# Copyright (c) 2001, 2002 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
__doc__ = """ Runtime Information
$Id: IRuntimeInfo.py,v 1.1.2.1 2002/04/09 13:57:55 philikon Exp $"""
from Interface import Interface
class IRuntimeInfo(Interface):
""" Runtime Information Adapter for Application Control """
def getZopeVersion():
"""Return a string containing the descriptive version of the
current zope installation"""
def getPythonVersion():
"""Return a string containing verbose description of the python
interpreter"""
def getSystemPlatform():
"""Return the system platform name in a 5 tuple of
(sysname, nodename, release, version, machine)"""
def getCommandLine():
"""Return the command line string Zope was invoked with"""
def getProcessId():
"""Return the process id number currently serving the request"""
def getUptime():
"""Return a string containing the Zope server uptime in unix uptime
format with seconds ([NN days, ]HH:MM:SS)"""
def getEnvironment():
"""Return a dictionary with the environment variables
of the python interpreter"""
=== Added File Zope3/lib/python/Zope/App/OFS/ApplicationControl/RuntimeInfo.py ===
from Zope.App.OFS.ApplicationControl.IRuntimeInfo import IRuntimeInfo
from Zope.App.OFS.ApplicationControl.IApplicationControl import IApplicationControl
from Zope.ComponentArchitecture import getUtility
from IZopeVersion import IZopeVersion
import sys, os, time
class RuntimeInfo:
__implements__ = IRuntimeInfo
__used_for__ = IApplicationControl
def __init__(self, context):
self._context = context
def getContext(self):
return self._context
############################################################
# Implementation methods for interface
# Zope.App.OFS.ApplicationControl.IRuntimeInfo.
def getZopeVersion(self):
'See Zope.App.OFS.ApplicationControl.IRuntimeInfo.IRuntimeInfo'
version_utility = getUtility(self.getContext(), IZopeVersion, None)
if version_utility is None:
return ""
return version_utility.getZopeVersion()
def getPythonVersion(self):
'See Zope.App.OFS.ApplicationControl.IRuntimeInfo.IRuntimeInfo'
return sys.version
def getSystemPlatform(self):
'See Zope.App.OFS.ApplicationControl.IRuntimeInfo.IRuntimeInfo'
return os.uname()
def getCommandLine(self):
'See Zope.App.OFS.ApplicationControl.IRuntimeInfo.IRuntimeInfo'
return sys.argv
def getProcessId(self):
'See Zope.App.OFS.ApplicationControl.IRuntimeInfo.IRuntimeInfo'
return os.getpid()
def getUptime(self):
'See Zope.App.OFS.ApplicationControl.IRuntimeInfo.IRuntimeInfo'
return time.time() - self.getContext().getStartTime()
def getEnvironment(self):
'See Zope.App.OFS.ApplicationControl.IRuntimeInfo.IRuntimeInfo'
return os.environ
#
############################################################