Exemple #1
0
#
# :authors: isra <*****@*****.**>
#           see also AUTHORS file
#
# :copyright:   (c) 2008-2014, The Tor Project, Inc.
#               (c) 2014-2018, Israel Leiva
#
# :license: This is Free Software. See LICENSE for license information.

from twisted.logger import Logger, LogLevel
from twisted.logger import FilteringLogObserver, LogLevelFilterPredicate
from twisted.application import internet
# Define an application logger
log = Logger(namespace="gettor")
predicate = LogLevelFilterPredicate(defaultLogLevel=LogLevel.info)
log.observer = FilteringLogObserver(log.observer, [predicate])


class BaseService(internet.TimerService):
    """
    Base service for Email and Sendmail. It extends the TimerService.
    """
    def __init__(self, name, step, instance, *args, **kwargs):
        """
        Constructor.

        :param name (str): name of the service (just for logging purposes).
        :param step (float): time interval for TimerService, in seconds.
        :param instance (object): instance of Email, Sendmail classes
        """