Skip to content
Snippets Groups Projects

Configure Renovate

Merged Tine Wittler requested to merge renovate/configure into master
Files
4
+ 60
5
@@ -2,7 +2,7 @@
@@ -2,7 +2,7 @@
Documentation: https://docs.iconify.design/types/
Documentation: https://docs.iconify.design/types/
"""
"""
from typing import Dict, Optional
from typing import Collection, Dict, Optional
class IconifyOptional:
class IconifyOptional:
left: int = 0
left: int = 0
@@ -14,7 +14,7 @@ class IconifyOptional:
@@ -14,7 +14,7 @@ class IconifyOptional:
h_flip: bool = False
h_flip: bool = False
v_flip: bool = False
v_flip: bool = False
def _as_dict_optoinal(self):
def _as_dict_optoinal(self) -> dict:
return {
return {
"left": self.left,
"left": self.left,
"top": self.top,
"top": self.top,
@@ -25,10 +25,27 @@ class IconifyOptional:
@@ -25,10 +25,27 @@ class IconifyOptional:
"vFlip": self.v_flip,
"vFlip": self.v_flip,
}
}
 
def _from_dict_optional(self, src: dict) -> None:
 
self.left = src.get("left", None) or self.left
 
self.top = src.get("top", None) or self.top
 
self.width = src.get("width", None) or self.width
 
self.height = src.get("height", None) or self.height
 
self.rotate = src.get("rotate", None) or self.rotate
 
self.h_flip = src.get("hFlip", None) or self.h_flip
 
self.v_flip = src.get("vFlip", None) or self.v_flip
 
 
class IconifyIcon(IconifyOptional):
class IconifyIcon(IconifyOptional):
body: str
body: str
def as_dict(self):
@classmethod
 
def from_dict(cls, src: dict) -> "IconifyIcon":
 
self = cls()
 
self.body = src["body"]
 
self._from_dict_optional(src)
 
return self
 
 
def as_dict(self) -> dict:
return {
return {
"body": self.body,
"body": self.body,
}.update(self._as_dict_optional())
}.update(self._as_dict_optional())
@@ -37,7 +54,14 @@ class IconifyIcon(IconifyOptional):
@@ -37,7 +54,14 @@ class IconifyIcon(IconifyOptional):
class IconifyAlias(IconifyOptional):
class IconifyAlias(IconifyOptional):
parent: str
parent: str
def as_dict(self):
@classmethod
 
def from_dict(cls, src: dict) -> "IconifyAlias":
 
self = cls()
 
self.parent = src["parent"]
 
self._from_dict_optional(src)
 
return self
 
 
def as_dict(self) -> dict:
return {
return {
"parent": self.parent,
"parent": self.parent,
}.update(self._as_dict_optional())
}.update(self._as_dict_optional())
@@ -48,7 +72,38 @@ class IconifyJSON(IconifyOptional):
@@ -48,7 +72,38 @@ class IconifyJSON(IconifyOptional):
icons: Dict[str, IconifyIcon]
icons: Dict[str, IconifyIcon]
aliases: Optional[Dict[str, IconifyAlias]]
aliases: Optional[Dict[str, IconifyAlias]]
def as_dict(self):
@classmethod
 
def from_dict(cls, collection: Optional[dict] = None, only: Optional[Collection[str]] = None) -> "IconifyJSON":
 
if collection is None:
 
collection = {}
 
if only is None:
 
only = set(collection["icons"].keys())
 
if "aliases" in collection:
 
only |= set(collection["aliases"].keys())
 
 
self = cls()
 
 
self.prefix = collection["prefix"]
 
self.icons, self.aliases = {}, {}
 
for name in only:
 
icon_dict = collection["icons"].get(name, None)
 
if icon_dict:
 
self.icons[name] = IconifyIcon.from_dict(icon_dict)
 
continue
 
 
alias_dict = collection["aliases"].get(name, None)
 
if alias_dict:
 
self.aliases[name] = IconifyAlias.from_dict(alias_dict)
 
self.icons[alias_dict["parent"]] = IconifyIcon.from_dict(collection["icons"][alias_dict["parent"]])
 
continue
 
 
raise KeyError(f"{name} is neither a known icon nor alias in the collection.")
 
 
self._from_dict_optional(collection)
 
 
return self
 
 
def as_dict(self) -> dict:
return {
return {
"prefix": self.prefix,
"prefix": self.prefix,
"icons": {name: icon.as_dict() for name, icon in self.icons},
"icons": {name: icon.as_dict() for name, icon in self.icons},
Loading