mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-07-24 07:39:41 +02:00
* add basic pre-commit file * add flake8 * add isort * add pep585-upgrade (typing upgrades) * use namespace for import * add mypy * update ci for backend * flake8 scope * fix version format * update makefile * disable strict option (temporary) * fix mypy issues * upgrade type hints (pre-commit) * add vscode typing check * add types to dev deps * remote container draft * update setup script * update compose version * run setup on create * dev containers update * remove unused pages * update setup tips * expose ports * Update pre-commit to include flask8-print (#1053) * Add in flake8-print to pre-commit * pin version of flake8-print * formatting * update getting strated docs * add mypy to pre-commit * purge .mypy_cache on clean * drop mypy Co-authored-by: zackbcom <zackbcom@users.noreply.github.com>
28 lines
539 B
Python
28 lines
539 B
Python
from collections.abc import Callable
|
|
from dataclasses import dataclass
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
@dataclass
|
|
class Cron:
|
|
hours: int
|
|
minutes: int
|
|
|
|
@classmethod
|
|
def parse(cls, time_str: str) -> "Cron":
|
|
time = time_str.split(":")
|
|
return Cron(hours=int(time[0]), minutes=int(time[1]))
|
|
|
|
|
|
@dataclass
|
|
class ScheduledFunc(BaseModel):
|
|
id: tuple[str, int]
|
|
name: str
|
|
hour: int
|
|
minutes: int
|
|
callback: Callable
|
|
|
|
max_instances: int = 1
|
|
replace_existing: bool = True
|
|
args: list = []
|