aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar swfarnsworth <[email protected]>2021-07-24 20:34:09 -0400
committerGravatar swfarnsworth <[email protected]>2021-07-24 20:34:09 -0400
commit4ad4e73cf3d2c25130dcdf6fbc933b5dd0326b72 (patch)
tree571617cfb63f648813894aa36690198fef7e4a34
parentAdded type annotations; refactored. (diff)
Updated type annotations; get_resources_meta now returns a dict of sorted lists of strings in title-case.
-rw-r--r--pydis_site/apps/resources/utils.py28
1 files changed, 10 insertions, 18 deletions
diff --git a/pydis_site/apps/resources/utils.py b/pydis_site/apps/resources/utils.py
index 3c8571ef..bb812ec0 100644
--- a/pydis_site/apps/resources/utils.py
+++ b/pydis_site/apps/resources/utils.py
@@ -15,26 +15,18 @@ default_categories = [
]
-def get_resources_meta() -> dict:
- all_resources = get_resources()
+def get_resources() -> list[dict[str, t.Union[list[str], str]]]:
+ """Loads resource YAMLs from provided path."""
+ return [yaml.safe_load(item.read_text()) for item in RESOURCES_PATH.rglob("*.yaml")]
- resource_meta_tags = {x: set() for x in default_categories}
- for resource in all_resources:
- tags = resource.get("tags")
+def get_resources_meta() -> dict[str, list[str]]:
+ """Combines the tags from each resource into one dictionary of unique tags."""
+ resource_meta_tags = {x: set() for x in default_categories}
- for tag_key, tag_values in tags.items():
+ for resource in get_resources():
+ for tag_key, tag_values in resource.get("tags").items():
for tag_item in tag_values:
- resource_meta_tags[tag_key].add(tag_item)
-
- return resource_meta_tags
-
-
-def get_resources() -> t.List[t.Dict]:
- """Loads resource YAMLs from provided path."""
- resources = []
-
- for item in RESOURCES_PATH.rglob("*.yaml"):
- resources.append(yaml.safe_load(item.read_text()))
+ resource_meta_tags[tag_key].add(tag_item.title().replace('And', 'and', -1))
- return resources
+ return {key: sorted(value) for key, value in resource_meta_tags.items()}