refactor: Move CourseEditLTIFieldsEnabledFlag to xblock-lti-consumer (#27529)
This commit is contained in:
@@ -20,6 +20,7 @@ from edx_proctoring.api import (
|
||||
)
|
||||
from edx_proctoring.exceptions import ProctoredExamNotFoundException
|
||||
from help_tokens.core import HelpUrlExpert
|
||||
from lti_consumer.models import CourseEditLTIFieldsEnabledFlag
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from opaque_keys.edx.locator import LibraryUsageLocator
|
||||
from pytz import UTC
|
||||
@@ -29,7 +30,6 @@ from xblock.fields import Scope
|
||||
|
||||
from cms.djangoapps.contentstore.config.waffle import SHOW_REVIEW_RULES_FLAG
|
||||
from cms.djangoapps.models.settings.course_grading import CourseGradingModel
|
||||
from cms.djangoapps.xblock_config.models import CourseEditLTIFieldsEnabledFlag
|
||||
from cms.lib.xblock.authoring_mixin import VISIBILITY_VIEW
|
||||
from common.djangoapps.edxmako.shortcuts import render_to_string
|
||||
from common.djangoapps.static_replace import replace_static_urls
|
||||
|
||||
@@ -3,26 +3,10 @@ Django admin dashboard configuration for LMS XBlock infrastructure.
|
||||
"""
|
||||
|
||||
|
||||
from config_models.admin import ConfigurationModelAdmin, KeyedConfigurationModelAdmin
|
||||
from config_models.admin import ConfigurationModelAdmin
|
||||
from django.contrib import admin
|
||||
|
||||
from cms.djangoapps.xblock_config.forms import CourseEditLTIFieldsEnabledAdminForm
|
||||
from cms.djangoapps.xblock_config.models import CourseEditLTIFieldsEnabledFlag, StudioConfig
|
||||
from cms.djangoapps.xblock_config.models import StudioConfig
|
||||
|
||||
|
||||
class CourseEditLTIFieldsEnabledFlagAdmin(KeyedConfigurationModelAdmin):
|
||||
"""
|
||||
Admin for LTI Fields Editing feature on course-by-course basis.
|
||||
Allows searching by course id.
|
||||
"""
|
||||
form = CourseEditLTIFieldsEnabledAdminForm
|
||||
search_fields = ['course_id']
|
||||
fieldsets = (
|
||||
(None, {
|
||||
'fields': ('course_id', 'enabled'),
|
||||
'description': 'Enter a valid course id. If it is invalid, an error message will be displayed.'
|
||||
}),
|
||||
)
|
||||
|
||||
admin.site.register(StudioConfig, ConfigurationModelAdmin)
|
||||
admin.site.register(CourseEditLTIFieldsEnabledFlag, CourseEditLTIFieldsEnabledFlagAdmin)
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
"""
|
||||
Defines a form for providing validation of LTI consumer course-specific configuration.
|
||||
"""
|
||||
|
||||
|
||||
import logging
|
||||
|
||||
from django import forms
|
||||
|
||||
from cms.djangoapps.xblock_config.models import CourseEditLTIFieldsEnabledFlag
|
||||
from openedx.core.lib.courses import clean_course_id
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class CourseEditLTIFieldsEnabledAdminForm(forms.ModelForm):
|
||||
"""
|
||||
Form for LTI consumer course-specific configuration to verify the course id.
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
model = CourseEditLTIFieldsEnabledFlag
|
||||
fields = '__all__'
|
||||
|
||||
def clean_course_id(self):
|
||||
"""
|
||||
Validate the course id
|
||||
"""
|
||||
return clean_course_id(self)
|
||||
@@ -0,0 +1,22 @@
|
||||
# Generated by Django 2.2.20 on 2021-05-05 12:03
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('xblock_config', '0002_courseeditltifieldsenabledflag'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
# Since this model only needs to be moved, we just want to
|
||||
# indicate to Django that the model is no longer here without
|
||||
# actually deleting any data from the database.
|
||||
migrations.SeparateDatabaseAndState(
|
||||
database_operations=[],
|
||||
state_operations=[
|
||||
migrations.DeleteModel('CourseEditLTIFieldsEnabledFlag')
|
||||
],
|
||||
)
|
||||
]
|
||||
@@ -6,10 +6,6 @@ Includes:
|
||||
"""
|
||||
from config_models.models import ConfigurationModel
|
||||
from django.db.models import TextField
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
from opaque_keys.edx.django.models import CourseKeyField
|
||||
|
||||
from openedx.core.lib.cache_utils import request_cached
|
||||
|
||||
|
||||
class StudioConfig(ConfigurationModel):
|
||||
@@ -30,57 +26,3 @@ class StudioConfig(ConfigurationModel):
|
||||
"""
|
||||
studio_config = cls.current()
|
||||
return studio_config.enabled and block_type not in studio_config.disabled_blocks.split()
|
||||
|
||||
|
||||
# TODO: Move CourseEditLTIFieldsEnabledFlag to LTI XBlock as a part of EDUCATOR-121
|
||||
# reference: https://openedx.atlassian.net/browse/EDUCATOR-121
|
||||
@python_2_unicode_compatible
|
||||
class CourseEditLTIFieldsEnabledFlag(ConfigurationModel):
|
||||
"""
|
||||
Enables the editing of "request username" and "request email" fields
|
||||
of LTI consumer for a specific course.
|
||||
|
||||
.. no_pii:
|
||||
"""
|
||||
KEY_FIELDS = ('course_id',)
|
||||
|
||||
course_id = CourseKeyField(max_length=255, db_index=True)
|
||||
|
||||
@classmethod
|
||||
@request_cached()
|
||||
def lti_access_to_learners_editable(cls, course_id, is_already_sharing_learner_info):
|
||||
"""
|
||||
Looks at the currently active configuration model to determine whether
|
||||
the feature that enables editing of "request username" and "request email"
|
||||
fields of LTI consumer is available or not.
|
||||
|
||||
Backwards Compatibility:
|
||||
Enable this feature for a course run who was sharing learner username/email
|
||||
in the past.
|
||||
|
||||
Arguments:
|
||||
course_id (CourseKey): course id for which we need to check this configuration
|
||||
is_already_sharing_learner_info (bool): indicates whether LTI consumer is
|
||||
already sharing edX learner username/email.
|
||||
"""
|
||||
course_specific_config = (CourseEditLTIFieldsEnabledFlag.objects
|
||||
.filter(course_id=course_id)
|
||||
.order_by('-change_date')
|
||||
.first())
|
||||
|
||||
if is_already_sharing_learner_info:
|
||||
if not course_specific_config:
|
||||
CourseEditLTIFieldsEnabledFlag.objects.create(course_id=course_id, enabled=True)
|
||||
return True
|
||||
|
||||
return course_specific_config.enabled if course_specific_config else False
|
||||
|
||||
def __str__(self):
|
||||
en = "Not "
|
||||
if self.enabled:
|
||||
en = ""
|
||||
|
||||
return "Course '{course_id}': Edit LTI access to Learner information {en}Enabled".format(
|
||||
course_id=str(self.course_id),
|
||||
en=en,
|
||||
)
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
"""
|
||||
Tests for the models that configures Edit LTI fields feature.
|
||||
"""
|
||||
|
||||
|
||||
from contextlib import contextmanager
|
||||
|
||||
import ddt
|
||||
from django.test import TestCase
|
||||
from edx_django_utils.cache import RequestCache
|
||||
from opaque_keys.edx.locator import CourseLocator
|
||||
|
||||
from cms.djangoapps.xblock_config.models import CourseEditLTIFieldsEnabledFlag
|
||||
|
||||
|
||||
@contextmanager
|
||||
def lti_consumer_fields_editing_flag(course_id, enabled_for_course=False):
|
||||
"""
|
||||
Yields CourseEditLTIFieldsEnabledFlag record for unit tests
|
||||
|
||||
Arguments:
|
||||
course_id (CourseLocator): course locator to control this feature for.
|
||||
enabled_for_course (bool): whether feature is enabled for 'course_id'
|
||||
"""
|
||||
RequestCache.clear_all_namespaces()
|
||||
CourseEditLTIFieldsEnabledFlag.objects.create(course_id=course_id, enabled=enabled_for_course)
|
||||
yield
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
class TestLTIConsumerHideFieldsFlag(TestCase):
|
||||
"""
|
||||
Tests the behavior of the flags for lti consumer fields' editing feature.
|
||||
These are set via Django admin settings.
|
||||
"""
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.course_id = CourseLocator(org="edx", course="course", run="run")
|
||||
|
||||
@ddt.data(
|
||||
(True, True),
|
||||
(True, False),
|
||||
(False, True),
|
||||
(False, False),
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_lti_fields_editing_feature_flags(self, enabled_for_course, is_already_sharing_learner_info):
|
||||
"""
|
||||
Test that feature flag works correctly with course-specific configuration in combination with
|
||||
a boolean which indicates whether a course-run already sharing learner username/email - given
|
||||
the course-specific configuration record is present.
|
||||
"""
|
||||
with lti_consumer_fields_editing_flag(
|
||||
course_id=self.course_id,
|
||||
enabled_for_course=enabled_for_course
|
||||
):
|
||||
feature_enabled = CourseEditLTIFieldsEnabledFlag.lti_access_to_learners_editable(
|
||||
self.course_id,
|
||||
is_already_sharing_learner_info,
|
||||
)
|
||||
self.assertEqual(feature_enabled, enabled_for_course)
|
||||
|
||||
@ddt.data(True, False)
|
||||
def test_lti_fields_editing_is_backwards_compatible(self, is_already_sharing_learner_info):
|
||||
"""
|
||||
Test that feature flag works correctly with a boolean which indicates whether a course-run already
|
||||
sharing learner username/email - given the course-specific configuration record is not set previously.
|
||||
|
||||
This tests the backward compatibility which currently is: if an existing course run is already
|
||||
sharing learner information then this feature should be enabled for that course run by default.
|
||||
"""
|
||||
feature_enabled = CourseEditLTIFieldsEnabledFlag.lti_access_to_learners_editable(
|
||||
self.course_id,
|
||||
is_already_sharing_learner_info,
|
||||
)
|
||||
feature_flag_created = CourseEditLTIFieldsEnabledFlag.objects.filter(course_id=self.course_id).exists()
|
||||
self.assertEqual(feature_flag_created, is_already_sharing_learner_info)
|
||||
self.assertEqual(feature_enabled, is_already_sharing_learner_info)
|
||||
|
||||
def test_enable_disable_course_flag(self):
|
||||
"""
|
||||
Ensures that the flag, once enabled for a course, can also be disabled.
|
||||
"""
|
||||
with lti_consumer_fields_editing_flag(
|
||||
course_id=self.course_id,
|
||||
enabled_for_course=True
|
||||
):
|
||||
self.assertTrue(CourseEditLTIFieldsEnabledFlag.lti_access_to_learners_editable(self.course_id, False))
|
||||
with lti_consumer_fields_editing_flag(
|
||||
course_id=self.course_id,
|
||||
enabled_for_course=False
|
||||
):
|
||||
self.assertFalse(CourseEditLTIFieldsEnabledFlag.lti_access_to_learners_editable(self.course_id, False))
|
||||
@@ -102,6 +102,3 @@ maxminddb<2.0.0 # maxminddb 2.0.0 has dropped support for Python 3.5
|
||||
path<13.2.0 # path 13.2.0 drops support for Python 3.5
|
||||
zipp==1.0.0 # zipp 2.0.0 requires Python >= 3.6
|
||||
geoip2<4.0.1 # geoip2 requires Python 3.6
|
||||
|
||||
# There are corresponding changes in edx-platform that need to be made before we can update.
|
||||
lti-consumer-xblock<2.11.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
@@ -62,7 +62,6 @@ numpy==1.16.5
|
||||
# chem
|
||||
# matplotlib
|
||||
# openedx-calc
|
||||
# scipy
|
||||
openedx-calc==1.0.9
|
||||
# via -r requirements/edx-sandbox/py35.in
|
||||
pycparser==2.20
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
@@ -70,16 +70,16 @@ bleach==3.3.0
|
||||
# ora2
|
||||
# xblock-drag-and-drop-v2
|
||||
# xblock-poll
|
||||
boto==2.39.0
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# edxval
|
||||
boto3==1.4.8
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# django-ses
|
||||
# fs-s3fs
|
||||
# ora2
|
||||
boto==2.39.0
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# edxval
|
||||
botocore==1.8.17
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
@@ -152,6 +152,68 @@ defusedxml==0.7.1
|
||||
# python3-saml
|
||||
# safe-lxml
|
||||
# social-auth-core
|
||||
django==2.2.24
|
||||
# via
|
||||
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.in
|
||||
# django-appconf
|
||||
# django-classy-tags
|
||||
# django-config-models
|
||||
# django-cors-headers
|
||||
# django-crum
|
||||
# django-fernet-fields
|
||||
# django-filter
|
||||
# django-method-override
|
||||
# django-model-utils
|
||||
# django-mptt
|
||||
# django-multi-email-field
|
||||
# django-mysql
|
||||
# django-oauth-toolkit
|
||||
# django-pyfs
|
||||
# django-ratelimit-backend
|
||||
# django-sekizai
|
||||
# django-ses
|
||||
# django-splash
|
||||
# django-statici18n
|
||||
# django-storages
|
||||
# django-user-tasks
|
||||
# django-wiki
|
||||
# djangorestframework
|
||||
# drf-jwt
|
||||
# drf-yasg
|
||||
# edx-ace
|
||||
# edx-api-doc-tools
|
||||
# edx-bulk-grades
|
||||
# edx-celeryutils
|
||||
# edx-completion
|
||||
# edx-django-release-util
|
||||
# edx-django-sites-extensions
|
||||
# edx-django-utils
|
||||
# edx-drf-extensions
|
||||
# edx-enterprise
|
||||
# edx-event-routing-backends
|
||||
# edx-i18n-tools
|
||||
# edx-milestones
|
||||
# edx-opaque-keys
|
||||
# edx-organizations
|
||||
# edx-proctoring
|
||||
# edx-rbac
|
||||
# edx-search
|
||||
# edx-submissions
|
||||
# edx-toggles
|
||||
# edx-when
|
||||
# edxval
|
||||
# enmerkar
|
||||
# enmerkar-underscore
|
||||
# event-tracking
|
||||
# help-tokens
|
||||
# jsonfield2
|
||||
# lti-consumer-xblock
|
||||
# ora2
|
||||
# rest-condition
|
||||
# super-csv
|
||||
# xss-utils
|
||||
django-appconf==1.0.4
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
@@ -170,6 +232,7 @@ django-config-models==2.1.1
|
||||
# -r requirements/edx/base.in
|
||||
# edx-enterprise
|
||||
# edx-event-routing-backends
|
||||
# lti-consumer-xblock
|
||||
django-cookies-samesite==0.9.0
|
||||
# via -r requirements/edx/base.in
|
||||
django-cors-headers==2.5.3
|
||||
@@ -245,10 +308,10 @@ django-pipeline==2.0.6
|
||||
# via -r requirements/edx/base.in
|
||||
django-pyfs==3.0
|
||||
# via -r requirements/edx/base.in
|
||||
git+https://github.com/edx/django-ratelimit-backend.git@v2.0.1a5#egg=django-ratelimit-backend==2.0.1a5
|
||||
# via -r requirements/edx/github.in
|
||||
django-ratelimit==3.0.1
|
||||
# via -r requirements/edx/base.in
|
||||
git+https://github.com/edx/django-ratelimit-backend.git@v2.0.1a5#egg=django-ratelimit-backend==2.0.1a5
|
||||
# via -r requirements/edx/github.in
|
||||
django-require==1.0.11
|
||||
# via -r requirements/edx/base.in
|
||||
django-sekizai==2.0.0
|
||||
@@ -287,70 +350,6 @@ django-webpack-loader==0.7.0
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.in
|
||||
# edx-proctoring
|
||||
django==2.2.24
|
||||
# via
|
||||
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.in
|
||||
# django-appconf
|
||||
# django-classy-tags
|
||||
# django-config-models
|
||||
# django-cors-headers
|
||||
# django-crum
|
||||
# django-fernet-fields
|
||||
# django-filter
|
||||
# django-method-override
|
||||
# django-model-utils
|
||||
# django-mptt
|
||||
# django-multi-email-field
|
||||
# django-mysql
|
||||
# django-oauth-toolkit
|
||||
# django-pyfs
|
||||
# django-ratelimit-backend
|
||||
# django-sekizai
|
||||
# django-ses
|
||||
# django-splash
|
||||
# django-statici18n
|
||||
# django-storages
|
||||
# django-user-tasks
|
||||
# django-wiki
|
||||
# djangorestframework
|
||||
# drf-jwt
|
||||
# drf-yasg
|
||||
# edx-ace
|
||||
# edx-api-doc-tools
|
||||
# edx-bulk-grades
|
||||
# edx-celeryutils
|
||||
# edx-completion
|
||||
# edx-django-release-util
|
||||
# edx-django-sites-extensions
|
||||
# edx-django-utils
|
||||
# edx-drf-extensions
|
||||
# edx-enterprise
|
||||
# edx-event-routing-backends
|
||||
# edx-i18n-tools
|
||||
# edx-milestones
|
||||
# edx-opaque-keys
|
||||
# edx-organizations
|
||||
# edx-proctoring
|
||||
# edx-rbac
|
||||
# edx-search
|
||||
# edx-submissions
|
||||
# edx-toggles
|
||||
# edx-when
|
||||
# edxval
|
||||
# enmerkar
|
||||
# enmerkar-underscore
|
||||
# event-tracking
|
||||
# help-tokens
|
||||
# jsonfield2
|
||||
# lti-consumer-xblock
|
||||
# ora2
|
||||
# rest-condition
|
||||
# super-csv
|
||||
# xss-utils
|
||||
djangorestframework-xml==2.0.0
|
||||
# via edx-enterprise
|
||||
djangorestframework==3.12.4
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
@@ -368,6 +367,8 @@ djangorestframework==3.12.4
|
||||
# ora2
|
||||
# rest-condition
|
||||
# super-csv
|
||||
djangorestframework-xml==2.0.0
|
||||
# via edx-enterprise
|
||||
docopt==0.6.2
|
||||
# via xmodule
|
||||
docutils==0.16
|
||||
@@ -453,13 +454,13 @@ edx-opaque-keys[django]==2.2.1
|
||||
# xmodule
|
||||
edx-organizations==6.9.0
|
||||
# via -r requirements/edx/base.in
|
||||
edx-proctoring-proctortrack==1.0.5
|
||||
# via -r requirements/edx/base.in
|
||||
edx-proctoring==3.13.2
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.in
|
||||
# edx-proctoring-proctortrack
|
||||
edx-proctoring-proctortrack==1.0.5
|
||||
# via -r requirements/edx/base.in
|
||||
edx-rbac==1.4.2
|
||||
# via edx-enterprise
|
||||
edx-rest-api-client==5.3.0
|
||||
@@ -492,28 +493,28 @@ edx-when==2.0.0
|
||||
# edx-proctoring
|
||||
edxval==2.0.3
|
||||
# via -r requirements/edx/base.in
|
||||
elasticsearch==7.13.1
|
||||
elasticsearch==7.13.2
|
||||
# via edx-search
|
||||
enmerkar-underscore==2.0.0
|
||||
# via -r requirements/edx/base.in
|
||||
enmerkar==0.7.1
|
||||
# via enmerkar-underscore
|
||||
enmerkar-underscore==2.0.0
|
||||
# via -r requirements/edx/base.in
|
||||
event-tracking==1.0.4
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# edx-event-routing-backends
|
||||
# edx-proctoring
|
||||
# edx-search
|
||||
fs-s3fs==0.1.8
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# django-pyfs
|
||||
fs==2.0.18
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# django-pyfs
|
||||
# fs-s3fs
|
||||
# xblock
|
||||
fs-s3fs==0.1.8
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# django-pyfs
|
||||
future==0.18.2
|
||||
# via
|
||||
# django-ses
|
||||
@@ -591,10 +592,8 @@ libsass==0.10.0
|
||||
# ora2
|
||||
loremipsum==1.0.5
|
||||
# via ora2
|
||||
lti-consumer-xblock==2.10.1
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.in
|
||||
lti-consumer-xblock==2.11.0
|
||||
# via -r requirements/edx/base.in
|
||||
lxml==4.5.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
@@ -650,7 +649,7 @@ mpmath==1.2.1
|
||||
# via sympy
|
||||
mysqlclient==2.0.3
|
||||
# via -r requirements/edx/base.in
|
||||
newrelic==6.4.2.159
|
||||
newrelic==6.4.3.160
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# edx-django-utils
|
||||
@@ -681,6 +680,11 @@ packaging==20.9
|
||||
# via
|
||||
# bleach
|
||||
# drf-yasg
|
||||
path==13.1.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/paver.txt
|
||||
# path.py
|
||||
path.py==12.5.0
|
||||
# via
|
||||
# edx-enterprise
|
||||
@@ -688,11 +692,6 @@ path.py==12.5.0
|
||||
# ora2
|
||||
# staff-graded-xblock
|
||||
# xmodule
|
||||
path==13.1.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/paver.txt
|
||||
# path.py
|
||||
paver==1.3.4
|
||||
# via -r requirements/edx/paver.txt
|
||||
pbr==5.6.0
|
||||
@@ -831,10 +830,6 @@ redis==3.5.3
|
||||
# via -r requirements/edx/base.in
|
||||
regex==2021.4.4
|
||||
# via nltk
|
||||
requests-oauthlib==1.3.0
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# social-auth-core
|
||||
requests==2.25.1
|
||||
# via
|
||||
# -r requirements/edx/paver.txt
|
||||
@@ -856,14 +851,18 @@ requests==2.25.1
|
||||
# slumber
|
||||
# social-auth-core
|
||||
# tableauserverclient
|
||||
requests-oauthlib==1.3.0
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# social-auth-core
|
||||
rest-condition==1.0.3
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# edx-drf-extensions
|
||||
ruamel.yaml.clib==0.2.2
|
||||
# via ruamel.yaml
|
||||
ruamel.yaml==0.17.9
|
||||
# via drf-yasg
|
||||
ruamel.yaml.clib==0.2.2
|
||||
# via ruamel.yaml
|
||||
rules==3.0
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
@@ -1018,18 +1017,6 @@ wrapt==1.11.2
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/paver.txt
|
||||
git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@v2.3.5#egg=xblock-drag-and-drop-v2==2.3.5
|
||||
# via -r requirements/edx/github.in
|
||||
git+https://github.com/open-craft/xblock-poll@922cd36fb1c3cfe00b4ce03b19a13185d136447d#egg=xblock-poll==1.10.2
|
||||
# via -r requirements/edx/github.in
|
||||
xblock-utils==2.1.3
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# edx-sga
|
||||
# lti-consumer-xblock
|
||||
# staff-graded-xblock
|
||||
# xblock-drag-and-drop-v2
|
||||
# xblock-google-drive
|
||||
xblock==1.4.2
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
@@ -1049,6 +1036,18 @@ xblock==1.4.2
|
||||
# xblock-google-drive
|
||||
# xblock-poll
|
||||
# xblock-utils
|
||||
git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@v2.3.5#egg=xblock-drag-and-drop-v2==2.3.5
|
||||
# via -r requirements/edx/github.in
|
||||
git+https://github.com/open-craft/xblock-poll@922cd36fb1c3cfe00b4ce03b19a13185d136447d#egg=xblock-poll==1.10.2
|
||||
# via -r requirements/edx/github.in
|
||||
xblock-utils==2.1.3
|
||||
# via
|
||||
# -r requirements/edx/base.in
|
||||
# edx-sga
|
||||
# lti-consumer-xblock
|
||||
# staff-graded-xblock
|
||||
# xblock-drag-and-drop-v2
|
||||
# xblock-google-drive
|
||||
xmlsec==1.3.11
|
||||
# via python3-saml
|
||||
xss-utils==0.2.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
@@ -16,12 +16,12 @@ inflect==3.0.2
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# jinja2-pluralize
|
||||
jinja2-pluralize==0.3.0
|
||||
# via diff-cover
|
||||
jinja2==3.0.1
|
||||
# via
|
||||
# diff-cover
|
||||
# jinja2-pluralize
|
||||
jinja2-pluralize==0.3.0
|
||||
# via diff-cover
|
||||
markupsafe==2.0.1
|
||||
# via jinja2
|
||||
more-itertools==8.8.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
@@ -94,16 +94,16 @@ bleach==3.3.0
|
||||
# xblock-poll
|
||||
bok-choy==1.1.1
|
||||
# via -r requirements/edx/testing.txt
|
||||
boto==2.39.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edxval
|
||||
boto3==1.4.8
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# django-ses
|
||||
# fs-s3fs
|
||||
# ora2
|
||||
boto==2.39.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edxval
|
||||
botocore==1.8.17
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -136,10 +136,6 @@ chardet==4.0.0
|
||||
# requests
|
||||
chem==1.2.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
click-log==0.3.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-lint
|
||||
click==7.1.2
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
@@ -152,6 +148,10 @@ click==7.1.2
|
||||
# nltk
|
||||
# pip-tools
|
||||
# user-util
|
||||
click-log==0.3.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-lint
|
||||
code-annotations==1.1.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -212,6 +212,70 @@ distlib==0.3.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# virtualenv
|
||||
django==2.2.24
|
||||
# via
|
||||
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.txt
|
||||
# django-appconf
|
||||
# django-classy-tags
|
||||
# django-config-models
|
||||
# django-cors-headers
|
||||
# django-crum
|
||||
# django-debug-toolbar
|
||||
# django-fernet-fields
|
||||
# django-filter
|
||||
# django-method-override
|
||||
# django-model-utils
|
||||
# django-mptt
|
||||
# django-multi-email-field
|
||||
# django-mysql
|
||||
# django-oauth-toolkit
|
||||
# django-pyfs
|
||||
# django-ratelimit-backend
|
||||
# django-sekizai
|
||||
# django-ses
|
||||
# django-splash
|
||||
# django-statici18n
|
||||
# django-storages
|
||||
# django-user-tasks
|
||||
# django-wiki
|
||||
# djangorestframework
|
||||
# drf-jwt
|
||||
# drf-yasg
|
||||
# edx-ace
|
||||
# edx-api-doc-tools
|
||||
# edx-bulk-grades
|
||||
# edx-celeryutils
|
||||
# edx-completion
|
||||
# edx-django-release-util
|
||||
# edx-django-sites-extensions
|
||||
# edx-django-utils
|
||||
# edx-drf-extensions
|
||||
# edx-enterprise
|
||||
# edx-event-routing-backends
|
||||
# edx-i18n-tools
|
||||
# edx-lint
|
||||
# edx-milestones
|
||||
# edx-opaque-keys
|
||||
# edx-organizations
|
||||
# edx-proctoring
|
||||
# edx-rbac
|
||||
# edx-search
|
||||
# edx-submissions
|
||||
# edx-toggles
|
||||
# edx-when
|
||||
# edxval
|
||||
# enmerkar
|
||||
# enmerkar-underscore
|
||||
# event-tracking
|
||||
# help-tokens
|
||||
# jsonfield2
|
||||
# lti-consumer-xblock
|
||||
# ora2
|
||||
# rest-condition
|
||||
# super-csv
|
||||
# xss-utils
|
||||
django-appconf==1.0.4
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -234,6 +298,7 @@ django-config-models==2.1.1
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-enterprise
|
||||
# edx-event-routing-backends
|
||||
# lti-consumer-xblock
|
||||
django-cookies-samesite==0.9.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
django-cors-headers==2.5.3
|
||||
@@ -317,10 +382,10 @@ django-pipeline==2.0.6
|
||||
# via -r requirements/edx/testing.txt
|
||||
django-pyfs==3.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
git+https://github.com/edx/django-ratelimit-backend.git@v2.0.1a5#egg=django-ratelimit-backend==2.0.1a5
|
||||
# via -r requirements/edx/testing.txt
|
||||
django-ratelimit==3.0.1
|
||||
# via -r requirements/edx/testing.txt
|
||||
git+https://github.com/edx/django-ratelimit-backend.git@v2.0.1a5#egg=django-ratelimit-backend==2.0.1a5
|
||||
# via -r requirements/edx/testing.txt
|
||||
django-require==1.0.11
|
||||
# via -r requirements/edx/testing.txt
|
||||
django-sekizai==2.0.0
|
||||
@@ -359,74 +424,6 @@ django-webpack-loader==0.7.0
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-proctoring
|
||||
django==2.2.24
|
||||
# via
|
||||
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.txt
|
||||
# django-appconf
|
||||
# django-classy-tags
|
||||
# django-config-models
|
||||
# django-cors-headers
|
||||
# django-crum
|
||||
# django-debug-toolbar
|
||||
# django-fernet-fields
|
||||
# django-filter
|
||||
# django-method-override
|
||||
# django-model-utils
|
||||
# django-mptt
|
||||
# django-multi-email-field
|
||||
# django-mysql
|
||||
# django-oauth-toolkit
|
||||
# django-pyfs
|
||||
# django-ratelimit-backend
|
||||
# django-sekizai
|
||||
# django-ses
|
||||
# django-splash
|
||||
# django-statici18n
|
||||
# django-storages
|
||||
# django-user-tasks
|
||||
# django-wiki
|
||||
# djangorestframework
|
||||
# drf-jwt
|
||||
# drf-yasg
|
||||
# edx-ace
|
||||
# edx-api-doc-tools
|
||||
# edx-bulk-grades
|
||||
# edx-celeryutils
|
||||
# edx-completion
|
||||
# edx-django-release-util
|
||||
# edx-django-sites-extensions
|
||||
# edx-django-utils
|
||||
# edx-drf-extensions
|
||||
# edx-enterprise
|
||||
# edx-event-routing-backends
|
||||
# edx-i18n-tools
|
||||
# edx-lint
|
||||
# edx-milestones
|
||||
# edx-opaque-keys
|
||||
# edx-organizations
|
||||
# edx-proctoring
|
||||
# edx-rbac
|
||||
# edx-search
|
||||
# edx-submissions
|
||||
# edx-toggles
|
||||
# edx-when
|
||||
# edxval
|
||||
# enmerkar
|
||||
# enmerkar-underscore
|
||||
# event-tracking
|
||||
# help-tokens
|
||||
# jsonfield2
|
||||
# lti-consumer-xblock
|
||||
# ora2
|
||||
# rest-condition
|
||||
# super-csv
|
||||
# xss-utils
|
||||
djangorestframework-xml==2.0.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-enterprise
|
||||
djangorestframework==3.12.4
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -444,6 +441,10 @@ djangorestframework==3.12.4
|
||||
# ora2
|
||||
# rest-condition
|
||||
# super-csv
|
||||
djangorestframework-xml==2.0.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-enterprise
|
||||
docopt==0.6.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -541,13 +542,13 @@ edx-opaque-keys[django]==2.2.1
|
||||
# xmodule
|
||||
edx-organizations==6.9.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
edx-proctoring-proctortrack==1.0.5
|
||||
# via -r requirements/edx/testing.txt
|
||||
edx-proctoring==3.13.2
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-proctoring-proctortrack
|
||||
edx-proctoring-proctortrack==1.0.5
|
||||
# via -r requirements/edx/testing.txt
|
||||
edx-rbac==1.4.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -586,16 +587,16 @@ edx-when==2.0.0
|
||||
# edx-proctoring
|
||||
edxval==2.0.3
|
||||
# via -r requirements/edx/testing.txt
|
||||
elasticsearch==7.13.1
|
||||
elasticsearch==7.13.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-search
|
||||
enmerkar-underscore==2.0.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
enmerkar==0.7.1
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# enmerkar-underscore
|
||||
enmerkar-underscore==2.0.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
event-tracking==1.0.4
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -621,16 +622,16 @@ freezegun==0.3.12
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.txt
|
||||
fs-s3fs==0.1.8
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# django-pyfs
|
||||
fs==2.0.18
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# django-pyfs
|
||||
# fs-s3fs
|
||||
# xblock
|
||||
fs-s3fs==0.1.8
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# django-pyfs
|
||||
future==0.18.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -706,10 +707,6 @@ itypes==1.2.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# coreapi
|
||||
jinja2-pluralize==0.3.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# diff-cover
|
||||
jinja2==3.0.1
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -718,6 +715,10 @@ jinja2==3.0.1
|
||||
# diff-cover
|
||||
# jinja2-pluralize
|
||||
# sphinx
|
||||
jinja2-pluralize==0.3.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# diff-cover
|
||||
jmespath==0.10.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -751,10 +752,6 @@ kombu==4.6.11
|
||||
# celery
|
||||
laboratory==1.0.2
|
||||
# via -r requirements/edx/testing.txt
|
||||
lazy-object-proxy==1.6.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# astroid
|
||||
lazy==1.4
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -762,6 +759,10 @@ lazy==1.4
|
||||
# bok-choy
|
||||
# lti-consumer-xblock
|
||||
# ora2
|
||||
lazy-object-proxy==1.6.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# astroid
|
||||
libsass==0.10.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -770,10 +771,8 @@ loremipsum==1.0.5
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# ora2
|
||||
lti-consumer-xblock==2.10.1
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.txt
|
||||
lti-consumer-xblock==2.11.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
lxml==4.5.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
@@ -847,13 +846,13 @@ mpmath==1.2.1
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# sympy
|
||||
mypy-extensions==0.4.3
|
||||
# via mypy
|
||||
mypy==0.910
|
||||
# via -r requirements/edx/development.in
|
||||
mypy-extensions==0.4.3
|
||||
# via mypy
|
||||
mysqlclient==2.0.3
|
||||
# via -r requirements/edx/testing.txt
|
||||
newrelic==6.4.2.159
|
||||
newrelic==6.4.3.160
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-django-utils
|
||||
@@ -889,6 +888,11 @@ packaging==20.9
|
||||
# pytest
|
||||
# sphinx
|
||||
# tox
|
||||
path==13.1.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.txt
|
||||
# path.py
|
||||
path.py==12.5.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -897,11 +901,6 @@ path.py==12.5.0
|
||||
# ora2
|
||||
# staff-graded-xblock
|
||||
# xmodule
|
||||
path==13.1.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.txt
|
||||
# path.py
|
||||
paver==1.3.4
|
||||
# via -r requirements/edx/testing.txt
|
||||
pbr==5.6.0
|
||||
@@ -979,6 +978,14 @@ pylatexenc==2.10
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# olxcleaner
|
||||
pylint==2.8.3
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-lint
|
||||
# pylint-celery
|
||||
# pylint-django
|
||||
# pylint-plugin-utils
|
||||
# pylint-pytest
|
||||
pylint-celery==0.3
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -994,14 +1001,6 @@ pylint-plugin-utils==0.6
|
||||
# pylint-django
|
||||
pylint-pytest==0.3.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
pylint==2.8.3
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-lint
|
||||
# pylint-celery
|
||||
# pylint-django
|
||||
# pylint-plugin-utils
|
||||
# pylint-pytest
|
||||
pymongo==3.10.1
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
@@ -1026,6 +1025,18 @@ pysrt==1.1.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edxval
|
||||
pytest==6.2.4
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# pylint-pytest
|
||||
# pytest-attrib
|
||||
# pytest-cov
|
||||
# pytest-django
|
||||
# pytest-forked
|
||||
# pytest-json-report
|
||||
# pytest-metadata
|
||||
# pytest-randomly
|
||||
# pytest-xdist
|
||||
pytest-attrib==0.1.3
|
||||
# via -r requirements/edx/testing.txt
|
||||
pytest-cov==2.12.1
|
||||
@@ -1046,18 +1057,6 @@ pytest-randomly==3.8.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
pytest-xdist[psutil]==2.3.0
|
||||
# via -r requirements/edx/testing.txt
|
||||
pytest==6.2.4
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# pylint-pytest
|
||||
# pytest-attrib
|
||||
# pytest-cov
|
||||
# pytest-django
|
||||
# pytest-forked
|
||||
# pytest-json-report
|
||||
# pytest-metadata
|
||||
# pytest-randomly
|
||||
# pytest-xdist
|
||||
python-dateutil==2.4.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
@@ -1140,10 +1139,6 @@ regex==2021.4.4
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# nltk
|
||||
requests-oauthlib==1.3.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# social-auth-core
|
||||
requests==2.25.1
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -1167,18 +1162,22 @@ requests==2.25.1
|
||||
# sphinx
|
||||
# tableauserverclient
|
||||
# transifex-client
|
||||
requests-oauthlib==1.3.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# social-auth-core
|
||||
rest-condition==1.0.3
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-drf-extensions
|
||||
ruamel.yaml.clib==0.2.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# ruamel.yaml
|
||||
ruamel.yaml==0.17.9
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# drf-yasg
|
||||
ruamel.yaml.clib==0.2.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# ruamel.yaml
|
||||
rules==3.0
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -1358,12 +1357,12 @@ toml==0.10.2
|
||||
# pytest-cov
|
||||
# tox
|
||||
# vulture
|
||||
tox-battery==0.6.1
|
||||
# via -r requirements/edx/testing.txt
|
||||
tox==3.23.1
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# tox-battery
|
||||
tox-battery==0.6.1
|
||||
# via -r requirements/edx/testing.txt
|
||||
tqdm==4.61.1
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -1441,18 +1440,6 @@ wrapt==1.11.2
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.txt
|
||||
# astroid
|
||||
git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@v2.3.5#egg=xblock-drag-and-drop-v2==2.3.5
|
||||
# via -r requirements/edx/testing.txt
|
||||
git+https://github.com/open-craft/xblock-poll@922cd36fb1c3cfe00b4ce03b19a13185d136447d#egg=xblock-poll==1.10.2
|
||||
# via -r requirements/edx/testing.txt
|
||||
xblock-utils==2.1.3
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-sga
|
||||
# lti-consumer-xblock
|
||||
# staff-graded-xblock
|
||||
# xblock-drag-and-drop-v2
|
||||
# xblock-google-drive
|
||||
xblock==1.4.2
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
@@ -1472,6 +1459,18 @@ xblock==1.4.2
|
||||
# xblock-google-drive
|
||||
# xblock-poll
|
||||
# xblock-utils
|
||||
git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@v2.3.5#egg=xblock-drag-and-drop-v2==2.3.5
|
||||
# via -r requirements/edx/testing.txt
|
||||
git+https://github.com/open-craft/xblock-poll@922cd36fb1c3cfe00b4ce03b19a13185d136447d#egg=xblock-poll==1.10.2
|
||||
# via -r requirements/edx/testing.txt
|
||||
xblock-utils==2.1.3
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
# edx-sga
|
||||
# lti-consumer-xblock
|
||||
# staff-graded-xblock
|
||||
# xblock-drag-and-drop-v2
|
||||
# xblock-google-drive
|
||||
xmlsec==1.3.11
|
||||
# via
|
||||
# -r requirements/edx/testing.txt
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
@@ -90,16 +90,16 @@ bleach==3.3.0
|
||||
# xblock-poll
|
||||
bok-choy==1.1.1
|
||||
# via -r requirements/edx/testing.in
|
||||
boto==2.39.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edxval
|
||||
boto3==1.4.8
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# django-ses
|
||||
# fs-s3fs
|
||||
# ora2
|
||||
boto==2.39.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edxval
|
||||
botocore==1.8.17
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -132,8 +132,6 @@ chardet==4.0.0
|
||||
# requests
|
||||
chem==1.2.0
|
||||
# via -r requirements/edx/base.txt
|
||||
click-log==0.3.2
|
||||
# via edx-lint
|
||||
click==7.1.2
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
@@ -143,6 +141,8 @@ click==7.1.2
|
||||
# edx-lint
|
||||
# nltk
|
||||
# user-util
|
||||
click-log==0.3.2
|
||||
# via edx-lint
|
||||
code-annotations==1.1.2
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -203,6 +203,68 @@ diff-cover==4.0.0
|
||||
# -r requirements/edx/coverage.txt
|
||||
distlib==0.3.2
|
||||
# via virtualenv
|
||||
# via
|
||||
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.txt
|
||||
# django-appconf
|
||||
# django-classy-tags
|
||||
# django-config-models
|
||||
# django-cors-headers
|
||||
# django-crum
|
||||
# django-fernet-fields
|
||||
# django-filter
|
||||
# django-method-override
|
||||
# django-model-utils
|
||||
# django-mptt
|
||||
# django-multi-email-field
|
||||
# django-mysql
|
||||
# django-oauth-toolkit
|
||||
# django-pyfs
|
||||
# django-ratelimit-backend
|
||||
# django-sekizai
|
||||
# django-ses
|
||||
# django-splash
|
||||
# django-statici18n
|
||||
# django-storages
|
||||
# django-user-tasks
|
||||
# django-wiki
|
||||
# djangorestframework
|
||||
# drf-jwt
|
||||
# drf-yasg
|
||||
# edx-ace
|
||||
# edx-api-doc-tools
|
||||
# edx-bulk-grades
|
||||
# edx-celeryutils
|
||||
# edx-completion
|
||||
# edx-django-release-util
|
||||
# edx-django-sites-extensions
|
||||
# edx-django-utils
|
||||
# edx-drf-extensions
|
||||
# edx-enterprise
|
||||
# edx-event-routing-backends
|
||||
# edx-i18n-tools
|
||||
# edx-lint
|
||||
# edx-milestones
|
||||
# edx-opaque-keys
|
||||
# edx-organizations
|
||||
# edx-proctoring
|
||||
# edx-rbac
|
||||
# edx-search
|
||||
# edx-submissions
|
||||
# edx-toggles
|
||||
# edx-when
|
||||
# edxval
|
||||
# enmerkar
|
||||
# enmerkar-underscore
|
||||
# event-tracking
|
||||
# help-tokens
|
||||
# jsonfield2
|
||||
# lti-consumer-xblock
|
||||
# ora2
|
||||
# rest-condition
|
||||
# super-csv
|
||||
# xss-utils
|
||||
django-appconf==1.0.4
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -225,6 +287,7 @@ django-config-models==2.1.1
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-enterprise
|
||||
# edx-event-routing-backends
|
||||
# lti-consumer-xblock
|
||||
django-cookies-samesite==0.9.0
|
||||
# via -r requirements/edx/base.txt
|
||||
django-cors-headers==2.5.3
|
||||
@@ -306,10 +369,10 @@ django-pipeline==2.0.6
|
||||
# via -r requirements/edx/base.txt
|
||||
django-pyfs==3.0
|
||||
# via -r requirements/edx/base.txt
|
||||
git+https://github.com/edx/django-ratelimit-backend.git@v2.0.1a5#egg=django-ratelimit-backend==2.0.1a5
|
||||
# via -r requirements/edx/base.txt
|
||||
django-ratelimit==3.0.1
|
||||
# via -r requirements/edx/base.txt
|
||||
git+https://github.com/edx/django-ratelimit-backend.git@v2.0.1a5#egg=django-ratelimit-backend==2.0.1a5
|
||||
# via -r requirements/edx/base.txt
|
||||
django-require==1.0.11
|
||||
# via -r requirements/edx/base.txt
|
||||
django-sekizai==2.0.0
|
||||
@@ -348,72 +411,6 @@ django-webpack-loader==0.7.0
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-proctoring
|
||||
# via
|
||||
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.txt
|
||||
# django-appconf
|
||||
# django-classy-tags
|
||||
# django-config-models
|
||||
# django-cors-headers
|
||||
# django-crum
|
||||
# django-fernet-fields
|
||||
# django-filter
|
||||
# django-method-override
|
||||
# django-model-utils
|
||||
# django-mptt
|
||||
# django-multi-email-field
|
||||
# django-mysql
|
||||
# django-oauth-toolkit
|
||||
# django-pyfs
|
||||
# django-ratelimit-backend
|
||||
# django-sekizai
|
||||
# django-ses
|
||||
# django-splash
|
||||
# django-statici18n
|
||||
# django-storages
|
||||
# django-user-tasks
|
||||
# django-wiki
|
||||
# djangorestframework
|
||||
# drf-jwt
|
||||
# drf-yasg
|
||||
# edx-ace
|
||||
# edx-api-doc-tools
|
||||
# edx-bulk-grades
|
||||
# edx-celeryutils
|
||||
# edx-completion
|
||||
# edx-django-release-util
|
||||
# edx-django-sites-extensions
|
||||
# edx-django-utils
|
||||
# edx-drf-extensions
|
||||
# edx-enterprise
|
||||
# edx-event-routing-backends
|
||||
# edx-i18n-tools
|
||||
# edx-lint
|
||||
# edx-milestones
|
||||
# edx-opaque-keys
|
||||
# edx-organizations
|
||||
# edx-proctoring
|
||||
# edx-rbac
|
||||
# edx-search
|
||||
# edx-submissions
|
||||
# edx-toggles
|
||||
# edx-when
|
||||
# edxval
|
||||
# enmerkar
|
||||
# enmerkar-underscore
|
||||
# event-tracking
|
||||
# help-tokens
|
||||
# jsonfield2
|
||||
# lti-consumer-xblock
|
||||
# ora2
|
||||
# rest-condition
|
||||
# super-csv
|
||||
# xss-utils
|
||||
djangorestframework-xml==2.0.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-enterprise
|
||||
djangorestframework==3.12.4
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -431,6 +428,10 @@ djangorestframework==3.12.4
|
||||
# ora2
|
||||
# rest-condition
|
||||
# super-csv
|
||||
djangorestframework-xml==2.0.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-enterprise
|
||||
docopt==0.6.2
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -527,13 +528,13 @@ edx-opaque-keys[django]==2.2.1
|
||||
# xmodule
|
||||
edx-organizations==6.9.0
|
||||
# via -r requirements/edx/base.txt
|
||||
edx-proctoring-proctortrack==1.0.5
|
||||
# via -r requirements/edx/base.txt
|
||||
edx-proctoring==3.13.2
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-proctoring-proctortrack
|
||||
edx-proctoring-proctortrack==1.0.5
|
||||
# via -r requirements/edx/base.txt
|
||||
edx-rbac==1.4.2
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -570,16 +571,16 @@ edx-when==2.0.0
|
||||
# edx-proctoring
|
||||
edxval==2.0.3
|
||||
# via -r requirements/edx/base.txt
|
||||
elasticsearch==7.13.1
|
||||
elasticsearch==7.13.2
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-search
|
||||
enmerkar-underscore==2.0.0
|
||||
# via -r requirements/edx/base.txt
|
||||
enmerkar==0.7.1
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# enmerkar-underscore
|
||||
enmerkar-underscore==2.0.0
|
||||
# via -r requirements/edx/base.txt
|
||||
event-tracking==1.0.4
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -600,16 +601,16 @@ freezegun==0.3.12
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/testing.in
|
||||
fs-s3fs==0.1.8
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# django-pyfs
|
||||
fs==2.0.18
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# django-pyfs
|
||||
# fs-s3fs
|
||||
# xblock
|
||||
fs-s3fs==0.1.8
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# django-pyfs
|
||||
future==0.18.2
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -677,10 +678,6 @@ itypes==1.2.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# coreapi
|
||||
jinja2-pluralize==0.3.0
|
||||
# via
|
||||
# -r requirements/edx/coverage.txt
|
||||
# diff-cover
|
||||
jinja2==3.0.1
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -689,6 +686,10 @@ jinja2==3.0.1
|
||||
# coreschema
|
||||
# diff-cover
|
||||
# jinja2-pluralize
|
||||
jinja2-pluralize==0.3.0
|
||||
# via
|
||||
# -r requirements/edx/coverage.txt
|
||||
# diff-cover
|
||||
jmespath==0.10.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -720,8 +721,6 @@ kombu==4.6.11
|
||||
# celery
|
||||
laboratory==1.0.2
|
||||
# via -r requirements/edx/base.txt
|
||||
lazy-object-proxy==1.6.0
|
||||
# via astroid
|
||||
lazy==1.4
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -729,6 +728,8 @@ lazy==1.4
|
||||
# bok-choy
|
||||
# lti-consumer-xblock
|
||||
# ora2
|
||||
lazy-object-proxy==1.6.0
|
||||
# via astroid
|
||||
libsass==0.10.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -737,10 +738,8 @@ loremipsum==1.0.5
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# ora2
|
||||
lti-consumer-xblock==2.10.1
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.txt
|
||||
lti-consumer-xblock==2.11.0
|
||||
# via -r requirements/edx/base.txt
|
||||
lxml==4.5.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
@@ -811,7 +810,7 @@ mpmath==1.2.1
|
||||
# sympy
|
||||
mysqlclient==2.0.3
|
||||
# via -r requirements/edx/base.txt
|
||||
newrelic==6.4.2.159
|
||||
newrelic==6.4.3.160
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-django-utils
|
||||
@@ -846,6 +845,11 @@ packaging==20.9
|
||||
# drf-yasg
|
||||
# pytest
|
||||
# tox
|
||||
path==13.1.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.txt
|
||||
# path.py
|
||||
path.py==12.5.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -854,11 +858,6 @@ path.py==12.5.0
|
||||
# ora2
|
||||
# staff-graded-xblock
|
||||
# xmodule
|
||||
path==13.1.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.txt
|
||||
# path.py
|
||||
paver==1.3.4
|
||||
# via -r requirements/edx/base.txt
|
||||
pbr==5.6.0
|
||||
@@ -930,6 +929,13 @@ pylatexenc==2.10
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# olxcleaner
|
||||
pylint==2.8.3
|
||||
# via
|
||||
# edx-lint
|
||||
# pylint-celery
|
||||
# pylint-django
|
||||
# pylint-plugin-utils
|
||||
# pylint-pytest
|
||||
pylint-celery==0.3
|
||||
# via edx-lint
|
||||
pylint-django==2.4.4
|
||||
@@ -940,13 +946,6 @@ pylint-plugin-utils==0.6
|
||||
# pylint-django
|
||||
pylint-pytest==0.3.0
|
||||
# via -r requirements/edx/testing.in
|
||||
pylint==2.8.3
|
||||
# via
|
||||
# edx-lint
|
||||
# pylint-celery
|
||||
# pylint-django
|
||||
# pylint-plugin-utils
|
||||
# pylint-pytest
|
||||
pymongo==3.10.1
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
@@ -969,6 +968,18 @@ pysrt==1.1.2
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edxval
|
||||
pytest==6.2.4
|
||||
# via
|
||||
# -r requirements/edx/testing.in
|
||||
# pylint-pytest
|
||||
# pytest-attrib
|
||||
# pytest-cov
|
||||
# pytest-django
|
||||
# pytest-forked
|
||||
# pytest-json-report
|
||||
# pytest-metadata
|
||||
# pytest-randomly
|
||||
# pytest-xdist
|
||||
pytest-attrib==0.1.3
|
||||
# via -r requirements/edx/testing.in
|
||||
pytest-cov==2.12.1
|
||||
@@ -987,18 +998,6 @@ pytest-randomly==3.8.0
|
||||
# via -r requirements/edx/testing.in
|
||||
pytest-xdist[psutil]==2.3.0
|
||||
# via -r requirements/edx/testing.in
|
||||
pytest==6.2.4
|
||||
# via
|
||||
# -r requirements/edx/testing.in
|
||||
# pylint-pytest
|
||||
# pytest-attrib
|
||||
# pytest-cov
|
||||
# pytest-django
|
||||
# pytest-forked
|
||||
# pytest-json-report
|
||||
# pytest-metadata
|
||||
# pytest-randomly
|
||||
# pytest-xdist
|
||||
python-dateutil==2.4.0
|
||||
# via
|
||||
# -c requirements/edx/../constraints.txt
|
||||
@@ -1078,10 +1077,6 @@ regex==2021.4.4
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# nltk
|
||||
requests-oauthlib==1.3.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# social-auth-core
|
||||
requests==2.25.1
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -1104,18 +1099,22 @@ requests==2.25.1
|
||||
# social-auth-core
|
||||
# tableauserverclient
|
||||
# transifex-client
|
||||
requests-oauthlib==1.3.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# social-auth-core
|
||||
rest-condition==1.0.3
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-drf-extensions
|
||||
ruamel.yaml.clib==0.2.2
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# ruamel.yaml
|
||||
ruamel.yaml==0.17.9
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# drf-yasg
|
||||
ruamel.yaml.clib==0.2.2
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# ruamel.yaml
|
||||
rules==3.0
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -1263,12 +1262,12 @@ toml==0.10.2
|
||||
# pytest
|
||||
# pytest-cov
|
||||
# tox
|
||||
tox-battery==0.6.1
|
||||
# via -r requirements/edx/testing.in
|
||||
tox==3.23.1
|
||||
# via
|
||||
# -r requirements/edx/testing.in
|
||||
# tox-battery
|
||||
tox-battery==0.6.1
|
||||
# via -r requirements/edx/testing.in
|
||||
tqdm==4.61.1
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -1336,18 +1335,6 @@ wrapt==1.11.2
|
||||
# -c requirements/edx/../constraints.txt
|
||||
# -r requirements/edx/base.txt
|
||||
# astroid
|
||||
git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@v2.3.5#egg=xblock-drag-and-drop-v2==2.3.5
|
||||
# via -r requirements/edx/base.txt
|
||||
git+https://github.com/open-craft/xblock-poll@922cd36fb1c3cfe00b4ce03b19a13185d136447d#egg=xblock-poll==1.10.2
|
||||
# via -r requirements/edx/base.txt
|
||||
xblock-utils==2.1.3
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-sga
|
||||
# lti-consumer-xblock
|
||||
# staff-graded-xblock
|
||||
# xblock-drag-and-drop-v2
|
||||
# xblock-google-drive
|
||||
xblock==1.4.2
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
@@ -1367,6 +1354,18 @@ xblock==1.4.2
|
||||
# xblock-google-drive
|
||||
# xblock-poll
|
||||
# xblock-utils
|
||||
git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@v2.3.5#egg=xblock-drag-and-drop-v2==2.3.5
|
||||
# via -r requirements/edx/base.txt
|
||||
git+https://github.com/open-craft/xblock-poll@922cd36fb1c3cfe00b4ce03b19a13185d136447d#egg=xblock-poll==1.10.2
|
||||
# via -r requirements/edx/base.txt
|
||||
xblock-utils==2.1.3
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
# edx-sga
|
||||
# lti-consumer-xblock
|
||||
# staff-graded-xblock
|
||||
# xblock-drag-and-drop-v2
|
||||
# xblock-google-drive
|
||||
xmlsec==1.3.11
|
||||
# via
|
||||
# -r requirements/edx/base.txt
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# This file is autogenerated by pip-compile
|
||||
# This file is autogenerated by pip-compile with python 3.8
|
||||
# To update, run:
|
||||
#
|
||||
# make upgrade
|
||||
|
||||
Reference in New Issue
Block a user