"""
Convenience method for logging an ERROR with exception information.
"""
- self.error(msg, *args, exc_info=1)
+ self.error(msg, exc_info=1, *args)
def critical(self, msg, *args, **kwargs):
"""
Log a message with severity 'ERROR' on the root logger,
with exception information.
"""
- error(msg, *args, exc_info=1)
+ error(msg, exc_info=1, *args)
def warning(msg, *args, **kwargs):
"""
return sep.join(words)
joinfields = join
-# for a little bit of speed
-_apply = apply
-
# Find substring, raise exception if not found
def index(s, *args):
"""index(s, sub [,start [,end]]) -> int
Like find but raises ValueError when the substring is not found.
"""
- return _apply(s.index, args)
+ return s.index(*args)
# Find last substring, raise exception if not found
def rindex(s, *args):
Like rfind but raises ValueError when the substring is not found.
"""
- return _apply(s.rindex, args)
+ return s.rindex(*args)
# Count non-overlapping occurrences of substring
def count(s, *args):
interpreted as in slice notation.
"""
- return _apply(s.count, args)
+ return s.count(*args)
# Find substring, return -1 if not found
def find(s, *args):
Return -1 on failure.
"""
- return _apply(s.find, args)
+ return s.find(*args)
# Find last substring, return -1 if not found
def rfind(s, *args):
Return -1 on failure.
"""
- return _apply(s.rfind, args)
+ return s.rfind(*args)
# for a bit of speed
_float = float
# error message isn't compatible but the error type is, and this function
# is complicated enough already.
if type(s) == _StringType:
- return _apply(_int, args)
+ return _int(*args)
else:
raise TypeError('argument 1: expected string, %s found' %
type(s).__name__)
# error message isn't compatible but the error type is, and this function
# is complicated enough already.
if type(s) == _StringType:
- return _apply(_long, args)
+ return _long(*args)
else:
raise TypeError('argument 1: expected string, %s found' %
type(s).__name__)