Build a lookup key from object metadata. Supports both dict-based objects and generated model objects. Returns namespace/name for namespaced objects, just name otherwise.
(obj)
| 18 | |
| 19 | |
| 20 | def _meta_namespace_key(obj): |
| 21 | """Build a lookup key from object metadata. |
| 22 | |
| 23 | Supports both dict-based objects and generated model objects. |
| 24 | Returns namespace/name for namespaced objects, just name otherwise. |
| 25 | """ |
| 26 | if isinstance(obj, dict): |
| 27 | meta = obj.get("metadata") or {} |
| 28 | ns = meta.get("namespace") or "" |
| 29 | name = meta.get("name") or "" |
| 30 | else: |
| 31 | meta = getattr(obj, "metadata", None) |
| 32 | if meta is None: |
| 33 | return "" |
| 34 | if hasattr(meta, "namespace"): |
| 35 | ns = getattr(meta, "namespace", None) or "" |
| 36 | name = getattr(meta, "name", None) or "" |
| 37 | else: |
| 38 | ns = meta.get("namespace") or "" |
| 39 | name = meta.get("name") or "" |
| 40 | if ns: |
| 41 | return "{}/{}".format(ns, name) |
| 42 | return name |
| 43 | |
| 44 | |
| 45 | class ObjectCache: |