Recursively load all namespaces from URL patterns.
(resolver, parents=())
| 57 | |
| 58 | |
| 59 | def _load_all_namespaces(resolver, parents=()): |
| 60 | """ |
| 61 | Recursively load all namespaces from URL patterns. |
| 62 | """ |
| 63 | url_patterns = getattr(resolver, "url_patterns", []) |
| 64 | namespaces = [ |
| 65 | ":".join([*parents, url.namespace]) |
| 66 | for url in url_patterns |
| 67 | if getattr(url, "namespace", None) is not None |
| 68 | ] |
| 69 | for pattern in url_patterns: |
| 70 | namespace = getattr(pattern, "namespace", None) |
| 71 | current = parents |
| 72 | if namespace is not None: |
| 73 | current += (namespace,) |
| 74 | namespaces.extend(_load_all_namespaces(pattern, current)) |
| 75 | return namespaces |
| 76 | |
| 77 | |
| 78 | def get_warning_for_invalid_pattern(pattern): |
no test coverage detected