diff options
| author | Matthias Kestenholz <mk@feinheit.ch> | 2019-02-24 13:08:59 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2019-02-27 17:16:48 -0500 |
| commit | 77e53da127cfb5d4f0c9a3540a02ff24f04fe9e2 (patch) | |
| tree | c5232cbd37b89992db48755f30d2106e683d0ef8 /django | |
| parent | d29c8ea124d4c19e23f73b8a307dd177d8a1fe7b (diff) | |
[2.2.x] Refs #30179 -- Moved topological sort functions to django.utils.
Backport of e04209e181c99ac16ca769d115ac640015a83757 from master.
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/migrations/autodetector.py | 3 | ||||
| -rw-r--r-- | django/utils/topological_sort.py (renamed from django/db/migrations/topological_sort.py) | 6 |
2 files changed, 6 insertions, 3 deletions
diff --git a/django/db/migrations/autodetector.py b/django/db/migrations/autodetector.py index 3d3eeb9230..0dc1c77c53 100644 --- a/django/db/migrations/autodetector.py +++ b/django/db/migrations/autodetector.py @@ -12,8 +12,7 @@ from django.db.migrations.questioner import MigrationQuestioner from django.db.migrations.utils import ( COMPILED_REGEX_TYPE, RegexObject, get_migration_name_timestamp, ) - -from .topological_sort import stable_topological_sort +from django.utils.topological_sort import stable_topological_sort class MigrationAutodetector: diff --git a/django/db/migrations/topological_sort.py b/django/utils/topological_sort.py index e0a22c9236..3f8ea0f2e4 100644 --- a/django/db/migrations/topological_sort.py +++ b/django/utils/topological_sort.py @@ -1,3 +1,7 @@ +class CyclicDependencyError(ValueError): + pass + + def topological_sort_as_sets(dependency_graph): """ Variation of Kahn's algorithm (1962) that returns sets. @@ -13,7 +17,7 @@ def topological_sort_as_sets(dependency_graph): current = {node for node, deps in todo.items() if not deps} if not current: - raise ValueError('Cyclic dependency in graph: {}'.format( + raise CyclicDependencyError('Cyclic dependency in graph: {}'.format( ', '.join(repr(x) for x in todo.items()))) yield current |
