From 33709ed770042ef7773cb886009426545eab4ca1 Mon Sep 17 00:00:00 2001 From: fisher60 Date: Sat, 24 Jul 2021 18:20:47 -0500 Subject: add function to gather tags from resource yaml files I added a function to utils to load all the tags from the resources, this should allow all the tags to be loaded once and exist in memory. --- pydis_site/apps/resources/utils.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'pydis_site') diff --git a/pydis_site/apps/resources/utils.py b/pydis_site/apps/resources/utils.py index 6e21e2ba..3c8571ef 100644 --- a/pydis_site/apps/resources/utils.py +++ b/pydis_site/apps/resources/utils.py @@ -7,6 +7,29 @@ from django.conf import settings RESOURCES_PATH = Path(settings.BASE_DIR, "pydis_site", "apps", "resources", "resources") +default_categories = [ + "topics", + "payment_tiers", + "complexity", + "type" +] + + +def get_resources_meta() -> dict: + all_resources = get_resources() + + resource_meta_tags = {x: set() for x in default_categories} + + for resource in all_resources: + tags = resource.get("tags") + + for tag_key, tag_values in 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 = [] -- cgit v1.2.3