"""Implementation of anonymizer service."""
import logging

import nlp_ws

from src.worker import Worker

_log = logging.getLogger(__name__)


class AnonymizerWorker(nlp_ws.NLPWorker):
    """Class implementing TextFixerWorker worker."""

    @classmethod
    def static_init(cls, config):
        """Initialize process."""
        cls._configuration = config.get("tool").get("configuration", "ccl")
        cls._default_language = config.get("tool").get("default_language", "pl")
        cls._default_replacer = config.get("tool").get("default_replacer", "tag")

        _log.info(
            "AnonymizerWorker initialized with configuration: %s, default language: %s, default replacer: %s",
            cls._configuration,
            cls._default_language,
            cls._default_replacer,
        )

    def __init__(self):
        self._worker = Worker(
            configuration=self._configuration,
            default_language=self._default_language,
            default_replacer=self._default_replacer,
        )

    def process(self, input_file, task_options, output_file):
        self._worker.process(input_file, task_options, output_file)


if __name__ == "__main__":
    nlp_ws.NLPService.main(AnonymizerWorker, pause_at_exit=False)