Source code for towerpy.base

"""Towerpy: an open-source toolbox for processing polarimetric radar data."""

import traceback
import logging


[docs] class TowerpyError(Exception): """Error towerpy class.""" def __init__(self, message, inner=None): super(TowerpyError, self).__init__()
[docs] self.message = 'TowerpyError: {}'.format(message)
[docs] self.inner = inner
[docs] self.traceback = traceback.format_stack()
[docs] def __str__(self): return self.message
[docs] class TowerpyLog(object): """Log Towerpy class.""" def __init__(self, level=None):
[docs] self.logger = logging.getLogger()
if level: handler = logging.StreamHandler() self.logger.setLevel(level) else: handler = logging.NullHandler() self.logger.addHandler(handler)
[docs] def debug(self, *args): self.logger.debug(args[0].format(*args[1:]))
[docs] def info(self, *args): self.logger.info(args[0].format(*args[1:]))
[docs] def warning(self, *args): self.logger.warning(args[0].format(*args[1:]))
[docs] def error(self, *args): self.logger.error(args[0].format(*args[1:]))
[docs] def exception(self, e): self.logger.error('{} {}', e, traceback.format_exc())
[docs] thelog = TowerpyLog()