commits
tags
from __future__ import annotations
import uuid
from dataclasses import dataclass, field
from enum import Enum
class Status(str, Enum):
PENDING = "pending"
RESOLVING = "resolving"
DOWNLOADING = "downloading"
DONE = "done"
ERROR = "error"
STATUS_GLYPH = {
Status.PENDING: "", # nf-fa-clock_o
Status.RESOLVING: "", # nf-fa-refresh
Status.DOWNLOADING: "", # nf-fa-download
Status.DONE: "", # nf-fa-check
Status.ERROR: "", # nf-fa-times
}
@dataclass
class QueueItem:
url: str
title: str = ""
subdir: str = ""
status: Status = Status.PENDING
percent: float = 0.0
speed: str = ""
eta: str = ""
error: str = ""
id: str = field(default_factory=lambda: uuid.uuid4().hex)