Coverage for apis_core/apis_entities/utils.py: 43%
21 statements
« prev ^ index » next coverage.py v7.5.3, created at 2025-09-17 09:41 +0000
« prev ^ index » next coverage.py v7.5.3, created at 2025-09-17 09:41 +0000
1import functools
2from pathlib import Path
4from django.apps import apps
5from django.contrib.contenttypes.models import ContentType
7from apis_core.apis_entities.models import AbstractEntity
10def get_entity_classes():
11 return list(filter(lambda x: issubclass(x, AbstractEntity), apps.get_models()))
14def get_entity_content_types():
15 return [ContentType.objects.get_for_model(model) for model in get_entity_classes()]
18@functools.lru_cache
19def get_feature_codes():
20 try:
21 featurecode_list = [(None, "---")]
22 self = Path(__file__)
23 featurecodefile = self.parent / "featureCodes_en.txt"
24 featurecodes = featurecodefile.read_text()
25 featurecodes = [
26 line.split("\t")
27 for line in featurecodes.split("\n")
28 if len(line.split("\t")) == 3
29 ]
30 featurecode_list.extend([(el[0], el[0] + ": " + el[1]) for el in featurecodes])
31 except Exception:
32 featurecode_list = [(None, "None: could not read list of feature codes")]
33 return featurecode_list