diff options
-rw-r--r-- | pydis_site/apps/resources/utils.py | 28 |
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()} |