26 lines
531 B
Python
26 lines
531 B
Python
from abc import ABC, abstractmethod
|
|
from typing import Tuple
|
|
import database
|
|
|
|
|
|
class Plugin(ABC):
|
|
models = []
|
|
|
|
@abstractmethod
|
|
def get_interval(self) -> int:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def execute(self) -> None:
|
|
pass
|
|
|
|
def cleanup(self) -> None:
|
|
return 0
|
|
|
|
def execute_wrapper(self) -> None:
|
|
with database.DB.connection_context():
|
|
self.execute()
|
|
|
|
def cleanup_wrapper(self) -> None:
|
|
with database.DB.connection_context():
|
|
return self.cleanup() |