Iniital release of DosVault.
This commit is contained in:
29
src/libs/objects.py
Normal file
29
src/libs/objects.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from dataclasses import dataclass, field
|
||||
from typing import List, Optional
|
||||
from pathlib import Path
|
||||
|
||||
@dataclass
|
||||
class Metadata:
|
||||
title: str = None
|
||||
description: Optional[str] = None
|
||||
year: Optional[int] = None
|
||||
developer: Optional[str] = None
|
||||
publisher: Optional[str] = None
|
||||
genre: Optional[List[str]] = field(default_factory=list)
|
||||
players: Optional[int] = None
|
||||
cover_image: Optional[str] = None # Remote URL
|
||||
screenshot: Optional[str] = None # Remote URL
|
||||
cover_image_path: Optional[Path] = None # Local file path
|
||||
screenshot_path: Optional[Path] = None # Local file path
|
||||
tags: Optional[List[str]] = field(default_factory=list)
|
||||
|
||||
@dataclass
|
||||
class Game:
|
||||
title: str
|
||||
path: Path
|
||||
metadata: Metadata|None = None
|
||||
|
||||
@dataclass
|
||||
class Roms:
|
||||
list: List[Game] = field(default_factory=list)
|
||||
|
||||
Reference in New Issue
Block a user