Muhammad Faraz Maqsood
c5e56dfa2c
fix: permission denied error for media directory
...
"""
discovery-1 | PermissionError: [Errno 13] Permission denied: '/openedx/discovery/course_discovery/media/media'
discovery-1 | 2024-06-25 13:35:29,038 ERROR 7 [django.request] /openedx/venv/lib/python3.8/site-packages/django/utils/log.py:241 - Internal Server Error: /admin/course_metadata/program/9/change/
discovery-1 | Traceback (most recent call last):
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 55, in inner
discovery-1 | response = get_response(request)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 197, in _get_response
discovery-1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 688, in wrapper
discovery-1 | return self.admin_site.admin_view(view)(*args, **kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
discovery-1 | response = view_func(request, *args, **kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/views/decorators/cache.py", line 62, in _wrapper_view_func
discovery-1 | response = view_func(request, *args, **kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/sites.py", line 242, in inner
discovery-1 | return view(request, *args, **kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django_object_actions/utils.py", line 57, in change_view
discovery-1 | return super(BaseDjangoObjectActions, self).change_view(
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1889, in change_view
discovery-1 | return self.changeform_view(request, object_id, form_url, extra_context)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 46, in _wrapper
discovery-1 | return bound_method(*args, **kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 134, in _wrapper_view
discovery-1 | response = view_func(request, *args, **kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1747, in changeform_view
discovery-1 | return self._changeform_view(request, object_id, form_url, extra_context)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1798, in _changeform_view
discovery-1 | self.save_model(request, new_object, form, not add)
discovery-1 | File "/openedx/discovery/./course_discovery/apps/course_metadata/admin.py", line 462, in save_model
discovery-1 | super().save_model(request, obj, form, change)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/simple_history/admin.py", line 228, in save_model
discovery-1 | super().save_model(request, obj, form, change)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/contrib/admin/options.py", line 1227, in save_model
discovery-1 | obj.save()
discovery-1 | File "/openedx/discovery/./course_discovery/apps/course_metadata/models.py", line 3613, in save
discovery-1 | super().save(*args, **kwargs)
discovery-1 | File "/openedx/discovery/./course_discovery/apps/course_metadata/models.py", line 102, in save
discovery-1 | super().save(*args, **kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django_extensions/db/models.py", line 22, in save
discovery-1 | super().save(**kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/db/models/base.py", line 814, in save
discovery-1 | self.save_base(
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/model_utils/tracker.py", line 375, in inner
discovery-1 | return original(instance, *args, **kwargs)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/db/models/base.py", line 877, in save_base
discovery-1 | updated = self._save_table(
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/db/models/base.py", line 981, in _save_table
discovery-1 | values = [
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/db/models/base.py", line 985, in <listcomp>
discovery-1 | (getattr(self, f.attname) if raw else f.pre_save(self, False)),
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/db/models/fields/files.py", line 317, in pre_save
discovery-1 | file.save(file.name, file.file, save=False)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/stdimage/models.py", line 32, in save
discovery-1 | super().save(name, content, save)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/db/models/fields/files.py", line 93, in save
discovery-1 | self.name = self.storage.save(name, content, max_length=self.field.max_length)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/core/files/storage/base.py", line 38, in save
discovery-1 | name = self._save(name, content)
discovery-1 | File "/openedx/venv/lib/python3.8/site-packages/django/core/files/storage/filesystem.py", line 87, in _save
discovery-1 | os.makedirs(directory, exist_ok=True)
discovery-1 | File "/usr/lib/python3.8/os.py", line 213, in makedirs
discovery-1 | makedirs(head, exist_ok=exist_ok)
discovery-1 | File "/usr/lib/python3.8/os.py", line 213, in makedirs
discovery-1 | makedirs(head, exist_ok=exist_ok)
discovery-1 | File "/usr/lib/python3.8/os.py", line 223, in makedirs
discovery-1 | mkdir(name, mode)
discovery-1 | PermissionError: [Errno 13] Permission denied: '/openedx/discovery/course_discovery/media/media'
"""
2024-07-01 19:41:37 +05:00