aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar fisher60 <[email protected]>2021-07-24 18:20:47 -0500
committerGravatar fisher60 <[email protected]>2021-07-24 18:20:47 -0500
commit33709ed770042ef7773cb886009426545eab4ca1 (patch)
tree9ec84cee2c40049d91c00974d965c5d511ca7d30
parentchange resources to prepare for smart resource search (diff)
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.
-rw-r--r--pydis_site/apps/resources/utils.py23
1 files changed, 23 insertions, 0 deletions
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 = []