Files
pocketsync/core/sync_engine.py
T
2026-02-21 19:22:08 +01:00

28 lines
710 B
Python

from abc import ABC, abstractmethod
from typing import Callable
class SyncEngine(ABC):
"""Interfaz abstracta para motores de sincronización."""
@abstractmethod
def sync_folder(
self,
src: str,
dst: str,
on_file: Callable[[str], None],
on_summary: Callable[[str], None],
) -> None:
"""
Sincroniza src → dst.
on_file(path) — llamado con cada archivo que se procesa
on_summary(line) — llamado con cada línea de resumen al finalizar
"""
...
@abstractmethod
def is_available(self) -> bool:
"""Devuelve True si el motor está disponible en el sistema actual."""
...