openedx-learning 0.29.0__tar.gz → 0.29.1__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.
Files changed (175) hide show
  1. {openedx_learning-0.29.0/openedx_learning.egg-info → openedx_learning-0.29.1}/PKG-INFO +5 -5
  2. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/__init__.py +1 -1
  3. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/zipper.py +22 -4
  4. {openedx_learning-0.29.0 → openedx_learning-0.29.1/openedx_learning.egg-info}/PKG-INFO +5 -5
  5. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/CHANGELOG.rst +0 -0
  6. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/LICENSE.txt +0 -0
  7. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/MANIFEST.in +0 -0
  8. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/README.rst +0 -0
  9. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/api/__init__.py +0 -0
  10. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/api/authoring.py +0 -0
  11. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/api/authoring_models.py +0 -0
  12. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/__init__.py +0 -0
  13. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/__init__.py +0 -0
  14. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/__init__.py +0 -0
  15. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/admin.py +0 -0
  16. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/api.py +0 -0
  17. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/apps.py +0 -0
  18. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/management/__init__.py +0 -0
  19. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/management/commands/__init__.py +0 -0
  20. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/management/commands/lp_dump.py +0 -0
  21. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/management/commands/lp_load.py +0 -0
  22. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/migrations/__init__.py +0 -0
  23. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/models.py +0 -0
  24. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/serializers.py +0 -0
  25. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/backup_restore/toml.py +0 -0
  26. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/__init__.py +0 -0
  27. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/admin.py +0 -0
  28. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/api.py +0 -0
  29. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/apps.py +0 -0
  30. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/migrations/0001_initial.py +0 -0
  31. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/migrations/0002_remove_collection_name_collection_created_by_and_more.py +0 -0
  32. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/migrations/0003_collection_entities.py +0 -0
  33. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/migrations/0004_collection_key.py +0 -0
  34. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/migrations/0005_alter_collection_options_alter_collection_enabled.py +0 -0
  35. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/migrations/__init__.py +0 -0
  36. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/collections/models.py +0 -0
  37. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/__init__.py +0 -0
  38. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/admin.py +0 -0
  39. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/api.py +0 -0
  40. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/apps.py +0 -0
  41. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/management/__init__.py +0 -0
  42. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/management/commands/__init__.py +0 -0
  43. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/management/commands/add_assets_to_component.py +0 -0
  44. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/migrations/0001_initial.py +0 -0
  45. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/migrations/0002_alter_componentversioncontent_key.py +0 -0
  46. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/migrations/0003_remove_componentversioncontent_learner_downloadable.py +0 -0
  47. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/migrations/0004_remove_componentversioncontent_uuid.py +0 -0
  48. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/migrations/__init__.py +0 -0
  49. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/components/models.py +0 -0
  50. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/contents/__init__.py +0 -0
  51. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/contents/admin.py +0 -0
  52. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/contents/api.py +0 -0
  53. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/contents/apps.py +0 -0
  54. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/contents/migrations/0001_initial.py +0 -0
  55. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/contents/migrations/__init__.py +0 -0
  56. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/contents/models.py +0 -0
  57. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/__init__.py +0 -0
  58. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/admin.py +0 -0
  59. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/api.py +0 -0
  60. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/apps.py +0 -0
  61. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/contextmanagers.py +0 -0
  62. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/migrations/0001_initial.py +0 -0
  63. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/migrations/0002_alter_learningpackage_key_and_more.py +0 -0
  64. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/migrations/0003_containers.py +0 -0
  65. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/migrations/0004_publishableentity_can_stand_alone.py +0 -0
  66. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/migrations/0005_alter_entitylistrow_options.py +0 -0
  67. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/migrations/0006_draftchangelog.py +0 -0
  68. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/migrations/0007_bootstrap_draftchangelog.py +0 -0
  69. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/migrations/0008_alter_draftchangelogrecord_options_and_more.py +0 -0
  70. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/migrations/__init__.py +0 -0
  71. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/models/__init__.py +0 -0
  72. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/models/container.py +0 -0
  73. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/models/draft_log.py +0 -0
  74. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/models/entity_list.py +0 -0
  75. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/models/learning_package.py +0 -0
  76. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/models/publish_log.py +0 -0
  77. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/publishing/models/publishable_entity.py +0 -0
  78. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/sections/__init__.py +0 -0
  79. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/sections/admin.py +0 -0
  80. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/sections/api.py +0 -0
  81. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/sections/apps.py +0 -0
  82. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/sections/migrations/0001_initial.py +0 -0
  83. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/sections/migrations/__init__.py +0 -0
  84. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/sections/models.py +0 -0
  85. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/subsections/__init__.py +0 -0
  86. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/subsections/admin.py +0 -0
  87. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/subsections/api.py +0 -0
  88. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/subsections/apps.py +0 -0
  89. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/subsections/migrations/0001_initial.py +0 -0
  90. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/subsections/migrations/__init__.py +0 -0
  91. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/subsections/models.py +0 -0
  92. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/units/__init__.py +0 -0
  93. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/units/admin.py +0 -0
  94. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/units/api.py +0 -0
  95. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/units/apps.py +0 -0
  96. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/units/migrations/0001_initial.py +0 -0
  97. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/units/migrations/__init__.py +0 -0
  98. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/apps/authoring/units/models.py +0 -0
  99. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/contrib/__init__.py +0 -0
  100. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/contrib/media_server/__init__.py +0 -0
  101. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/contrib/media_server/apps.py +0 -0
  102. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/contrib/media_server/urls.py +0 -0
  103. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/contrib/media_server/views.py +0 -0
  104. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/lib/__init__.py +0 -0
  105. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/lib/admin_utils.py +0 -0
  106. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/lib/cache.py +0 -0
  107. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/lib/collations.py +0 -0
  108. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/lib/fields.py +0 -0
  109. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/lib/managers.py +0 -0
  110. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/lib/test_utils.py +0 -0
  111. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/lib/validators.py +0 -0
  112. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning/py.typed +0 -0
  113. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning.egg-info/SOURCES.txt +0 -0
  114. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning.egg-info/dependency_links.txt +0 -0
  115. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning.egg-info/not-zip-safe +0 -0
  116. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning.egg-info/requires.txt +4 -4
  117. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_learning.egg-info/top_level.txt +0 -0
  118. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/__init__.py +0 -0
  119. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/__init__.py +0 -0
  120. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/__init__.py +0 -0
  121. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/admin.py +0 -0
  122. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/api.py +0 -0
  123. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/apps.py +0 -0
  124. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/data.py +0 -0
  125. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/import_export/__init__.py +0 -0
  126. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/import_export/actions.py +0 -0
  127. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/import_export/api.py +0 -0
  128. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/import_export/exceptions.py +0 -0
  129. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/import_export/import_plan.py +0 -0
  130. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/import_export/parsers.py +0 -0
  131. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/import_export/tasks.py +0 -0
  132. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/import_export/template.csv +0 -0
  133. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/import_export/template.json +0 -0
  134. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0001_initial.py +0 -0
  135. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0001_squashed.py +0 -0
  136. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0002_auto_20230718_2026.py +0 -0
  137. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0003_auto_20230721_1238.py +0 -0
  138. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0004_auto_20230723_2001.py +0 -0
  139. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0005_language_taxonomy.py +0 -0
  140. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0006_alter_objecttag_unique_together.py +0 -0
  141. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0006_auto_20230802_1631.py +0 -0
  142. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0007_tag_import_task_log_null_fix.py +0 -0
  143. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0008_taxonomy_description_not_null.py +0 -0
  144. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0009_alter_objecttag_object_id.py +0 -0
  145. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0010_cleanups.py +0 -0
  146. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0011_remove_required.py +0 -0
  147. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0012_language_taxonomy.py +0 -0
  148. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0013_tag_parent_blank.py +0 -0
  149. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0014_minor_fixes.py +0 -0
  150. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0015_taxonomy_export_id.py +0 -0
  151. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0016_object_tag_export_id.py +0 -0
  152. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0017_alter_tagimporttask_status.py +0 -0
  153. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/0018_objecttag_is_copied.py +0 -0
  154. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/migrations/__init__.py +0 -0
  155. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/models/__init__.py +0 -0
  156. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/models/base.py +0 -0
  157. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/models/import_export.py +0 -0
  158. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/models/system_defined.py +0 -0
  159. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/models/utils.py +0 -0
  160. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/__init__.py +0 -0
  161. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/paginators.py +0 -0
  162. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/urls.py +0 -0
  163. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/utils.py +0 -0
  164. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/v1/__init__.py +0 -0
  165. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/v1/permissions.py +0 -0
  166. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/v1/serializers.py +0 -0
  167. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/v1/urls.py +0 -0
  168. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/v1/views.py +0 -0
  169. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rest_api/v1/views_import.py +0 -0
  170. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/rules.py +0 -0
  171. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/core/tagging/urls.py +0 -0
  172. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/openedx_tagging/py.typed +0 -0
  173. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/requirements/base.in +0 -0
  174. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/setup.cfg +0 -0
  175. {openedx_learning-0.29.0 → openedx_learning-0.29.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openedx-learning
3
- Version: 0.29.0
3
+ Version: 0.29.1
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: djangorestframework<4.0
22
+ Requires-Dist: rules<4.0
23
23
  Requires-Dist: edx-drf-extensions
24
+ Requires-Dist: Django
25
+ Requires-Dist: tomlkit
26
+ Requires-Dist: djangorestframework<4.0
24
27
  Requires-Dist: attrs
25
28
  Requires-Dist: celery
26
- Requires-Dist: tomlkit
27
- Requires-Dist: rules<4.0
28
- Requires-Dist: Django
29
29
  Dynamic: author
30
30
  Dynamic: author-email
31
31
  Dynamic: classifier
@@ -2,4 +2,4 @@
2
2
  Open edX Learning ("Learning Core").
3
3
  """
4
4
 
5
- __version__ = "0.29.0"
5
+ __version__ = "0.29.1"
@@ -47,6 +47,7 @@ from openedx_learning.apps.authoring.backup_restore.toml import (
47
47
  )
48
48
  from openedx_learning.apps.authoring.collections import api as collections_api
49
49
  from openedx_learning.apps.authoring.components import api as components_api
50
+ from openedx_learning.apps.authoring.contents import api as contents_api
50
51
  from openedx_learning.apps.authoring.publishing import api as publishing_api
51
52
  from openedx_learning.apps.authoring.sections import api as sections_api
52
53
  from openedx_learning.apps.authoring.subsections import api as subsections_api
@@ -493,6 +494,7 @@ class LearningPackageUnzipper:
493
494
  self.zipf = zipf
494
495
  self.user = user
495
496
  self.lp_key = key # If provided, use this key for the restored learning package
497
+ self.learning_package_id: int | None = None # Will be set upon restoration
496
498
  self.utc_now: datetime = datetime.now(timezone.utc)
497
499
  self.component_types_cache: dict[tuple[str, str], ComponentType] = {}
498
500
  self.errors: list[dict[str, Any]] = []
@@ -735,6 +737,7 @@ class LearningPackageUnzipper:
735
737
  learning_package["key"] = self.lp_key
736
738
 
737
739
  learning_package_obj = publishing_api.create_learning_package(**learning_package)
740
+ self.learning_package_id = learning_package_obj.id
738
741
 
739
742
  with publishing_api.bulk_draft_changes_for(learning_package_obj.id):
740
743
  self._save_components(learning_package_obj, components, component_static_files)
@@ -937,16 +940,31 @@ class LearningPackageUnzipper:
937
940
  num_version: int,
938
941
  entity_key: str,
939
942
  static_files_map: dict[str, List[str]]
940
- ) -> dict[str, bytes]:
943
+ ) -> dict[str, bytes | int]:
941
944
  """Resolve static file paths into their binary content."""
942
- resolved_files: dict[str, bytes] = {}
945
+ resolved_files: dict[str, bytes | int] = {}
943
946
 
944
- static_file_key = f"{entity_key}:v{num_version}" # e.g., "my_component:123:v1"
947
+ static_file_key = f"{entity_key}:v{num_version}" # e.g., "xblock.v1:html:my_component_123456:v1"
948
+ block_type = entity_key.split(":")[1] # e.g., "html"
945
949
  static_files = static_files_map.get(static_file_key, [])
946
950
  for static_file in static_files:
947
951
  local_key = static_file.split(f"v{num_version}/")[-1]
948
952
  with self.zipf.open(static_file, "r") as f:
949
- resolved_files[local_key] = f.read()
953
+ content_bytes = f.read()
954
+ if local_key == "block.xml":
955
+ # Special handling for block.xml to ensure
956
+ # storing the value as a content instance
957
+ if not self.learning_package_id:
958
+ raise ValueError("learning_package_id must be set before resolving static files.")
959
+ text_content = contents_api.get_or_create_text_content(
960
+ self.learning_package_id,
961
+ contents_api.get_or_create_media_type(f"application/vnd.openedx.xblock.v1.{block_type}+xml").id,
962
+ text=content_bytes.decode("utf-8"),
963
+ created=self.utc_now,
964
+ )
965
+ resolved_files[local_key] = text_content.id
966
+ else:
967
+ resolved_files[local_key] = content_bytes
950
968
  return resolved_files
951
969
 
952
970
  def _resolve_children(self, entity_data: dict[str, Any], lookup_map: dict[str, Any]) -> list[Any]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openedx-learning
3
- Version: 0.29.0
3
+ Version: 0.29.1
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: djangorestframework<4.0
22
+ Requires-Dist: rules<4.0
23
23
  Requires-Dist: edx-drf-extensions
24
+ Requires-Dist: Django
25
+ Requires-Dist: tomlkit
26
+ Requires-Dist: djangorestframework<4.0
24
27
  Requires-Dist: attrs
25
28
  Requires-Dist: celery
26
- Requires-Dist: tomlkit
27
- Requires-Dist: rules<4.0
28
- Requires-Dist: Django
29
29
  Dynamic: author
30
30
  Dynamic: author-email
31
31
  Dynamic: classifier
@@ -1,7 +1,7 @@
1
- djangorestframework<4.0
1
+ rules<4.0
2
2
  edx-drf-extensions
3
+ Django
4
+ tomlkit
5
+ djangorestframework<4.0
3
6
  attrs
4
7
  celery
5
- tomlkit
6
- rules<4.0
7
- Django