33 lines
845 B
Python
33 lines
845 B
Python
from abc import abstractmethod
|
|
from typing import Optional
|
|
|
|
from sh_edraft.logging.base.logger_base import LoggerBase
|
|
from sh_edraft.publishing.model.template import Template
|
|
from sh_edraft.service.base.service_base import ServiceBase
|
|
|
|
|
|
class PublisherBase(ServiceBase):
|
|
|
|
@abstractmethod
|
|
def __init__(self):
|
|
ServiceBase.__init__(self)
|
|
|
|
self._logger: Optional[LoggerBase] = None
|
|
self._source_path: Optional[str] = None
|
|
self._dist_path: Optional[str] = None
|
|
self._settings: Optional[list[Template]] = None
|
|
|
|
self._included_files: list[str] = []
|
|
self._excluded_files: list[str] = []
|
|
|
|
@property
|
|
@abstractmethod
|
|
def source_path(self) -> str: pass
|
|
|
|
@property
|
|
@abstractmethod
|
|
def dist_path(self) -> str: pass
|
|
|
|
@abstractmethod
|
|
def publish(self) -> str: pass
|