in scripts/yapl/Trace.py [0:0]
def _coerceLevel(self,level):
"""
Return an integer representation based on the given string representation.
The Trace.traceLevels hash table is used to do the translation. The integer
returned is one of the levels from the Level class.
The incoming level is intended to be an integer or a Jython string.
"""
if (type(level) == type(0)):
if (level >= Level.NONE and level <= Level.FINEST):
result = level
else:
raise TraceSpecificationException("Unknown integer trace level: %s Valid integer trace levels: %s <= level <= %s" % (level, Level.NONE, Level.FINEST))
#endIf
elif (type(level) == type("") or type(level) == type(u"")):
level = level.lower()
# Need explicit test for None in the if condition because some valid trace
# levels have a value of 0, e.g., none and off.
if (Trace.traceLevels.get(level) == None):
raise TraceSpecificationException("Unknown trace level: %s Valid trace levels: %s" % (level,Trace.traceNames))
else:
result = Trace.traceLevels[level]
#endIf
else:
raise TraceSpecificationException("Unexpected type of trace level, expected either a string or integer.")
#endIf
return result