openedx-learning 0.18.2__py2.py3-none-any.whl → 0.18.3__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.
@@ -2,4 +2,4 @@
2
2
  Open edX Learning ("Learning Core").
3
3
  """
4
4
 
5
- __version__ = "0.18.2"
5
+ __version__ = "0.18.3"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: openedx-learning
3
- Version: 0.18.2
3
+ Version: 0.18.3
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,10 +18,10 @@ 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: rules<4.0
21
22
  Requires-Dist: attrs
22
23
  Requires-Dist: edx-drf-extensions
23
24
  Requires-Dist: Django<5.0
24
- Requires-Dist: rules<4.0
25
25
  Requires-Dist: celery
26
26
  Requires-Dist: djangorestframework<4.0
27
27
  Dynamic: author
@@ -1,4 +1,4 @@
1
- openedx_learning/__init__.py,sha256=ocvzmbOu6mnDbotyVVaqxa7N5_X4KLXhFm24TGgt7Ug,69
1
+ openedx_learning/__init__.py,sha256=ZT8F2OsEJAp5M7O8SMjarWZezDBwgmA2PjXofoq3_zU,69
2
2
  openedx_learning/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  openedx_learning/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  openedx_learning/api/authoring.py,sha256=vbRpiQ2wOfN3oR2bbN0-bI2ra0QRtha9tVixKW1ENis,929
@@ -62,7 +62,7 @@ openedx_tagging/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  openedx_tagging/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
63
  openedx_tagging/core/tagging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
64
  openedx_tagging/core/tagging/admin.py,sha256=Ngc2l9Mf6gkzmqu7aOwq-d0mgV8szx0GzSeuWFX7Kyg,1080
65
- openedx_tagging/core/tagging/api.py,sha256=HsdCmr1xv54fk6ggPuib3xKOwx5yJFbD3ZL4Lk5-d1o,19815
65
+ openedx_tagging/core/tagging/api.py,sha256=pDaXco7RFTQjPq6aIXLkXcUajm8ljd1vJcFaYuNzLqI,20035
66
66
  openedx_tagging/core/tagging/apps.py,sha256=-gp0VYqX4XQzwjjd-G68Ev2Op0INLh9Byz5UOqF5_7k,345
67
67
  openedx_tagging/core/tagging/data.py,sha256=421EvmDzdM7H523dBVQk4J0W_UwTT4U5syqPRXUYK4g,1353
68
68
  openedx_tagging/core/tagging/rules.py,sha256=Gzw2RCQxoAv2PpOwOWgpD17XoZfowlFnNgQqYn59q_g,6715
@@ -112,8 +112,8 @@ openedx_tagging/core/tagging/rest_api/v1/serializers.py,sha256=0HQD_Jrf6-YpocYfz
112
112
  openedx_tagging/core/tagging/rest_api/v1/urls.py,sha256=dNUKCtUCx_YzrwlbEbpDfjGVQbb2QdJ1VuJCkladj6E,752
113
113
  openedx_tagging/core/tagging/rest_api/v1/views.py,sha256=Hf92cy-tE767DE9FgsZcPKiCYrf5ihfETz8qGKBnuiU,36278
114
114
  openedx_tagging/core/tagging/rest_api/v1/views_import.py,sha256=kbHUPe5A6WaaJ3J1lFIcYCt876ecLNQfd19m7YYub6c,1470
115
- openedx_learning-0.18.2.dist-info/LICENSE.txt,sha256=QTW2QN7q3XszgUAXm9Dzgtu5LXYKbR1SGnqMa7ufEuY,35139
116
- openedx_learning-0.18.2.dist-info/METADATA,sha256=Bcxh5QoGBtnf43eCBqqe8i3JryQAALdsaLT0dw82XnY,8975
117
- openedx_learning-0.18.2.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
118
- openedx_learning-0.18.2.dist-info/top_level.txt,sha256=IYFbr5mgiEHd-LOtZmXj3q3a0bkGK1M9LY7GXgnfi4M,33
119
- openedx_learning-0.18.2.dist-info/RECORD,,
115
+ openedx_learning-0.18.3.dist-info/LICENSE.txt,sha256=QTW2QN7q3XszgUAXm9Dzgtu5LXYKbR1SGnqMa7ufEuY,35139
116
+ openedx_learning-0.18.3.dist-info/METADATA,sha256=E5Xu9Y1qP7u-KW4lBS5GJ_fk3zEHbHjp1D3f_iRbUcc,8975
117
+ openedx_learning-0.18.3.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
118
+ openedx_learning-0.18.3.dist-info/top_level.txt,sha256=IYFbr5mgiEHd-LOtZmXj3q3a0bkGK1M9LY7GXgnfi4M,33
119
+ openedx_learning-0.18.3.dist-info/RECORD,,
@@ -516,3 +516,10 @@ def copy_tags(source_object_id: str, dest_object_id: str):
516
516
  defaults={"is_copied": True},
517
517
  # Note: _value and _export_id are set automatically
518
518
  )
519
+
520
+
521
+ def unmark_copied_tags(object_id: str) -> None:
522
+ """
523
+ Update copied object tags on the given object to mark them as "not copied".
524
+ """
525
+ ObjectTag.objects.filter(object_id=object_id).update(is_copied=False)