openedx-learning 0.12.0__tar.gz → 0.13.0__tar.gz
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-0.12.0/openedx_learning.egg-info → openedx_learning-0.13.0}/PKG-INFO +4 -4
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/__init__.py +1 -1
- openedx_learning-0.13.0/openedx_learning/apps/authoring/collections/admin.py +27 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/collections/api.py +38 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/api.py +16 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0/openedx_learning.egg-info}/PKG-INFO +4 -4
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning.egg-info/SOURCES.txt +1 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/CHANGELOG.rst +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/LICENSE.txt +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/MANIFEST.in +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/README.rst +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/api/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/api/authoring.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/api/authoring_models.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/collections/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/collections/apps.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/collections/migrations/0001_initial.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/collections/migrations/0002_remove_collection_name_collection_created_by_and_more.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/collections/migrations/0003_collection_entities.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/collections/migrations/0004_collection_key.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/collections/migrations/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/collections/models.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/admin.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/apps.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/management/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/management/commands/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/management/commands/add_assets_to_component.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/migrations/0001_initial.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/migrations/0002_alter_componentversioncontent_key.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/migrations/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/components/models.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/contents/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/contents/admin.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/contents/api.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/contents/apps.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/contents/migrations/0001_initial.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/contents/migrations/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/contents/models.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/publishing/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/publishing/admin.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/publishing/api.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/publishing/apps.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/publishing/migrations/0001_initial.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/publishing/migrations/0002_alter_learningpackage_key_and_more.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/publishing/migrations/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/publishing/model_mixins.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/publishing/models.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/contrib/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/contrib/media_server/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/contrib/media_server/apps.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/contrib/media_server/urls.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/contrib/media_server/views.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/lib/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/lib/admin_utils.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/lib/cache.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/lib/collations.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/lib/fields.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/lib/managers.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/lib/test_utils.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/lib/validators.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/py.typed +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning.egg-info/dependency_links.txt +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning.egg-info/not-zip-safe +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning.egg-info/requires.txt +3 -3
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning.egg-info/top_level.txt +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/admin.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/api.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/apps.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/data.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/import_export/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/import_export/actions.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/import_export/api.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/import_export/exceptions.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/import_export/import_plan.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/import_export/parsers.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/import_export/tasks.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/import_export/template.csv +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/import_export/template.json +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0001_initial.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0001_squashed.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0002_auto_20230718_2026.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0003_auto_20230721_1238.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0004_auto_20230723_2001.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0005_language_taxonomy.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0006_alter_objecttag_unique_together.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0006_auto_20230802_1631.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0007_tag_import_task_log_null_fix.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0008_taxonomy_description_not_null.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0009_alter_objecttag_object_id.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0010_cleanups.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0011_remove_required.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0012_language_taxonomy.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0013_tag_parent_blank.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0014_minor_fixes.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0015_taxonomy_export_id.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0016_object_tag_export_id.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/0017_alter_tagimporttask_status.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/migrations/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/models/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/models/base.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/models/import_export.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/models/system_defined.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/models/utils.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/paginators.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/urls.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/utils.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/v1/__init__.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/v1/permissions.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/v1/serializers.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/v1/urls.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/v1/views.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/v1/views_import.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rules.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/urls.py +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/py.typed +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/requirements/base.in +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/setup.cfg +0 -0
- {openedx_learning-0.12.0 → openedx_learning-0.13.0}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: openedx-learning
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.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
|
|
@@ -18,11 +18,11 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
19
|
Requires-Python: >=3.11
|
|
20
20
|
License-File: LICENSE.txt
|
|
21
|
-
Requires-Dist: celery
|
|
22
21
|
Requires-Dist: Django<5.0
|
|
23
|
-
Requires-Dist: djangorestframework<4.0
|
|
24
|
-
Requires-Dist: rules<4.0
|
|
25
22
|
Requires-Dist: edx-drf-extensions
|
|
23
|
+
Requires-Dist: celery
|
|
24
|
+
Requires-Dist: rules<4.0
|
|
25
|
+
Requires-Dist: djangorestframework<4.0
|
|
26
26
|
Requires-Dist: attrs
|
|
27
27
|
|
|
28
28
|
Open edX Learning Core (and Tagging)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Django Admin pages for Collection models.
|
|
3
|
+
"""
|
|
4
|
+
from django.contrib import admin
|
|
5
|
+
|
|
6
|
+
from .models import Collection
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class CollectionAdmin(admin.ModelAdmin):
|
|
10
|
+
"""
|
|
11
|
+
The Collection model admin.
|
|
12
|
+
|
|
13
|
+
Allows users to easily disable/enable (aka soft delete and restore) or bulk delete Collections.
|
|
14
|
+
"""
|
|
15
|
+
readonly_fields = ["key", "learning_package"]
|
|
16
|
+
list_filter = ["enabled"]
|
|
17
|
+
list_display = ["key", "title", "enabled", "modified"]
|
|
18
|
+
list_editable = ["enabled"]
|
|
19
|
+
|
|
20
|
+
def has_add_permission(self, request, *args, **kwargs):
|
|
21
|
+
"""
|
|
22
|
+
Disallow adding new collections via Django Admin.
|
|
23
|
+
"""
|
|
24
|
+
return False # pragma: no cover
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
admin.site.register(Collection, CollectionAdmin)
|
|
@@ -20,10 +20,12 @@ from .models import Collection
|
|
|
20
20
|
__all__ = [
|
|
21
21
|
"add_to_collection",
|
|
22
22
|
"create_collection",
|
|
23
|
+
"delete_collection",
|
|
23
24
|
"get_collection",
|
|
24
25
|
"get_collections",
|
|
25
26
|
"get_entity_collections",
|
|
26
27
|
"remove_from_collection",
|
|
28
|
+
"restore_collection",
|
|
27
29
|
"update_collection",
|
|
28
30
|
]
|
|
29
31
|
|
|
@@ -84,6 +86,42 @@ def update_collection(
|
|
|
84
86
|
return collection
|
|
85
87
|
|
|
86
88
|
|
|
89
|
+
def delete_collection(
|
|
90
|
+
learning_package_id: int,
|
|
91
|
+
key: str,
|
|
92
|
+
*,
|
|
93
|
+
hard_delete=False,
|
|
94
|
+
) -> Collection:
|
|
95
|
+
"""
|
|
96
|
+
Disables or deletes a collection identified by the given learning_package + key.
|
|
97
|
+
|
|
98
|
+
By default (hard_delete=False), the collection is "soft deleted", i.e disabled.
|
|
99
|
+
Soft-deleted collections can be re-enabled using restore_collection.
|
|
100
|
+
"""
|
|
101
|
+
collection = get_collection(learning_package_id, key)
|
|
102
|
+
|
|
103
|
+
if hard_delete:
|
|
104
|
+
collection.delete()
|
|
105
|
+
else:
|
|
106
|
+
collection.enabled = False
|
|
107
|
+
collection.save()
|
|
108
|
+
return collection
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
def restore_collection(
|
|
112
|
+
learning_package_id: int,
|
|
113
|
+
key: str,
|
|
114
|
+
) -> Collection:
|
|
115
|
+
"""
|
|
116
|
+
Undo a "soft delete" by re-enabling a Collection.
|
|
117
|
+
"""
|
|
118
|
+
collection = get_collection(learning_package_id, key)
|
|
119
|
+
|
|
120
|
+
collection.enabled = True
|
|
121
|
+
collection.save()
|
|
122
|
+
return collection
|
|
123
|
+
|
|
124
|
+
|
|
87
125
|
def add_to_collection(
|
|
88
126
|
learning_package_id: int,
|
|
89
127
|
key: str,
|
|
@@ -42,6 +42,7 @@ __all__ = [
|
|
|
42
42
|
"get_component_by_uuid",
|
|
43
43
|
"get_component_version_by_uuid",
|
|
44
44
|
"component_exists_by_key",
|
|
45
|
+
"get_collection_components",
|
|
45
46
|
"get_components",
|
|
46
47
|
"create_component_version_content",
|
|
47
48
|
"look_up_component_version_content",
|
|
@@ -339,6 +340,21 @@ def get_components(
|
|
|
339
340
|
return qset
|
|
340
341
|
|
|
341
342
|
|
|
343
|
+
def get_collection_components(
|
|
344
|
+
learning_package_id: int,
|
|
345
|
+
collection_key: str,
|
|
346
|
+
) -> QuerySet[Component]:
|
|
347
|
+
"""
|
|
348
|
+
Returns a QuerySet of Components relating to the PublishableEntities in a Collection.
|
|
349
|
+
|
|
350
|
+
Components have a one-to-one relationship with PublishableEntity, but the reverse may not always be true.
|
|
351
|
+
"""
|
|
352
|
+
return Component.objects.filter(
|
|
353
|
+
learning_package_id=learning_package_id,
|
|
354
|
+
publishable_entity__collections__key=collection_key,
|
|
355
|
+
).order_by('pk')
|
|
356
|
+
|
|
357
|
+
|
|
342
358
|
def look_up_component_version_content(
|
|
343
359
|
learning_package_key: str,
|
|
344
360
|
component_key: str,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: openedx-learning
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.13.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
|
|
@@ -18,11 +18,11 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
19
19
|
Requires-Python: >=3.11
|
|
20
20
|
License-File: LICENSE.txt
|
|
21
|
-
Requires-Dist: celery
|
|
22
21
|
Requires-Dist: Django<5.0
|
|
23
|
-
Requires-Dist: djangorestframework<4.0
|
|
24
|
-
Requires-Dist: rules<4.0
|
|
25
22
|
Requires-Dist: edx-drf-extensions
|
|
23
|
+
Requires-Dist: celery
|
|
24
|
+
Requires-Dist: rules<4.0
|
|
25
|
+
Requires-Dist: djangorestframework<4.0
|
|
26
26
|
Requires-Dist: attrs
|
|
27
27
|
|
|
28
28
|
Open edX Learning Core (and Tagging)
|
|
@@ -18,6 +18,7 @@ openedx_learning/api/authoring_models.py
|
|
|
18
18
|
openedx_learning/apps/__init__.py
|
|
19
19
|
openedx_learning/apps/authoring/__init__.py
|
|
20
20
|
openedx_learning/apps/authoring/collections/__init__.py
|
|
21
|
+
openedx_learning/apps/authoring/collections/admin.py
|
|
21
22
|
openedx_learning/apps/authoring/collections/api.py
|
|
22
23
|
openedx_learning/apps/authoring/collections/apps.py
|
|
23
24
|
openedx_learning/apps/authoring/collections/models.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/api/authoring_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/contents/api.py
RENAMED
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/apps/authoring/contents/apps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/contrib/media_server/apps.py
RENAMED
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/contrib/media_server/urls.py
RENAMED
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning/contrib/media_server/views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_learning.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/models/__init__.py
RENAMED
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/models/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/models/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/urls.py
RENAMED
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openedx_learning-0.12.0 → openedx_learning-0.13.0}/openedx_tagging/core/tagging/rest_api/v1/urls.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|