diff options
| author | 2021-07-24 20:34:09 -0400 | |
|---|---|---|
| committer | 2021-07-24 20:34:09 -0400 | |
| commit | 4ad4e73cf3d2c25130dcdf6fbc933b5dd0326b72 (patch) | |
| tree | 571617cfb63f648813894aa36690198fef7e4a34 | |
| parent | Added 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.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()}  |