mirror of
https://github.com/home-assistant/core.git
synced 2025-11-15 22:10:09 +00:00
Fix scaffolding generations (#138820)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
"""Utility functions for the scaffold script."""
|
||||
|
||||
import argparse
|
||||
from typing import Any
|
||||
|
||||
from .const import COMPONENT_DIR
|
||||
|
||||
@@ -13,3 +14,23 @@ def valid_integration(integration):
|
||||
)
|
||||
|
||||
return integration
|
||||
|
||||
|
||||
_MANIFEST_SORT_KEYS = {"domain": ".domain", "name": ".name"}
|
||||
|
||||
|
||||
def _sort_manifest_keys(key: str) -> str:
|
||||
"""Sort manifest keys."""
|
||||
return _MANIFEST_SORT_KEYS.get(key, key)
|
||||
|
||||
|
||||
def sort_manifest(manifest: dict[str, Any]) -> bool:
|
||||
"""Sort manifest."""
|
||||
keys = list(manifest)
|
||||
if (keys_sorted := sorted(keys, key=_sort_manifest_keys)) != keys:
|
||||
sorted_manifest = {key: manifest[key] for key in keys_sorted}
|
||||
manifest.clear()
|
||||
manifest.update(sorted_manifest)
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user