store error in progress

This commit is contained in:
ducklet 2021-07-28 23:07:04 +02:00
parent e939e57a8f
commit 3d5656392e
5 changed files with 130 additions and 49 deletions

View file

@ -153,6 +153,34 @@ class Progress:
started: datetime = field(default_factory=utcnow)
stopped: Optional[str] = None
@property
def _state(self) -> dict:
return json.loads(self.state or "{}")
@_state.setter
def _state(self, state: dict):
self.state = json.dumps(state, separators=(",", ":"))
@property
def percent(self) -> float:
return self._state["percent"]
@percent.setter
def percent(self, percent: float):
state = self._state
state["percent"] = percent
self._state = state
@property
def error(self) -> str:
return self._state.get("error", "")
@error.setter
def error(self, error: str):
state = self._state
state["error"] = error
self._state = state
@dataclass
class Movie: