Add a prioritization strategy for games outside of the priority list

This commit is contained in:
DevilXD committed 2024-09-11 22:58:48 +02:00
1 parent ab37b0a143
commit a30e8d3ce4
7 files changed
+123 -53

No files matched your search

+10 -7
View File
@@ -25,8 +25,8 @@ import yarl
from PIL.ImageTk import PhotoImage
from PIL import Image as Image_module
from constants import JsonType, IS_PACKAGED
from exceptions import ExitRequest, ReloadRequest
from constants import IS_PACKAGED, JsonType, PriorityMode
from constants import _resource_path as resource_path # noqa
@@ -165,15 +165,17 @@ def invalidate_cache(instance, *attrnames):
def _serialize(obj: Any) -> Any:
# convert data
d: int | str | float | list[Any] | JsonType
if isinstance(obj, set):
d = list(obj)
elif isinstance(obj, Enum):
d = obj.value
elif isinstance(obj, datetime):
if isinstance(obj, datetime):
if obj.tzinfo is None:
# assume naive objects are UTC
obj = obj.replace(tzinfo=timezone.utc)
d = obj.timestamp()
elif isinstance(obj, set):
d = list(obj)
elif isinstance(obj, Enum):
# NOTE: IntEnum cannot be used, as it will get serialized as a plain integer,
# then loaded back as an integer as well.
d = obj.value
elif isinstance(obj, yarl.URL):
d = str(obj)
else:
@@ -188,8 +190,9 @@ def _serialize(obj: Any) -> Any:
_MISSING = object()
SERIALIZE_ENV: dict[str, Callable[[Any], object]] = {
"set": set,
"datetime": lambda d: datetime.fromtimestamp(d, timezone.utc),
"URL": yarl.URL,
"PriorityMode": PriorityMode,
"datetime": lambda d: datetime.fromtimestamp(d, timezone.utc),
}