Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

importdemocourse creates unusable course #1203

Closed
e0d opened this issue Mar 3, 2025 · 1 comment
Closed

importdemocourse creates unusable course #1203

e0d opened this issue Mar 3, 2025 · 1 comment

Comments

@e0d
Copy link

e0d commented Mar 3, 2025

Bug description

Using Tutor version tutor, version 19.0.2-main running the command tutor dev do importdemocourse results in a course that returns an error when you attempt to access it.

The course cannot be re-indexed successfully from either the command line, tutor dev run cms ./manage.py cms reindex_course --all --setup or Studio.

The output of that command is:

2025-03-03 15:09:11,341 ERROR 1 [edxval.api] [user None] [ip None] api.py:295 - [edx-val] Error while retrieving transcript for video=fdfa686f-8b70-4437-a490-0459cc9f1f2a -- language_code=en
Traceback (most recent call last):
  File "/openedx/venv/lib/python3.11/site-packages/edxval/api.py", line 293, in get_video_transcript_data
    return dict(file_name=video_transcript.filename, content=video_transcript.transcript.file.read())
                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/venv/lib/python3.11/site-packages/django/db/models/fields/files.py", line 48, in _get_file
    self._file = self.storage.open(self.name, "rb")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/venv/lib/python3.11/site-packages/django/core/files/storage/base.py", line 22, in open
    return self._open(name, mode)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/venv/lib/python3.11/site-packages/django/core/files/storage/filesystem.py", line 68, in _open
    return File(open(self.path(name), mode))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/openedx/media/video-transcripts/2cb59e0d968343a096a6de73776f125e.srt'
2025-03-03 15:09:11,341 ERROR 1 [edx.modulestore] [user None] [ip None] courseware_index.py:264 - Indexing error encountered, courseware index may be out of date course-v1:OpenedX+DemoX+DemoCourse - FileNotFoundError(2, 'No such file or directory')
Traceback (most recent call last):
  File "/openedx/edx-platform/cms/djangoapps/contentstore/courseware_index.py", line 258, in index
    prepare_item_index(item, groups_usage_info=groups_usage_info)
  File "/openedx/edx-platform/cms/djangoapps/contentstore/courseware_index.py", line 218, in prepare_item_index
    prepare_item_index(
  File "/openedx/edx-platform/cms/djangoapps/contentstore/courseware_index.py", line 218, in prepare_item_index
    prepare_item_index(
  File "/openedx/edx-platform/cms/djangoapps/contentstore/courseware_index.py", line 218, in prepare_item_index
    prepare_item_index(
  File "/openedx/edx-platform/cms/djangoapps/contentstore/courseware_index.py", line 181, in prepare_item_index
    item_index_dictionary = item.index_dictionary()
                            ^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/edx-platform/xmodule/video_block/video_block.py", line 1151, in index_dictionary
    _update_transcript_for_index(language)
  File "/openedx/edx-platform/xmodule/video_block/video_block.py", line 1139, in _update_transcript_for_index
    transcript = get_transcript(self, lang=language, output_format=Transcript.TXT)[0].replace("\n", " ")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/edx-platform/xmodule/video_block/transcripts_utils.py", line 1193, in get_transcript
    return get_transcript_from_val(edx_video_id, lang, output_format)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/edx-platform/xmodule/video_block/transcripts_utils.py", line 72, in wrapper
    return func(*args, **kwds)
           ^^^^^^^^^^^^^^^^^^^
  File "/openedx/edx-platform/xmodule/video_block/transcripts_utils.py", line 952, in get_transcript_from_val
    transcript = get_video_transcript_content(edx_video_id, lang)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/edx-platform/xmodule/video_block/transcripts_utils.py", line 638, in get_video_transcript_content
    transcript = edxval_api.get_video_transcript_data(edx_video_id, language_code)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/venv/lib/python3.11/site-packages/edxval/api.py", line 293, in get_video_transcript_data
    return dict(file_name=video_transcript.filename, content=video_transcript.transcript.file.read())
                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/venv/lib/python3.11/site-packages/django/db/models/fields/files.py", line 48, in _get_file
    self._file = self.storage.open(self.name, "rb")
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/venv/lib/python3.11/site-packages/django/core/files/storage/base.py", line 22, in open
    return self._open(name, mode)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/venv/lib/python3.11/site-packages/django/core/files/storage/filesystem.py", line 68, in _open
    return File(open(self.path(name), mode))
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/openedx/media/video-transcripts/2cb59e0d968343a096a6de73776f125e.srt'
2025-03-03 15:09:11,342 ERROR 1 [root] [user None] [ip None] reindex_course.py:177 - Error indexing course course-v1:OpenedX+DemoX+DemoCourse due to the error: Error(s) present during indexing.
Traceback (most recent call last):
  File "/openedx/edx-platform/cms/djangoapps/contentstore/management/commands/reindex_course.py", line 169, in handle
    CoursewareSearchIndexer.do_course_reindex(store, course_key)
  File "/openedx/edx-platform/cms/djangoapps/contentstore/courseware_index.py", line 374, in do_course_reindex
    return cls._do_reindex(modulestore, course_key)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/edx-platform/cms/djangoapps/contentstore/courseware_index.py", line 384, in _do_reindex
    indexed_count = super()._do_reindex(modulestore, structure_key)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/edx-platform/cms/djangoapps/contentstore/courseware_index.py", line 282, in _do_reindex
    indexed_count = cls.index(modulestore, structure_key, timeout=180)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/openedx/edx-platform/cms/djangoapps/contentstore/courseware_index.py", line 272, in index
    raise SearchIndexingError('Error(s) present during indexing', error_list)
cms.djangoapps.contentstore.courseware_index.SearchIndexingError: Error(s) present during indexing
2025-03-03 15:09:11,343 WARNING 1 [root] [user None] [ip None] reindex_course.py:180 - 0 of 1 courses reindexed succesfully. Total running time: 0.3 seconds.

Importing the Demo course directly from Studio yields a working copy of the course.

Environment
Linux, FedoraCore 41
tutor, version 19.0.2-main

@e0d
Copy link
Author

e0d commented Mar 4, 2025

This can be closed, as Adolfo pointed me to this, #1108

@e0d e0d closed this as completed Mar 4, 2025
@github-project-automation github-project-automation bot moved this from Pending Triage to Done in Tutor project management Mar 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant