From e65bef9c22244fc9bcd22a37d335f5f76ba16ff5 Mon Sep 17 00:00:00 2001 From: Eddy Pedroni Date: Thu, 26 Sep 2024 10:02:15 +0200 Subject: Create separate packages for library and CLI --- src/scheduler.py | 61 -------------------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100644 src/scheduler.py (limited to 'src/scheduler.py') diff --git a/src/scheduler.py b/src/scheduler.py deleted file mode 100644 index e1c783b..0000000 --- a/src/scheduler.py +++ /dev/null @@ -1,61 +0,0 @@ -from typing import Protocol -from abc import abstractmethod -from card import Card - -class Scheduler(Protocol): - """ - Schedulers must implement this interface to be usable in a session. - """ - @abstractmethod - def __init__(self, cards: dict[str, Card], state: dict): - """ - Create a new instance of the scheduler from a dictionary of - Cards indexed by ID and a scheduler-specific state as a dict. - """ - raise NotImplementedError - - @abstractmethod - def practice(self, size: int) -> list[str]: - """ - Return a list of card IDs of the requested size, if possible. - This list is intended for practice. - """ - raise NotImplementedError - - @abstractmethod - def test(self, size: int) -> list[str]: - """ - Return a list of card IDs of the requested size, if possible. - This list is intended to test the player's knowledge. - """ - raise NotImplementedError - - @abstractmethod - def update(self, results: dict[str, int]) -> None: - """ - Takes a dictionary of card IDs and integers, where the integer - is 0 if the player failed to guess the other side of the card, - of 1 if the player succeeded. - """ - raise NotImplementedError - - @abstractmethod - def getState(self) -> dict: - """ - Return the scheduler's state for storage. - """ - raise NotImplementedError - -SCHEDULERS = ["brutal"] - -def getSchedulerClass(name: str) -> Scheduler: - """ - Returns the class object for the requested scheduler, if one exists. - """ - match name: - case "brutal": - from scheduler_brutal import SchedulerBrutal - return SchedulerBrutal - case _: - raise Exception(f"Unknown scheduler: {name}") - -- cgit v1.2.3