Coverage for /Users/davegaeddert/Developer/dropseed/plain/plain-flags/plain/flags/utils.py: 62%
8 statements
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-23 11:16 -0600
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-23 11:16 -0600
1from typing import Any
3from plain import models
6def coerce_key(key: Any) -> str:
7 """
8 Converts a flag key to a string for storage in the DB
9 (special handling of model instances)
10 """
11 if isinstance(key, str):
12 return key
14 if isinstance(key, models.Model):
15 return f"{key._meta.package_label}.{key._meta.model_name}:{key.pk}"
17 return str(key)