import os, sys
try:
import MiscUtils
except:
# When the Webware tarball unravels,
# the components sit next to each other
sys.path.append(os.path.abspath('..'))
import MiscUtils
from MiscUtils.NamedValueAccess import NamedValueAccess
class Object(NamedValueAccess):
"""
Object is the root class for all classes in the WebKit.
This is a placeholder for any future functionality that might be appropriate
for all objects in the framework.
"""
def __init__(self):
""" Initializes the object. Subclasses should invoke super. """
pass
def deprecated(self, method):
"""
The implementation of WebKit sometimes invokes this method which prints a warning that the method you are using has been deprecated.
This method expects that deprecated methods say so at the beginning of their doc string and terminate that msg with @.
For example:
DEPRECATED: Class.foo() on 01/24/01 in ver 0.5. Use Class.bar() instead. @
Putting this information in the doc string is important for accuracy in the generated docs.
Example call:
self.deprecated(self.foo)
"""
import string
docString = method.__doc__
if not docString:
msg = 'DEPRECATED: %s, (no doc string)' % method
else:
msg = string.strip(string.split(method.__doc__, '@')[0])
print msg
# 2000-05-21 ce: Sometimes used for debugging:
#
#def __del__(self):
# print '>> del', self