Update circuitpython-custom-fs.yml, circuitpython-ebyte-e32.yml, and metadata.py
69 lines
1.6 KiB
Python
69 lines
1.6 KiB
Python
from dataclasses import dataclass, field
|
|
from typing import Optional
|
|
|
|
|
|
@dataclass
|
|
class ContentHeadMetadata:
|
|
title_key: str
|
|
description_key: str
|
|
|
|
|
|
@dataclass
|
|
class ContentOpengraphMetadata:
|
|
title_key: str
|
|
description_key: str
|
|
type: Optional[str] = field(default=None)
|
|
url: Optional[str] = field(default=None)
|
|
image_url: Optional[str] = field(default=None)
|
|
image_type: Optional[str] = field(default=None)
|
|
|
|
|
|
@dataclass
|
|
class ContentTwitterMetadata:
|
|
title_key: str
|
|
description_key: str
|
|
|
|
|
|
@dataclass
|
|
class ContentIndexMetadata:
|
|
priority: int
|
|
enable: bool
|
|
title_key: str
|
|
preamble_key: str
|
|
image_alt_key: str
|
|
image_url: str = field(default="/resources/NibblePoker/images/placeholder.png")
|
|
|
|
|
|
@dataclass
|
|
class ContentGeneralMetadata:
|
|
icon: str
|
|
title_key: str
|
|
subtitle_key: str
|
|
tags: list[str] = field(default_factory=list)
|
|
languages: list[str] = field(default_factory=list)
|
|
|
|
|
|
@dataclass
|
|
class ContentMetadata:
|
|
head: ContentHeadMetadata
|
|
opengraph: ContentOpengraphMetadata
|
|
twitter: ContentTwitterMetadata
|
|
index: ContentIndexMetadata
|
|
general: ContentGeneralMetadata
|
|
|
|
def __post_init__(self):
|
|
self.head: dict
|
|
self.head = ContentHeadMetadata(**self.head)
|
|
|
|
self.opengraph: dict
|
|
self.opengraph = ContentOpengraphMetadata(**self.opengraph)
|
|
|
|
self.twitter: dict
|
|
self.twitter = ContentTwitterMetadata(**self.twitter)
|
|
|
|
self.index: dict
|
|
self.index = ContentIndexMetadata(**self.index)
|
|
|
|
self.general: dict
|
|
self.general = ContentGeneralMetadata(**self.general)
|