36 lines
597 B
Python
36 lines
597 B
Python
from abc import ABC
|
|
from pydantic import BaseModel
|
|
from typing import Optional, Tuple
|
|
|
|
from mastodon import Mastodon
|
|
|
|
from masto_tools.init import log_in
|
|
|
|
from masto_tools.config import Config
|
|
|
|
class Result(BaseModel):
|
|
"""
|
|
Result of a script step
|
|
"""
|
|
|
|
|
|
class Script(ABC):
|
|
"""
|
|
Metaclass for organizing
|
|
"""
|
|
name:str = ""
|
|
# TODO Typ
|
|
scopes: Tuple[str] = ()
|
|
|
|
def __init__(self, config:Optional[Config]=None):
|
|
|
|
# TODO: Logging
|
|
|
|
if config is None:
|
|
config = Config()
|
|
|
|
self.config = config
|
|
|
|
self.client = log_in(config)
|
|
|