1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
"""
$Id: utils.py 21785 2006-04-04 20:34:35Z hannosch $
"""
from UserDict import UserDict
from types import UnicodeType
import sys, os
import logging
logger = logging.getLogger('PlacelessTranslationService')
class Registry(UserDict):
def register(self, name, value):
self[name] = value
def log(msg, severity=logging.DEBUG, detail='', error=None):
if type(msg) is UnicodeType:
msg = msg.encode(sys.getdefaultencoding(), 'replace')
if type(detail) is UnicodeType:
detail = detail.encode(sys.getdefaultencoding(), 'replace')
logger.log(severity, '%s \n%s', msg, detail)
def make_relative_location(popath):
# return ("INSTANCE_HOME", stripped po path)
# when po is located below INSTANCE_HOME
# and return ("ZOPE_HOME", stripped po path)
# when po is located below ZOPE_HOME
popath = os.path.normpath(popath)
instance_home = os.path.normpath(INSTANCE_HOME) + os.sep
zope_home = os.path.normpath(ZOPE_HOME) + os.sep
if popath.startswith(instance_home):
return ("INSTANCE_HOME", popath[len(instance_home):])
elif popath.startswith(zope_home):
return ("ZOPE_HOME", popath[len(zope_home):])
else:
return ("ABSOLUTE", popath)
|