openedx-learning 0.30.1__py2.py3-none-any.whl → 0.31.0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- openedx_learning/__init__.py +1 -1
- openedx_learning/api/authoring.py +2 -9
- openedx_learning/api/authoring_models.py +7 -7
- openedx_learning/api/django.py +24 -0
- openedx_learning/apps/openedx_content/admin.py +13 -0
- openedx_learning/apps/openedx_content/api.py +16 -0
- openedx_learning/apps/{authoring → openedx_content/applets}/backup_restore/api.py +2 -2
- openedx_learning/apps/{authoring → openedx_content/applets}/backup_restore/serializers.py +1 -4
- openedx_learning/apps/{authoring → openedx_content/applets}/backup_restore/toml.py +4 -4
- openedx_learning/apps/{authoring → openedx_content/applets}/backup_restore/zipper.py +28 -14
- openedx_learning/apps/{authoring → openedx_content/applets}/collections/api.py +1 -1
- openedx_learning/apps/{authoring → openedx_content/applets}/collections/models.py +4 -1
- openedx_learning/apps/{authoring → openedx_content/applets}/components/admin.py +1 -1
- openedx_learning/apps/{authoring → openedx_content/applets}/components/api.py +1 -1
- openedx_learning/apps/{authoring → openedx_content/applets}/components/models.py +4 -2
- openedx_learning/apps/{authoring → openedx_content/applets}/contents/api.py +3 -2
- openedx_learning/apps/{authoring → openedx_content/applets}/contents/models.py +8 -2
- openedx_learning/apps/{authoring → openedx_content/applets}/publishing/api.py +1 -1
- openedx_learning/apps/{authoring → openedx_content/applets}/publishing/models/entity_list.py +1 -0
- openedx_learning/apps/{authoring → openedx_content/applets}/sections/api.py +1 -2
- openedx_learning/apps/{authoring → openedx_content/applets}/subsections/api.py +1 -2
- openedx_learning/apps/{authoring → openedx_content/applets}/units/api.py +1 -2
- openedx_learning/apps/openedx_content/apps.py +52 -0
- openedx_learning/apps/{authoring → openedx_content/backcompat}/backup_restore/apps.py +1 -1
- openedx_learning/apps/{authoring → openedx_content/backcompat}/collections/apps.py +1 -1
- openedx_learning/apps/openedx_content/backcompat/collections/migrations/0006_remove_all_field_state_for_move_to_applet.py +82 -0
- openedx_learning/apps/openedx_content/backcompat/collections/models.py +9 -0
- openedx_learning/apps/openedx_content/backcompat/components/apps.py +15 -0
- openedx_learning/apps/openedx_content/backcompat/components/migrations/0005_remove_all_field_state_for_move_to_applet.py +72 -0
- openedx_learning/apps/openedx_content/backcompat/components/models.py +11 -0
- openedx_learning/apps/{authoring → openedx_content/backcompat}/contents/apps.py +1 -1
- openedx_learning/apps/openedx_content/backcompat/contents/migrations/0002_remove_all_field_state_for_move_to_applet.py +26 -0
- openedx_learning/apps/openedx_content/backcompat/publishing/apps.py +15 -0
- openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0010_backfill_dependencies.py +432 -0
- openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0011_remove_all_field_state_for_move_to_applet.py +288 -0
- openedx_learning/apps/openedx_content/backcompat/publishing/models.py +27 -0
- openedx_learning/apps/openedx_content/backcompat/sections/__init__.py +0 -0
- openedx_learning/apps/openedx_content/backcompat/sections/apps.py +16 -0
- openedx_learning/apps/openedx_content/backcompat/sections/migrations/0002_remove_all_field_state_for_move_to_applet.py +29 -0
- openedx_learning/apps/openedx_content/backcompat/sections/migrations/__init__.py +0 -0
- openedx_learning/apps/openedx_content/backcompat/subsections/__init__.py +0 -0
- openedx_learning/apps/openedx_content/backcompat/subsections/apps.py +16 -0
- openedx_learning/apps/openedx_content/backcompat/subsections/migrations/0002_remove_all_field_state_for_move_to_applet.py +29 -0
- openedx_learning/apps/openedx_content/backcompat/subsections/migrations/__init__.py +0 -0
- openedx_learning/apps/openedx_content/backcompat/units/__init__.py +0 -0
- openedx_learning/apps/openedx_content/backcompat/units/apps.py +16 -0
- openedx_learning/apps/openedx_content/backcompat/units/migrations/0002_remove_all_field_state_for_move_to_applet.py +29 -0
- openedx_learning/apps/openedx_content/backcompat/units/migrations/__init__.py +0 -0
- openedx_learning/apps/openedx_content/management/__init__.py +0 -0
- openedx_learning/apps/openedx_content/management/commands/__init__.py +0 -0
- openedx_learning/apps/{authoring/components → openedx_content}/management/commands/add_assets_to_component.py +1 -2
- openedx_learning/apps/{authoring/backup_restore → openedx_content}/management/commands/lp_dump.py +2 -2
- openedx_learning/apps/{authoring/backup_restore → openedx_content}/management/commands/lp_load.py +1 -1
- openedx_learning/apps/openedx_content/migrations/0001_initial.py +654 -0
- openedx_learning/apps/openedx_content/migrations/0002_rename_tables_to_openedx_content.py +138 -0
- openedx_learning/apps/openedx_content/migrations/__init__.py +0 -0
- openedx_learning/apps/openedx_content/models.py +17 -0
- openedx_learning/contrib/media_server/views.py +1 -1
- {openedx_learning-0.30.1.dist-info → openedx_learning-0.31.0.dist-info}/METADATA +6 -6
- openedx_learning-0.31.0.dist-info/RECORD +194 -0
- {openedx_learning-0.30.1.dist-info → openedx_learning-0.31.0.dist-info}/WHEEL +1 -1
- openedx_learning/apps/authoring/components/apps.py +0 -24
- openedx_learning/apps/authoring/publishing/apps.py +0 -25
- openedx_learning/apps/authoring/publishing/migrations/0010_backfill_dependencies.py +0 -149
- openedx_learning/apps/authoring/sections/apps.py +0 -25
- openedx_learning/apps/authoring/subsections/apps.py +0 -25
- openedx_learning/apps/authoring/units/apps.py +0 -25
- openedx_learning-0.30.1.dist-info/RECORD +0 -168
- /openedx_learning/apps/{authoring → openedx_content}/__init__.py +0 -0
- /openedx_learning/apps/{authoring/backup_restore → openedx_content/applets}/__init__.py +0 -0
- /openedx_learning/apps/{authoring/backup_restore/management → openedx_content/applets/backup_restore}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/backup_restore/admin.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/backup_restore/models.py +0 -0
- /openedx_learning/apps/{authoring/backup_restore/management/commands → openedx_content/applets/collections}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/collections/admin.py +0 -0
- /openedx_learning/apps/{authoring/backup_restore/migrations → openedx_content/applets/components}/__init__.py +0 -0
- /openedx_learning/apps/{authoring/collections → openedx_content/applets/contents}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/contents/admin.py +0 -0
- /openedx_learning/apps/{authoring/collections/migrations → openedx_content/applets/publishing}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/publishing/admin.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/publishing/contextmanagers.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/publishing/models/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/publishing/models/container.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/publishing/models/draft_log.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/publishing/models/learning_package.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/publishing/models/publish_log.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/publishing/models/publishable_entity.py +0 -0
- /openedx_learning/apps/{authoring/components → openedx_content/applets/sections}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/sections/admin.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/sections/models.py +0 -0
- /openedx_learning/apps/{authoring/components/management → openedx_content/applets/subsections}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/subsections/admin.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/subsections/models.py +0 -0
- /openedx_learning/apps/{authoring/components/management/commands → openedx_content/applets/units}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/units/admin.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/applets}/units/models.py +0 -0
- /openedx_learning/apps/{authoring/components/migrations → openedx_content/backcompat}/__init__.py +0 -0
- /openedx_learning/apps/{authoring/contents → openedx_content/backcompat/backup_restore}/__init__.py +0 -0
- /openedx_learning/apps/{authoring/contents → openedx_content/backcompat/backup_restore}/migrations/__init__.py +0 -0
- /openedx_learning/apps/{authoring/publishing → openedx_content/backcompat/collections}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/collections/migrations/0001_initial.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/collections/migrations/0002_remove_collection_name_collection_created_by_and_more.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/collections/migrations/0003_collection_entities.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/collections/migrations/0004_collection_key.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/collections/migrations/0005_alter_collection_options_alter_collection_enabled.py +0 -0
- /openedx_learning/apps/{authoring/publishing → openedx_content/backcompat/collections}/migrations/__init__.py +0 -0
- /openedx_learning/apps/{authoring/sections → openedx_content/backcompat/components}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/components/migrations/0001_initial.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/components/migrations/0002_alter_componentversioncontent_key.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/components/migrations/0003_remove_componentversioncontent_learner_downloadable.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/components/migrations/0004_remove_componentversioncontent_uuid.py +0 -0
- /openedx_learning/apps/{authoring/sections → openedx_content/backcompat/components}/migrations/__init__.py +0 -0
- /openedx_learning/apps/{authoring/subsections → openedx_content/backcompat/contents}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/contents/migrations/0001_initial.py +0 -0
- /openedx_learning/apps/{authoring/subsections → openedx_content/backcompat/contents}/migrations/__init__.py +0 -0
- /openedx_learning/apps/{authoring/units → openedx_content/backcompat/publishing}/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/publishing/migrations/0001_initial.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/publishing/migrations/0002_alter_learningpackage_key_and_more.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/publishing/migrations/0003_containers.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/publishing/migrations/0004_publishableentity_can_stand_alone.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/publishing/migrations/0005_alter_entitylistrow_options.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/publishing/migrations/0006_draftchangelog.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/publishing/migrations/0007_bootstrap_draftchangelog.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/publishing/migrations/0008_alter_draftchangelogrecord_options_and_more.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/publishing/migrations/0009_dependencies_and_hashing.py +0 -0
- /openedx_learning/apps/{authoring/units → openedx_content/backcompat/publishing}/migrations/__init__.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/sections/migrations/0001_initial.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/subsections/migrations/0001_initial.py +0 -0
- /openedx_learning/apps/{authoring → openedx_content/backcompat}/units/migrations/0001_initial.py +0 -0
- {openedx_learning-0.30.1.dist-info → openedx_learning-0.31.0.dist-info}/licenses/LICENSE.txt +0 -0
- {openedx_learning-0.30.1.dist-info → openedx_learning-0.31.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Generated by Django 5.2.9 on 2025-12-29 07:07
|
|
2
|
+
|
|
3
|
+
from django.db import migrations
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
('openedx_content', '0001_initial'),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.RenameIndex(
|
|
14
|
+
model_name='collection',
|
|
15
|
+
new_name='openedx_content_coll_lp_title',
|
|
16
|
+
old_name='oel_collect_learnin_dfaf89_idx',
|
|
17
|
+
),
|
|
18
|
+
migrations.AlterModelTable(
|
|
19
|
+
name='collection',
|
|
20
|
+
table=None,
|
|
21
|
+
),
|
|
22
|
+
migrations.AlterModelTable(
|
|
23
|
+
name='collectionpublishableentity',
|
|
24
|
+
table=None,
|
|
25
|
+
),
|
|
26
|
+
migrations.AlterModelTable(
|
|
27
|
+
name='content',
|
|
28
|
+
table=None,
|
|
29
|
+
),
|
|
30
|
+
migrations.AlterModelTable(
|
|
31
|
+
name='component',
|
|
32
|
+
table=None,
|
|
33
|
+
),
|
|
34
|
+
migrations.AlterModelTable(
|
|
35
|
+
name='componenttype',
|
|
36
|
+
table=None,
|
|
37
|
+
),
|
|
38
|
+
migrations.AlterModelTable(
|
|
39
|
+
name='componentversion',
|
|
40
|
+
table=None,
|
|
41
|
+
),
|
|
42
|
+
migrations.AlterModelTable(
|
|
43
|
+
name='componentversioncontent',
|
|
44
|
+
table=None,
|
|
45
|
+
),
|
|
46
|
+
migrations.AlterModelTable(
|
|
47
|
+
name='container',
|
|
48
|
+
table=None,
|
|
49
|
+
),
|
|
50
|
+
migrations.AlterModelTable(
|
|
51
|
+
name='containerversion',
|
|
52
|
+
table=None,
|
|
53
|
+
),
|
|
54
|
+
migrations.AlterModelTable(
|
|
55
|
+
name='draft',
|
|
56
|
+
table=None,
|
|
57
|
+
),
|
|
58
|
+
migrations.AlterModelTable(
|
|
59
|
+
name='draftchangelog',
|
|
60
|
+
table=None,
|
|
61
|
+
),
|
|
62
|
+
migrations.AlterModelTable(
|
|
63
|
+
name='draftchangelogrecord',
|
|
64
|
+
table=None,
|
|
65
|
+
),
|
|
66
|
+
migrations.AlterModelTable(
|
|
67
|
+
name='draftsideeffect',
|
|
68
|
+
table=None,
|
|
69
|
+
),
|
|
70
|
+
migrations.AlterModelTable(
|
|
71
|
+
name='entitylist',
|
|
72
|
+
table=None,
|
|
73
|
+
),
|
|
74
|
+
migrations.AlterModelTable(
|
|
75
|
+
name='entitylistrow',
|
|
76
|
+
table=None,
|
|
77
|
+
),
|
|
78
|
+
migrations.AlterModelTable(
|
|
79
|
+
name='learningpackage',
|
|
80
|
+
table=None,
|
|
81
|
+
),
|
|
82
|
+
migrations.AlterModelTable(
|
|
83
|
+
name='mediatype',
|
|
84
|
+
table=None,
|
|
85
|
+
),
|
|
86
|
+
migrations.AlterModelTable(
|
|
87
|
+
name='publishableentity',
|
|
88
|
+
table=None,
|
|
89
|
+
),
|
|
90
|
+
migrations.AlterModelTable(
|
|
91
|
+
name='publishableentityversion',
|
|
92
|
+
table=None,
|
|
93
|
+
),
|
|
94
|
+
migrations.AlterModelTable(
|
|
95
|
+
name='publishableentityversiondependency',
|
|
96
|
+
table=None,
|
|
97
|
+
),
|
|
98
|
+
migrations.AlterModelTable(
|
|
99
|
+
name='published',
|
|
100
|
+
table=None,
|
|
101
|
+
),
|
|
102
|
+
migrations.AlterModelTable(
|
|
103
|
+
name='publishlog',
|
|
104
|
+
table=None,
|
|
105
|
+
),
|
|
106
|
+
migrations.AlterModelTable(
|
|
107
|
+
name='publishlogrecord',
|
|
108
|
+
table=None,
|
|
109
|
+
),
|
|
110
|
+
migrations.AlterModelTable(
|
|
111
|
+
name='publishsideeffect',
|
|
112
|
+
table=None,
|
|
113
|
+
),
|
|
114
|
+
migrations.AlterModelTable(
|
|
115
|
+
name='section',
|
|
116
|
+
table=None,
|
|
117
|
+
),
|
|
118
|
+
migrations.AlterModelTable(
|
|
119
|
+
name='sectionversion',
|
|
120
|
+
table=None,
|
|
121
|
+
),
|
|
122
|
+
migrations.AlterModelTable(
|
|
123
|
+
name='subsection',
|
|
124
|
+
table=None,
|
|
125
|
+
),
|
|
126
|
+
migrations.AlterModelTable(
|
|
127
|
+
name='subsectionversion',
|
|
128
|
+
table=None,
|
|
129
|
+
),
|
|
130
|
+
migrations.AlterModelTable(
|
|
131
|
+
name='unit',
|
|
132
|
+
table=None,
|
|
133
|
+
),
|
|
134
|
+
migrations.AlterModelTable(
|
|
135
|
+
name='unitversion',
|
|
136
|
+
table=None,
|
|
137
|
+
),
|
|
138
|
+
]
|
|
File without changes
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This module aggregates all applet model modules.
|
|
3
|
+
|
|
4
|
+
I experimented with creating a utility to auto-detect applets and magically
|
|
5
|
+
import their modules, but that broke code introspection.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
# pylint: disable=wildcard-import
|
|
9
|
+
|
|
10
|
+
from .applets.backup_restore.models import *
|
|
11
|
+
from .applets.collections.models import *
|
|
12
|
+
from .applets.components.models import *
|
|
13
|
+
from .applets.contents.models import *
|
|
14
|
+
from .applets.publishing.models import *
|
|
15
|
+
from .applets.sections.models import *
|
|
16
|
+
from .applets.subsections.models import *
|
|
17
|
+
from .applets.units.models import *
|
|
@@ -8,7 +8,7 @@ from pathlib import Path
|
|
|
8
8
|
from django.core.exceptions import ObjectDoesNotExist
|
|
9
9
|
from django.http import FileResponse, Http404
|
|
10
10
|
|
|
11
|
-
from openedx_learning.apps.
|
|
11
|
+
from openedx_learning.apps.openedx_content.applets.components.api import look_up_component_version_content
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
def component_asset(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: openedx-learning
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.31.0
|
|
4
4
|
Summary: Open edX Learning Core and Tagging.
|
|
5
5
|
Home-page: https://github.com/openedx/openedx-learning
|
|
6
6
|
Author: David Ormsbee
|
|
@@ -19,13 +19,13 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
20
|
Requires-Python: >=3.11
|
|
21
21
|
License-File: LICENSE.txt
|
|
22
|
-
Requires-Dist: tomlkit
|
|
23
|
-
Requires-Dist: djangorestframework<4.0
|
|
24
|
-
Requires-Dist: celery
|
|
25
|
-
Requires-Dist: Django
|
|
26
22
|
Requires-Dist: attrs
|
|
27
|
-
Requires-Dist:
|
|
23
|
+
Requires-Dist: Django
|
|
24
|
+
Requires-Dist: djangorestframework<4.0
|
|
28
25
|
Requires-Dist: rules<4.0
|
|
26
|
+
Requires-Dist: tomlkit
|
|
27
|
+
Requires-Dist: edx-drf-extensions
|
|
28
|
+
Requires-Dist: celery
|
|
29
29
|
Dynamic: author
|
|
30
30
|
Dynamic: author-email
|
|
31
31
|
Dynamic: classifier
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
openedx_learning/__init__.py,sha256=dXS19hsCrJdj1oLDxTvFDN3eAcwJ6O2SPrFRixDXMiY,69
|
|
2
|
+
openedx_learning/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
openedx_learning/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
openedx_learning/api/authoring.py,sha256=YaXOkW4WXwS8ACFyZP0QoLN6sDVcNzYvqiszd2fuv7E,793
|
|
5
|
+
openedx_learning/api/authoring_models.py,sha256=wMW1kqQsmRIGkjldodtIcvzCznOGrqJn7OsXzIoBonQ,876
|
|
6
|
+
openedx_learning/api/django.py,sha256=IMUDuBMFYhtssWnSpxAUjGHPu12ODcT9k1mbSnXi1nc,1003
|
|
7
|
+
openedx_learning/apps/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
openedx_learning/apps/openedx_content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
openedx_learning/apps/openedx_content/admin.py,sha256=MBD5y7rRB2sC3DCLgCKewcrZC3GY9QyDSi3gNC-uQ-U,416
|
|
10
|
+
openedx_learning/apps/openedx_content/api.py,sha256=Zvaucqiwopb2WlCI_BEWwh0nweu-5_SHoNfF1fyHdtM,455
|
|
11
|
+
openedx_learning/apps/openedx_content/apps.py,sha256=eHZjCQrvMaVmzJ8vP_7zP8w-GpKu24KZT5FrR6tQanA,1626
|
|
12
|
+
openedx_learning/apps/openedx_content/models.py,sha256=lA5dKiWt6HW-eL8W4-kJH6q5w9ucXVGHM05wOESfrN4,552
|
|
13
|
+
openedx_learning/apps/openedx_content/applets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
+
openedx_learning/apps/openedx_content/applets/backup_restore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
openedx_learning/apps/openedx_content/applets/backup_restore/admin.py,sha256=OnEixkOuysPRr-F6C_CMwPkiXawkqgSEF46n3yiUK0o,59
|
|
16
|
+
openedx_learning/apps/openedx_content/applets/backup_restore/api.py,sha256=gluQGhkcozigBqPQgn_0ohL_kUA7q08V-UciZX4rVss,1216
|
|
17
|
+
openedx_learning/apps/openedx_content/applets/backup_restore/models.py,sha256=jlr0ppxW0IOW3HPHoJNChHvDrYVnKMb5_3uC2itxqQk,45
|
|
18
|
+
openedx_learning/apps/openedx_content/applets/backup_restore/serializers.py,sha256=yCsC2qQjzM5o0KHDRfrX7cOPUqHKlxfSvlaIZjimE4I,6241
|
|
19
|
+
openedx_learning/apps/openedx_content/applets/backup_restore/toml.py,sha256=cg_xs9R_k1MWT31pIirXL3mLbqYQnuVIGL4-_qUVzjY,8166
|
|
20
|
+
openedx_learning/apps/openedx_content/applets/backup_restore/zipper.py,sha256=q0VWsIOaBMkJoksR89Oes20Rjveu7w0ukwQ7IfCfOWs,47931
|
|
21
|
+
openedx_learning/apps/openedx_content/applets/collections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
+
openedx_learning/apps/openedx_content/applets/collections/admin.py,sha256=f0hySjDMfIphVDEGkCSMIUHoEiqHRA7EE2NiO7lvL4g,1156
|
|
23
|
+
openedx_learning/apps/openedx_content/applets/collections/api.py,sha256=WN_Me46kDoCOiKjZ-Tq1Z01IvDvXVJT-KOfysn9cDfc,7753
|
|
24
|
+
openedx_learning/apps/openedx_content/applets/collections/models.py,sha256=qsmvNPAdTLUrocgV3mk6q4WiyM9t0x8LwLBb0Kq4pLM,8536
|
|
25
|
+
openedx_learning/apps/openedx_content/applets/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
+
openedx_learning/apps/openedx_content/applets/components/admin.py,sha256=KtdH5gRAGnuGB0VkLVhkcRmJKjDsLC1NVhCgE1_vgsU,4583
|
|
27
|
+
openedx_learning/apps/openedx_content/applets/components/api.py,sha256=ZyuO2zsHv2EDxJn7LUu_mBMMMJeLH3fb6raNLW-S7g0,25392
|
|
28
|
+
openedx_learning/apps/openedx_content/applets/components/models.py,sha256=H1UmBMprTqdVAC2MYXg1zY-Efc-F5GGIhTyM2pWVML0,10904
|
|
29
|
+
openedx_learning/apps/openedx_content/applets/contents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
30
|
+
openedx_learning/apps/openedx_content/applets/contents/admin.py,sha256=9Njd_lje1emcd168KBWUTGf0mVJ6K-dMYMcqHNjRU4k,1761
|
|
31
|
+
openedx_learning/apps/openedx_content/applets/contents/api.py,sha256=mQeeXT9ouy9WUNDZhwcCp5gmFzF0DiR0JCDW1_Cld1E,8838
|
|
32
|
+
openedx_learning/apps/openedx_content/applets/contents/models.py,sha256=QOQN5e_94ZHPLUdo0OtTJKwG0eZTvhdH2gc9ihb4WvE,17654
|
|
33
|
+
openedx_learning/apps/openedx_content/applets/publishing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
34
|
+
openedx_learning/apps/openedx_content/applets/publishing/admin.py,sha256=NDH4Mm2pYIJ6xG496l8DIDB1YW1cn68H2INUmiV9SAY,19398
|
|
35
|
+
openedx_learning/apps/openedx_content/applets/publishing/api.py,sha256=uNPk_7jWqo8KiF91BX-rkPXiKfypqLWjZxJ4r1PT1vw,81478
|
|
36
|
+
openedx_learning/apps/openedx_content/applets/publishing/contextmanagers.py,sha256=AH5zhr0Tz_gUG9--dfr_oZAu8DMy94n6mnOJuPbWkeU,6723
|
|
37
|
+
openedx_learning/apps/openedx_content/applets/publishing/models/__init__.py,sha256=0IghI3i9T3d0qu5zXaqnP9InlxtK9YsX6Q3znrL8Oxk,1167
|
|
38
|
+
openedx_learning/apps/openedx_content/applets/publishing/models/container.py,sha256=GCUD3WTlgvgZSQOKcoOsfhNAfc5pz3Wbs9ClE9mhtB0,2594
|
|
39
|
+
openedx_learning/apps/openedx_content/applets/publishing/models/draft_log.py,sha256=n-EpEMO582bdEM9qtSSLiz6-mgB14C40tAWDhwNzoI0,17512
|
|
40
|
+
openedx_learning/apps/openedx_content/applets/publishing/models/entity_list.py,sha256=9oCdo0e7z_VjCbuF9lxyfOZdIQHDrJhN7wmH57AhugM,3674
|
|
41
|
+
openedx_learning/apps/openedx_content/applets/publishing/models/learning_package.py,sha256=1fuNLHD6k0qGuL0jXYGf4-TA5WczgxJrXUdAIM_JNBI,2688
|
|
42
|
+
openedx_learning/apps/openedx_content/applets/publishing/models/publish_log.py,sha256=qgtuu5DB3yz4BbExIoeJb-GuogzHOMmSDvzsCoo6_NE,9155
|
|
43
|
+
openedx_learning/apps/openedx_content/applets/publishing/models/publishable_entity.py,sha256=2mTy-BOchoq9sTzQOaqAogbKuRBtLlQQLjRWk9tAl9k,27683
|
|
44
|
+
openedx_learning/apps/openedx_content/applets/sections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
45
|
+
openedx_learning/apps/openedx_content/applets/sections/admin.py,sha256=OQOTtXYM-Zj8BBb1wNBkOxgkF2Pv3JdUrZ45VOEmThM,1757
|
|
46
|
+
openedx_learning/apps/openedx_content/applets/sections/api.py,sha256=vddqJouuIXKuJNy6TX4SZnMv1glBeTXY4knGkJH4N5A,11374
|
|
47
|
+
openedx_learning/apps/openedx_content/applets/sections/models.py,sha256=2GK-dDMJwNRw_9gNFho8iKcDV-iYz_zBzqGMDmQ_jbc,1450
|
|
48
|
+
openedx_learning/apps/openedx_content/applets/subsections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
49
|
+
openedx_learning/apps/openedx_content/applets/subsections/admin.py,sha256=vPfOeTzh10aRhtZjXAzYsbwfw4Hc5yuySbpjAvtDH98,1795
|
|
50
|
+
openedx_learning/apps/openedx_content/applets/subsections/api.py,sha256=rAVlpCoEa81Bm6I1HHS8Z8JowSk9JgbdBWk04DXkP5I,11278
|
|
51
|
+
openedx_learning/apps/openedx_content/applets/subsections/models.py,sha256=1uhdpS9Eg6keSqkzQaE8-XSVLAQlmi0llIIU2V7Nl44,1492
|
|
52
|
+
openedx_learning/apps/openedx_content/applets/units/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
53
|
+
openedx_learning/apps/openedx_content/applets/units/admin.py,sha256=chp-bTfufBiQ3uycVF1DBEFSPvwXaROJnyyY8AaH_yw,1717
|
|
54
|
+
openedx_learning/apps/openedx_content/applets/units/api.py,sha256=7dmVaZgp6f4luIBVoLMni2qwNqZJZfVzcn6muPBAMwo,10833
|
|
55
|
+
openedx_learning/apps/openedx_content/applets/units/models.py,sha256=eTOwFWC9coQLf0ovx08Mj7zi8mPAWCw9QOznybajRk0,1418
|
|
56
|
+
openedx_learning/apps/openedx_content/backcompat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
57
|
+
openedx_learning/apps/openedx_content/backcompat/backup_restore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
58
|
+
openedx_learning/apps/openedx_content/backcompat/backup_restore/apps.py,sha256=74ZLcddLlMsSz00CF9kcdmhCNUjV1FgDZWzPmXImOWk,357
|
|
59
|
+
openedx_learning/apps/openedx_content/backcompat/backup_restore/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
60
|
+
openedx_learning/apps/openedx_content/backcompat/collections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
|
+
openedx_learning/apps/openedx_content/backcompat/collections/apps.py,sha256=UbwWZP_oAl5dNHHGk_gJodLglIVOOuB5WocW4l1DZzQ,433
|
|
62
|
+
openedx_learning/apps/openedx_content/backcompat/collections/models.py,sha256=Q6VztPfKRzO0lMTgVb7RSDAeWInPi7oq1apgB_srS0w,256
|
|
63
|
+
openedx_learning/apps/openedx_content/backcompat/collections/migrations/0001_initial.py,sha256=xcJoqMLROW9FTILYrz6UsyotVu9wBN5tRBwRoAWG6dg,1496
|
|
64
|
+
openedx_learning/apps/openedx_content/backcompat/collections/migrations/0002_remove_collection_name_collection_created_by_and_more.py,sha256=NRl-_-EkE-w4JLeJsZf6lHxYNV3TIAJVIWbv_-xytGo,2162
|
|
65
|
+
openedx_learning/apps/openedx_content/backcompat/collections/migrations/0003_collection_entities.py,sha256=-YddfCFS0HW3JsEcpatjakOyeGVklOmba9uRQ-0zIxQ,1805
|
|
66
|
+
openedx_learning/apps/openedx_content/backcompat/collections/migrations/0004_collection_key.py,sha256=G1STMrsCjU8Ykp0Zm_nIf5YqZCBy1TRTVX7q7zrly8c,2021
|
|
67
|
+
openedx_learning/apps/openedx_content/backcompat/collections/migrations/0005_alter_collection_options_alter_collection_enabled.py,sha256=HdU_3zxN32nzzvOFpiVpQXleHleJhnq2d8k7jAxhUTM,504
|
|
68
|
+
openedx_learning/apps/openedx_content/backcompat/collections/migrations/0006_remove_all_field_state_for_move_to_applet.py,sha256=M2OJiALW-qcVNMqINUhuaB_WKN-lhsO9fVRRXMwN30E,2788
|
|
69
|
+
openedx_learning/apps/openedx_content/backcompat/collections/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
|
+
openedx_learning/apps/openedx_content/backcompat/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
71
|
+
openedx_learning/apps/openedx_content/backcompat/components/apps.py,sha256=JOycQTUfbkJ7Ak6xbyDlSPkZgCACkUrhe4Q2HtqGOlU,427
|
|
72
|
+
openedx_learning/apps/openedx_content/backcompat/components/models.py,sha256=-C3oewpIVwsPDgI6TdST3UejufpJmWUsLT_mw7HxDC8,351
|
|
73
|
+
openedx_learning/apps/openedx_content/backcompat/components/migrations/0001_initial.py,sha256=446LkJSFeK8J_-l-bxakZ_BVx_CiJIllGcBYqWcEenA,4664
|
|
74
|
+
openedx_learning/apps/openedx_content/backcompat/components/migrations/0002_alter_componentversioncontent_key.py,sha256=98724dtucRjJCRyLt5p45qXYb2d6-ouVGp7PB6zTG6E,539
|
|
75
|
+
openedx_learning/apps/openedx_content/backcompat/components/migrations/0003_remove_componentversioncontent_learner_downloadable.py,sha256=hDAkKdBvKULepML9pVMqkZg31nAyCeszQHJsFJ4qGws,382
|
|
76
|
+
openedx_learning/apps/openedx_content/backcompat/components/migrations/0004_remove_componentversioncontent_uuid.py,sha256=hmCUt9VkiisGPckXjVY_qDNNkyj3r6KMK-MpasgOf6w,384
|
|
77
|
+
openedx_learning/apps/openedx_content/backcompat/components/migrations/0005_remove_all_field_state_for_move_to_applet.py,sha256=kefGyYDNv0eVDdL25gmE5lFl6cYIumX_PNQ8fwGm2B0,2434
|
|
78
|
+
openedx_learning/apps/openedx_content/backcompat/components/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
|
+
openedx_learning/apps/openedx_content/backcompat/contents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
|
+
openedx_learning/apps/openedx_content/backcompat/contents/apps.py,sha256=xm39VnzDXpWoy1EVFX9W9kWJwRcIMKa3C4DX6PUsRh4,415
|
|
81
|
+
openedx_learning/apps/openedx_content/backcompat/contents/migrations/0001_initial.py,sha256=FtOTmIGX2KHpjw-PHbfRjxkFEomI5CEDhNKCZ7IpFeE,3060
|
|
82
|
+
openedx_learning/apps/openedx_content/backcompat/contents/migrations/0002_remove_all_field_state_for_move_to_applet.py,sha256=9Ffltlie4YGlr-zax4C-umsmt2SQSDCTXX-hWrNbwo4,693
|
|
83
|
+
openedx_learning/apps/openedx_content/backcompat/contents/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
84
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/apps.py,sha256=yz6Lxoh-RP8M6CtldTTmHveqB6qS-gWfE0Oc1aURssU,418
|
|
86
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/models.py,sha256=A2j1ybYhOqQFf39_eGbzpnFzl-SXNdPgg0koTLhkUWc,567
|
|
87
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0001_initial.py,sha256=wvekNV19YRSdxRmQaFnLSn_nCsQlHIucPDVMmgKf_OE,9272
|
|
88
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0002_alter_learningpackage_key_and_more.py,sha256=toI7qJhNukk6hirKfFx9EpqTpzF2O2Yq1VpFJusDn2M,806
|
|
89
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0003_containers.py,sha256=k5P1LFkjQT-42yyHE2f57dAMQKafLuJCTRaCBMKWcjc,2519
|
|
90
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0004_publishableentity_can_stand_alone.py,sha256=RapDZKcjTp5QGgob9DUaf-zl_pQgg-5nz8PZWoXMlVA,549
|
|
91
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0005_alter_entitylistrow_options.py,sha256=Pp4O-VSI75n3UTZZW6CU4TOVIVc5lZvUg5YfMvZyrYM,377
|
|
92
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0006_draftchangelog.py,sha256=TdioE59_fXCf4ykWhXJfEjyxdDmqbbbLCwLeT1C9irA,3497
|
|
93
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0007_bootstrap_draftchangelog.py,sha256=EoFFSv52CeiuMGf3KmBvr34sx9N-tv8afdXWVR8wPFA,4154
|
|
94
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0008_alter_draftchangelogrecord_options_and_more.py,sha256=m_UjGSYcdYBRIMAlxwXEdO4kVgQOQyr1VjufbssldhI,1206
|
|
95
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0009_dependencies_and_hashing.py,sha256=FzAQ9enWWjc8virAxX-IxJo4Iw39wWbzOjdODFBm6dQ,2946
|
|
96
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0010_backfill_dependencies.py,sha256=VKJP9oVqcadwvMpJEXXk1sJcu07q1OVP7s-GKRp4hK4,18554
|
|
97
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/0011_remove_all_field_state_for_move_to_applet.py,sha256=d6fkITzwD82Pe0_G86YrCZ-WH1mWYVOVy7v-qWmSF4s,10602
|
|
98
|
+
openedx_learning/apps/openedx_content/backcompat/publishing/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
99
|
+
openedx_learning/apps/openedx_content/backcompat/sections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
100
|
+
openedx_learning/apps/openedx_content/backcompat/sections/apps.py,sha256=3YR4nibwbFWvzlQ8RaLyTwmrbZdFUS5c8iax39bl9y8,407
|
|
101
|
+
openedx_learning/apps/openedx_content/backcompat/sections/migrations/0001_initial.py,sha256=iW5AFhC26mfZNWEVNu8cTsr32Ca4htL4CUanHoXfaeY,1152
|
|
102
|
+
openedx_learning/apps/openedx_content/backcompat/sections/migrations/0002_remove_all_field_state_for_move_to_applet.py,sha256=YusxbUvB5F_dJXll2SMaQTK0IP_x1p0Kz0WkhPDNYD0,774
|
|
103
|
+
openedx_learning/apps/openedx_content/backcompat/sections/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
104
|
+
openedx_learning/apps/openedx_content/backcompat/subsections/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
105
|
+
openedx_learning/apps/openedx_content/backcompat/subsections/apps.py,sha256=cvKw2evapntPMp2rht9bvljr5CqiTTTkuJaqp2ngnGE,424
|
|
106
|
+
openedx_learning/apps/openedx_content/backcompat/subsections/migrations/0001_initial.py,sha256=7kEHIC-EwG2KvlW4hg5tnl45--dW4Yv5gqV5SDqNYNo,1158
|
|
107
|
+
openedx_learning/apps/openedx_content/backcompat/subsections/migrations/0002_remove_all_field_state_for_move_to_applet.py,sha256=XmaaRlwdtGzzy27VdrEBgMXtw9RxQ8yLDAInEUjapAg,786
|
|
108
|
+
openedx_learning/apps/openedx_content/backcompat/subsections/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
109
|
+
openedx_learning/apps/openedx_content/backcompat/units/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
110
|
+
openedx_learning/apps/openedx_content/backcompat/units/apps.py,sha256=ekUn-nG8HOiXDAharx1ewIP25272JJVJCYGuoHXwqQY,388
|
|
111
|
+
openedx_learning/apps/openedx_content/backcompat/units/migrations/0001_initial.py,sha256=qM_0JGffxECVgXzncHXfgSE-g8u3L3a14R0M1Bnj_Ys,1129
|
|
112
|
+
openedx_learning/apps/openedx_content/backcompat/units/migrations/0002_remove_all_field_state_for_move_to_applet.py,sha256=2IpOzxlHPbUQqSQpvSBFtfAniL10_W504aRKJYScVW0,762
|
|
113
|
+
openedx_learning/apps/openedx_content/backcompat/units/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
114
|
+
openedx_learning/apps/openedx_content/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
115
|
+
openedx_learning/apps/openedx_content/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
116
|
+
openedx_learning/apps/openedx_content/management/commands/add_assets_to_component.py,sha256=wCaOlbcnOFK3nWE9Me11meP5CGwX3EjQ-0K5j0rLoJw,3145
|
|
117
|
+
openedx_learning/apps/openedx_content/management/commands/lp_dump.py,sha256=th83jqIDNQGrkrnTD8NDdLm2-ESEeYYXmrIw1lTf0oM,2589
|
|
118
|
+
openedx_learning/apps/openedx_content/management/commands/lp_load.py,sha256=uJ9v0Kb_tsrtT9A8yrogfdfA015ebam_FDfGJXp06Vw,2219
|
|
119
|
+
openedx_learning/apps/openedx_content/migrations/0001_initial.py,sha256=iKUM8FoYbqOlLUIj6tW0fH_-9hUxL0JKReHMi1un4VY,39798
|
|
120
|
+
openedx_learning/apps/openedx_content/migrations/0002_rename_tables_to_openedx_content.py,sha256=3tJNFtCtpKG4Ng64ED6wn9-4TAtD8T4HwL13t-22T0w,3592
|
|
121
|
+
openedx_learning/apps/openedx_content/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
122
|
+
openedx_learning/contrib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
123
|
+
openedx_learning/contrib/media_server/__init__.py,sha256=iYijWFCl5RNR9omSu22kMl49EfponoqXBqXr0HMp4QI,56
|
|
124
|
+
openedx_learning/contrib/media_server/apps.py,sha256=GicFBN3N6wzVs5i3RgrQFJZeMlS55gyf4Iq_4cSdI9U,824
|
|
125
|
+
openedx_learning/contrib/media_server/urls.py,sha256=newNjV41sM9A9Oy_rgnZSXdkTFxSHiupIiAsVIGE2CE,365
|
|
126
|
+
openedx_learning/contrib/media_server/views.py,sha256=28ruF9ALZC9rtO0baGTEAtOserFnk0kEVgU3uISibJA,1364
|
|
127
|
+
openedx_learning/lib/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
128
|
+
openedx_learning/lib/admin_utils.py,sha256=dQ02NrgXIJL6kx9LFBgEYc1Pr_xtFdr7NVXx01VOIE0,4514
|
|
129
|
+
openedx_learning/lib/cache.py,sha256=ppT36KiPLdsAF3GfZCF0IdiHodckd2gLiF1sNhjSJuk,958
|
|
130
|
+
openedx_learning/lib/collations.py,sha256=f65575r3BfAvFWU6pdBMsqrxPwFijB2SbJtDXq4UVc4,2401
|
|
131
|
+
openedx_learning/lib/fields.py,sha256=FwS2e5FYNGqbG9PJoDFvBsBlkfWCYbZ6G8BPAKbufLc,7701
|
|
132
|
+
openedx_learning/lib/managers.py,sha256=-Q3gxalSqyPZ9Im4DTROW5tF8wVTZLlmfTe62_xmowY,1643
|
|
133
|
+
openedx_learning/lib/test_utils.py,sha256=g3KLuepIZbaDBCsaj9711YuqyUx7LD4gXDcfNC-mWdc,527
|
|
134
|
+
openedx_learning/lib/validators.py,sha256=iqEdEAvFV2tC7Ecssx69kjecpdU8nE87AlDJYrqrsnc,404
|
|
135
|
+
openedx_learning-0.31.0.dist-info/licenses/LICENSE.txt,sha256=QTW2QN7q3XszgUAXm9Dzgtu5LXYKbR1SGnqMa7ufEuY,35139
|
|
136
|
+
openedx_tagging/__init__.py,sha256=V9N8M7f9LYlAbA_DdPUsHzTnWjYRXKGa5qHw9P1JnNI,30
|
|
137
|
+
openedx_tagging/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
138
|
+
openedx_tagging/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
139
|
+
openedx_tagging/core/tagging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
140
|
+
openedx_tagging/core/tagging/admin.py,sha256=Ngc2l9Mf6gkzmqu7aOwq-d0mgV8szx0GzSeuWFX7Kyg,1080
|
|
141
|
+
openedx_tagging/core/tagging/api.py,sha256=zOYBy5hm4Sza6vcXRjMZt0DsVOIxZqfo_tilaFLqIJs,20095
|
|
142
|
+
openedx_tagging/core/tagging/apps.py,sha256=-gp0VYqX4XQzwjjd-G68Ev2Op0INLh9Byz5UOqF5_7k,345
|
|
143
|
+
openedx_tagging/core/tagging/data.py,sha256=421EvmDzdM7H523dBVQk4J0W_UwTT4U5syqPRXUYK4g,1353
|
|
144
|
+
openedx_tagging/core/tagging/rules.py,sha256=GkQLMYX8EPAIzFodTRTxtNI6rDNMyFWGu3NS9G33AyQ,6657
|
|
145
|
+
openedx_tagging/core/tagging/urls.py,sha256=-0Nzmh0mlF9-GgEuocwBdSJn6n8EINnxR4m4pmPou44,159
|
|
146
|
+
openedx_tagging/core/tagging/import_export/__init__.py,sha256=q5K4JalFQlJxAFUFyqhLY5zQtAskDnRM1H_aVuP_E3Q,83
|
|
147
|
+
openedx_tagging/core/tagging/import_export/actions.py,sha256=n007-M59D0mXYcwi9CDldDDy5JHAaGCVv9dQbiY4pZ4,13275
|
|
148
|
+
openedx_tagging/core/tagging/import_export/api.py,sha256=cZj3F7_nzLQi73RHURW1YoTWB8K_aXk6GqKvnRcdmbc,7162
|
|
149
|
+
openedx_tagging/core/tagging/import_export/exceptions.py,sha256=GGBldoW0tjYBrSlqDDwKkl6N0FIg1Yt5xcl7efxfo20,3116
|
|
150
|
+
openedx_tagging/core/tagging/import_export/import_plan.py,sha256=ol9mLfqqR0t1q0Om7D-iC9zKw1EI9MX3yAEKL8q6ias,6824
|
|
151
|
+
openedx_tagging/core/tagging/import_export/parsers.py,sha256=eXjMPfMfqcCUKSaXc5xfPEI5PFEK1tNJNGnKHz51tY8,9864
|
|
152
|
+
openedx_tagging/core/tagging/import_export/tasks.py,sha256=ZNtCGZuWn7z5E5o6OskrKjeV3vzzVa_yHaa-KlCnaEs,924
|
|
153
|
+
openedx_tagging/core/tagging/import_export/template.csv,sha256=HbmXyW94oyfqfVyiaPv1uBEyul9qb8oPmbk9UiMQYo4,1559
|
|
154
|
+
openedx_tagging/core/tagging/import_export/template.json,sha256=o8wBSMVtO2n5NokFFWNE99NQyYkeqz0Y_YImxMlZUOM,3491
|
|
155
|
+
openedx_tagging/core/tagging/migrations/0001_initial.py,sha256=Co9qmy8c_BUOvRgf-RTpUcYqHEKolj3wBfYhPPuE-vw,8556
|
|
156
|
+
openedx_tagging/core/tagging/migrations/0001_squashed.py,sha256=QUkQDRH3qm_-IrJbG6qIEVeLoAMawAsBMf4SO3WFbzQ,9150
|
|
157
|
+
openedx_tagging/core/tagging/migrations/0002_auto_20230718_2026.py,sha256=UG_q6UBmbcH92HTdC8yhO9IJRBUzSazoGG6Sm6Q90cc,2832
|
|
158
|
+
openedx_tagging/core/tagging/migrations/0003_auto_20230721_1238.py,sha256=c8q2apdZPNcr9U4VstFaLSO5z1k0ZlzL87qObobN7Mw,2109
|
|
159
|
+
openedx_tagging/core/tagging/migrations/0004_auto_20230723_2001.py,sha256=bPq4oZn7Mj2CHKNKH51ae4i7JApsWs0QNNtK_cwAlcU,1081
|
|
160
|
+
openedx_tagging/core/tagging/migrations/0005_language_taxonomy.py,sha256=R72BxxlDcxqLtFKfZh5XcvCpj-XVeUpuysNPAa_LZPs,754
|
|
161
|
+
openedx_tagging/core/tagging/migrations/0006_alter_objecttag_unique_together.py,sha256=Jx7B8ZQ5u8sZksKEkpZFrcaQpBXkaJVBtTXa-k3c4xY,376
|
|
162
|
+
openedx_tagging/core/tagging/migrations/0006_auto_20230802_1631.py,sha256=s4sAmjNbEfdqu87JlCqPdgtmQt8Mhb-L7CYPGjivnmA,3104
|
|
163
|
+
openedx_tagging/core/tagging/migrations/0007_tag_import_task_log_null_fix.py,sha256=mQLh5O6VE945obKYh2-JdegO-G881yjGSNe0U3U281Y,470
|
|
164
|
+
openedx_tagging/core/tagging/migrations/0008_taxonomy_description_not_null.py,sha256=POhWX-qu5BHdpzu-kGeTzO2Q-Efv3edYqtqo3_eOAK8,683
|
|
165
|
+
openedx_tagging/core/tagging/migrations/0009_alter_objecttag_object_id.py,sha256=-b0IE3vlJWhXj2ajW6G2b91e5NW-UgvglWz27NR7tKo,615
|
|
166
|
+
openedx_tagging/core/tagging/migrations/0010_cleanups.py,sha256=KrVg3L_RGZGVALX243LJcZmgTiM0ESF8d94Oxpx9hvU,1028
|
|
167
|
+
openedx_tagging/core/tagging/migrations/0011_remove_required.py,sha256=bcqrdiKTrejQwnQHy9gUoKOIXXv991vRBMIdypiiPX0,588
|
|
168
|
+
openedx_tagging/core/tagging/migrations/0012_language_taxonomy.py,sha256=asxUvOlEWJIc9N3eNsQvkBAQP-b2cAf_FIXy0CILuPc,1347
|
|
169
|
+
openedx_tagging/core/tagging/migrations/0013_tag_parent_blank.py,sha256=N0Bk_p_l38t6syyJxNKHB95D5MkZqUgr90ISRbBOCKA,619
|
|
170
|
+
openedx_tagging/core/tagging/migrations/0014_minor_fixes.py,sha256=46_F-el1UylSRnIRbY2DHeZpA9GJLrmGpEuF-urAtt4,1406
|
|
171
|
+
openedx_tagging/core/tagging/migrations/0015_taxonomy_export_id.py,sha256=jhS-T8o2mwu61E7hPbjjE_6MPLKRPQFAVu7pJHZNRz4,1454
|
|
172
|
+
openedx_tagging/core/tagging/migrations/0016_object_tag_export_id.py,sha256=X62sThGNv_0_wCBhWPcYRcs90EJwz9km9Nszr9yMVkM,2371
|
|
173
|
+
openedx_tagging/core/tagging/migrations/0017_alter_tagimporttask_status.py,sha256=ljxONZOAGRW-tvPUIFmc0cNXN4Hoo3GJiyzGMncN6LI,567
|
|
174
|
+
openedx_tagging/core/tagging/migrations/0018_objecttag_is_copied.py,sha256=zmr4b65T0vX6fYc8MpvSmQnYkAiNMpx3RKEd5tudsl8,517
|
|
175
|
+
openedx_tagging/core/tagging/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
176
|
+
openedx_tagging/core/tagging/models/__init__.py,sha256=yYdOnthuc7EUdfEULtZgqRwn5Y4bbYQmJCjVZqR5GTM,236
|
|
177
|
+
openedx_tagging/core/tagging/models/base.py,sha256=V2Qyp4L2QhTs6lZwB05_H54W6yWvyIEHhTcAGJAq-BY,39845
|
|
178
|
+
openedx_tagging/core/tagging/models/import_export.py,sha256=Aj0pleh0nh2LNS6zmdB1P4bpdgUMmvmobTkqBerORAI,4570
|
|
179
|
+
openedx_tagging/core/tagging/models/system_defined.py,sha256=_6LfvUZGEltvQMtm2OXy6TOLh3C8GnVTqtZDSAZW6K4,9062
|
|
180
|
+
openedx_tagging/core/tagging/models/utils.py,sha256=VhNL2cUTbCuxhsEsLXEDcgdV2tK2amUwVdWxmeZDr2w,2925
|
|
181
|
+
openedx_tagging/core/tagging/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
182
|
+
openedx_tagging/core/tagging/rest_api/paginators.py,sha256=BUIAg3taihHx7uAjpTZAGK1xSZzZY9G0aib4OKv5c0k,2651
|
|
183
|
+
openedx_tagging/core/tagging/rest_api/urls.py,sha256=egXaRQv1EAgF04ThgVZBQuvLK1LimuyUKKBD2Hbqb10,148
|
|
184
|
+
openedx_tagging/core/tagging/rest_api/utils.py,sha256=XZXixZ44vpNlxiyFplW8Lktyh_m1EfR3Y-tnyvA7acc,3620
|
|
185
|
+
openedx_tagging/core/tagging/rest_api/v1/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
186
|
+
openedx_tagging/core/tagging/rest_api/v1/permissions.py,sha256=eD-RFK29vIqPOEQ_QXR4uOV4Jz0fQkNTy8KdVQDE2ak,2419
|
|
187
|
+
openedx_tagging/core/tagging/rest_api/v1/serializers.py,sha256=0HQD_Jrf6-YpocYfzGs74YBYjXe9Yo7cXU0A4VKr5Dw,13876
|
|
188
|
+
openedx_tagging/core/tagging/rest_api/v1/urls.py,sha256=dNUKCtUCx_YzrwlbEbpDfjGVQbb2QdJ1VuJCkladj6E,752
|
|
189
|
+
openedx_tagging/core/tagging/rest_api/v1/views.py,sha256=Hf92cy-tE767DE9FgsZcPKiCYrf5ihfETz8qGKBnuiU,36278
|
|
190
|
+
openedx_tagging/core/tagging/rest_api/v1/views_import.py,sha256=kbHUPe5A6WaaJ3J1lFIcYCt876ecLNQfd19m7YYub6c,1470
|
|
191
|
+
openedx_learning-0.31.0.dist-info/METADATA,sha256=80Uw2_FThQj8-0d5LSrKVJ9loei-ciZYl_7vmr9I12U,9372
|
|
192
|
+
openedx_learning-0.31.0.dist-info/WHEEL,sha256=Mk1ST5gDzEO5il5kYREiBnzzM469m5sI8ESPl7TRhJY,110
|
|
193
|
+
openedx_learning-0.31.0.dist-info/top_level.txt,sha256=IYFbr5mgiEHd-LOtZmXj3q3a0bkGK1M9LY7GXgnfi4M,33
|
|
194
|
+
openedx_learning-0.31.0.dist-info/RECORD,,
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Django metadata for the Components Django application.
|
|
3
|
-
"""
|
|
4
|
-
from django.apps import AppConfig
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
class ComponentsConfig(AppConfig):
|
|
8
|
-
"""
|
|
9
|
-
Configuration for the Components Django application.
|
|
10
|
-
"""
|
|
11
|
-
|
|
12
|
-
name = "openedx_learning.apps.authoring.components"
|
|
13
|
-
verbose_name = "Learning Core > Authoring > Components"
|
|
14
|
-
default_auto_field = "django.db.models.BigAutoField"
|
|
15
|
-
label = "oel_components"
|
|
16
|
-
|
|
17
|
-
def ready(self) -> None:
|
|
18
|
-
"""
|
|
19
|
-
Register Component and ComponentVersion.
|
|
20
|
-
"""
|
|
21
|
-
from ..publishing.api import register_publishable_models # pylint: disable=import-outside-toplevel
|
|
22
|
-
from .models import Component, ComponentVersion # pylint: disable=import-outside-toplevel
|
|
23
|
-
|
|
24
|
-
register_publishable_models(Component, ComponentVersion)
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
publishing Django application initialization.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
from django.apps import AppConfig
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class PublishingConfig(AppConfig):
|
|
9
|
-
"""
|
|
10
|
-
Configuration for the publishing Django application.
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
name = "openedx_learning.apps.authoring.publishing"
|
|
14
|
-
verbose_name = "Learning Core > Authoring > Publishing"
|
|
15
|
-
default_auto_field = "django.db.models.BigAutoField"
|
|
16
|
-
label = "oel_publishing"
|
|
17
|
-
|
|
18
|
-
def ready(self):
|
|
19
|
-
"""
|
|
20
|
-
Register Container and ContainerVersion.
|
|
21
|
-
"""
|
|
22
|
-
from .api import register_publishable_models # pylint: disable=import-outside-toplevel
|
|
23
|
-
from .models import Container, ContainerVersion # pylint: disable=import-outside-toplevel
|
|
24
|
-
|
|
25
|
-
register_publishable_models(Container, ContainerVersion)
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Backfill PublishableEntityVersionDependency entries based on ContainerVersions.
|
|
3
|
-
|
|
4
|
-
We're introducing a lower-level publishing concept of a dependency that will be
|
|
5
|
-
used by Containers, but this means we have to backfill that dependency info for
|
|
6
|
-
existing Containers in the system.
|
|
7
|
-
"""
|
|
8
|
-
from django.db import migrations
|
|
9
|
-
from django.db.models import F
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def create_backfill(apps, schema_editor):
|
|
13
|
-
"""
|
|
14
|
-
Create dependency entries and update dep hashes for Draft and Published.
|
|
15
|
-
"""
|
|
16
|
-
_create_dependencies(apps)
|
|
17
|
-
_update_drafts(apps)
|
|
18
|
-
_update_draft_dependencies_hashes(apps)
|
|
19
|
-
_update_published_dependencies_hashes(apps)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def _create_dependencies(apps):
|
|
23
|
-
"""
|
|
24
|
-
Populate the PublishableEntityVersion.dependencies relation.
|
|
25
|
-
|
|
26
|
-
The only ones we should have in the system at this point are the ones from
|
|
27
|
-
containers, so we query ContainerVersion for that.
|
|
28
|
-
"""
|
|
29
|
-
PublishableEntityVersionDependency = apps.get_model(
|
|
30
|
-
"oel_publishing", "PublishableEntityVersionDependency"
|
|
31
|
-
)
|
|
32
|
-
ContainerVersion = apps.get_model("oel_publishing", "ContainerVersion")
|
|
33
|
-
|
|
34
|
-
for container_version in ContainerVersion.objects.all():
|
|
35
|
-
# child_entity_ids is a set to de-dupe. This doesn't handle pinned
|
|
36
|
-
# child references yet, but you can't actually make those in a real
|
|
37
|
-
# library yet, so we shouldn't have that data lying around to migrate.
|
|
38
|
-
child_entity_ids = set(
|
|
39
|
-
container_version
|
|
40
|
-
.entity_list
|
|
41
|
-
.entitylistrow_set
|
|
42
|
-
.all()
|
|
43
|
-
.values_list("entity_id", flat=True)
|
|
44
|
-
)
|
|
45
|
-
PublishableEntityVersionDependency.objects.bulk_create(
|
|
46
|
-
[
|
|
47
|
-
PublishableEntityVersionDependency(
|
|
48
|
-
referring_version_id=container_version.pk,
|
|
49
|
-
referenced_entity_id=entity_id
|
|
50
|
-
)
|
|
51
|
-
for entity_id in child_entity_ids
|
|
52
|
-
],
|
|
53
|
-
ignore_conflicts=True,
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
def _update_drafts(apps):
|
|
58
|
-
"""
|
|
59
|
-
Update Draft entries to point to their most recent DraftLogRecord.
|
|
60
|
-
|
|
61
|
-
This is slow and expensive.
|
|
62
|
-
"""
|
|
63
|
-
Draft = apps.get_model("oel_publishing", "Draft")
|
|
64
|
-
DraftChangeLogRecord = apps.get_model("oel_publishing", "DraftChangeLogRecord")
|
|
65
|
-
for draft in Draft.objects.all():
|
|
66
|
-
draft_log_record = (
|
|
67
|
-
# Find the most recent DraftChangeLogRecord related to this Draft,
|
|
68
|
-
DraftChangeLogRecord.objects
|
|
69
|
-
.filter(entity_id=draft.pk)
|
|
70
|
-
.order_by('-pk')
|
|
71
|
-
.first()
|
|
72
|
-
)
|
|
73
|
-
draft.draft_log_record = draft_log_record
|
|
74
|
-
draft.save()
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
def _update_draft_dependencies_hashes(apps):
|
|
78
|
-
"""
|
|
79
|
-
Update the dependency_hash_digest for all DraftChangeLogRecords.
|
|
80
|
-
|
|
81
|
-
Backfill dependency state hashes. The important thing here is that things
|
|
82
|
-
without dependencies will have the default (blank) state hash, so we only
|
|
83
|
-
need to query for Draft entries for Containers.
|
|
84
|
-
|
|
85
|
-
We are only backfilling the current DraftChangeLogRecords pointed to by the
|
|
86
|
-
Draft entries now. We are not backfilling all historical
|
|
87
|
-
DraftChangeLogRecords. Full historical reconstruction is probably possible,
|
|
88
|
-
but it's not really worth the cost and complexity.
|
|
89
|
-
"""
|
|
90
|
-
from ..api import update_dependencies_hash_digests_for_log
|
|
91
|
-
from ..models import DraftChangeLog
|
|
92
|
-
|
|
93
|
-
# All DraftChangeLogs that have records that are pointed to by the current
|
|
94
|
-
# Draft and have a possibility of having dependencies.
|
|
95
|
-
change_logs = DraftChangeLog.objects.filter(
|
|
96
|
-
pk=F('records__entity__draft__draft_log_record__draft_change_log'),
|
|
97
|
-
records__entity__draft__version__isnull=False,
|
|
98
|
-
records__entity__container__isnull=False,
|
|
99
|
-
).distinct()
|
|
100
|
-
for change_log in change_logs:
|
|
101
|
-
update_dependencies_hash_digests_for_log(change_log, backfill=True)
|
|
102
|
-
|
|
103
|
-
def _update_published_dependencies_hashes(apps):
|
|
104
|
-
"""
|
|
105
|
-
Update all container Published.dependencies_hash_digest
|
|
106
|
-
|
|
107
|
-
Backfill dependency state hashes. The important thing here is that things
|
|
108
|
-
without dependencies will have the default (blank) state hash, so we only
|
|
109
|
-
need to query for Published entries for Containers.
|
|
110
|
-
"""
|
|
111
|
-
from ..api import update_dependencies_hash_digests_for_log
|
|
112
|
-
from ..models import PublishLog
|
|
113
|
-
|
|
114
|
-
# All PublishLogs that have records that are pointed to by the current
|
|
115
|
-
# Published and have a possibility of having dependencies.
|
|
116
|
-
change_logs = PublishLog.objects.filter(
|
|
117
|
-
pk=F('records__entity__published__publish_log_record__publish_log'),
|
|
118
|
-
records__entity__published__version__isnull=False,
|
|
119
|
-
records__entity__container__isnull=False,
|
|
120
|
-
).distinct()
|
|
121
|
-
for change_log in change_logs:
|
|
122
|
-
update_dependencies_hash_digests_for_log(change_log, backfill=True)
|
|
123
|
-
|
|
124
|
-
def remove_backfill(apps, schema_editor):
|
|
125
|
-
"""
|
|
126
|
-
Reset all dep hash values to default ('') and remove dependencies.
|
|
127
|
-
"""
|
|
128
|
-
Draft = apps.get_model("oel_publishing", "Draft")
|
|
129
|
-
DraftChangeLogRecord = apps.get_model("oel_publishing", "DraftChangeLogRecord")
|
|
130
|
-
PublishLogRecord = apps.get_model("oel_publishing", "PublishLogRecord")
|
|
131
|
-
PublishableEntityVersionDependency = apps.get_model(
|
|
132
|
-
"oel_publishing", "PublishableEntityVersionDependency"
|
|
133
|
-
)
|
|
134
|
-
|
|
135
|
-
PublishLogRecord.objects.all().update(dependencies_hash_digest='')
|
|
136
|
-
DraftChangeLogRecord.objects.all().update(dependencies_hash_digest='')
|
|
137
|
-
PublishableEntityVersionDependency.objects.all().delete()
|
|
138
|
-
Draft.objects.all().update(draft_log_record=None)
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
class Migration(migrations.Migration):
|
|
142
|
-
|
|
143
|
-
dependencies = [
|
|
144
|
-
('oel_publishing', '0009_dependencies_and_hashing'),
|
|
145
|
-
]
|
|
146
|
-
|
|
147
|
-
operations = [
|
|
148
|
-
migrations.RunPython(create_backfill, reverse_code=remove_backfill)
|
|
149
|
-
]
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Sections Django application initialization.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
from django.apps import AppConfig
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class SectionsConfig(AppConfig):
|
|
9
|
-
"""
|
|
10
|
-
Configuration for the Sections Django application.
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
name = "openedx_learning.apps.authoring.sections"
|
|
14
|
-
verbose_name = "Learning Core > Authoring > Sections"
|
|
15
|
-
default_auto_field = "django.db.models.BigAutoField"
|
|
16
|
-
label = "oel_sections"
|
|
17
|
-
|
|
18
|
-
def ready(self):
|
|
19
|
-
"""
|
|
20
|
-
Register Section and SectionVersion.
|
|
21
|
-
"""
|
|
22
|
-
from ..publishing.api import register_publishable_models # pylint: disable=import-outside-toplevel
|
|
23
|
-
from .models import Section, SectionVersion # pylint: disable=import-outside-toplevel
|
|
24
|
-
|
|
25
|
-
register_publishable_models(Section, SectionVersion)
|