From cf8401c513bd70a5868b187608fc1b8bf53318a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Ctech-akash=E2=80=9D?=
<“20bcs020@iiitdmj.ac.in”>
Date: Sat, 4 Feb 2023 12:34:15 +0530
Subject: [PATCH 2/8] Added Online CMS module to dashboard and minor fixes at
teacher side in ocms
---
FusionIIIT/applications/online_cms/views.py | 245 ++++++++++----------
FusionIIIT/templates/dashboard/modules.html | 14 ++
requirements.txt | 146 ++++++------
3 files changed, 210 insertions(+), 195 deletions(-)
diff --git a/FusionIIIT/applications/online_cms/views.py b/FusionIIIT/applications/online_cms/views.py
index 6e91bad23..b27e37757 100644
--- a/FusionIIIT/applications/online_cms/views.py
+++ b/FusionIIIT/applications/online_cms/views.py
@@ -89,86 +89,86 @@ def course(request, course_code):
#course material uploaded by the instructor
# videos = CourseVideo.objects.filter(course_id=course)
videos = []
- if request.method == 'POST':
- search_url = "https://www.googleapis.com/youtube/v3/search"
- video_url = "https://www.googleapis.com/youtube/v3/videos"
- search_params = {
- 'part': 'snippet',
- 'q': request.POST['search'],
- 'key': settings.YOUTUBE_DATA_API_KEY,
- 'type': 'video',
- 'channelId': 'channel_id'
- }
- videos_ids = []
- r = requests.get(search_url, params=search_params)
- # print(r)
- results = r.json()['items']
- for result in results:
- videos_ids.append(result['id']['videoId'])
-
- video_params = {
- 'key': settings.YOUTUBE_DATA_API_KEY,
- 'part': 'snippet,contentDetails',
- 'id': ','.join(videos_ids),
- 'maxResults': 9
- }
-
- p = requests.get(video_url, params=video_params)
- results1 = p.json()['items']
-
- for result in results1:
- video_data = {
- 'id': result['id'],
- # 'url': f'https://www.youtube.com/watch?v={result["id"]}',
- 'title': result['snippet']['title'],
- # 'duration': int(parse_duration(result['contentDetails']['duration']).total_seconds() // 60),
- # 'thumbnails': result['snippet']['thumbnails']['high']['url']
- }
-
- videos.append(video_data)
- else:
- channel_url = "https://www.googleapis.com/youtube/v3/channels"
- playlist_url = "https://www.googleapis.com/youtube/v3/playlistItems"
- videos_url = "https://www.googleapis.com/youtube/v3/videos"
-
- videos_list = []
- channel_params = {
- 'part': 'contentDetails',
- 'id': 'channel_id',
- 'key': settings.YOUTUBE_DATA_API_KEY,
- }
- r = requests.get(channel_url, params=channel_params)
- results = r.json()['items'][0]['contentDetails']['relatedPlaylists']['uploads']
-
- playlist_params = {
- 'key': settings.YOUTUBE_DATA_API_KEY,
- 'part': 'snippet',
- 'playlistId': results,
- 'maxResults': 5,
- }
- p = requests.get(playlist_url, params=playlist_params)
- results1 = p.json()['items']
-
- for result in results1:
- # print(results)
- videos_list.append(result['snippet']['resourceId']['videoId'])
-
- videos_params = {
- 'key': settings.YOUTUBE_DATA_API_KEY,
- 'part': 'snippet',
- 'id': ','.join(videos_list)
- }
-
- v = requests.get(videos_url, params=videos_params)
- results2 = v.json()['items']
- videos = []
- for res in results2:
- video_data = {
- 'id': res['id'],
- 'title': res['snippet']['title'],
- }
-
- videos.append(video_data)
+ # if request.method == 'POST':
+ # search_url = "https://www.googleapis.com/youtube/v3/search"
+ # video_url = "https://www.googleapis.com/youtube/v3/videos"
+ # search_params = {
+ # 'part': 'snippet',
+ # 'q': request.POST['search'],
+ # 'key': settings.YOUTUBE_DATA_API_KEY,
+ # 'type': 'video',
+ # 'channelId': 'channel_id'
+ # }
+ # videos_ids = []
+ # r = requests.get(search_url, params=search_params)
+ # # print(r)
+ # results = r.json()['items']
+ # for result in results:
+ # videos_ids.append(result['id']['videoId'])
+
+ # video_params = {
+ # 'key': settings.YOUTUBE_DATA_API_KEY,
+ # 'part': 'snippet,contentDetails',
+ # 'id': ','.join(videos_ids),
+ # 'maxResults': 9
+ # }
+
+ # p = requests.get(video_url, params=video_params)
+ # results1 = p.json()['items']
+
+ # for result in results1:
+ # video_data = {
+ # 'id': result['id'],
+ # # 'url': f'https://www.youtube.com/watch?v={result["id"]}',
+ # 'title': result['snippet']['title'],
+ # # 'duration': int(parse_duration(result['contentDetails']['duration']).total_seconds() // 60),
+ # # 'thumbnails': result['snippet']['thumbnails']['high']['url']
+ # }
+
+ # videos.append(video_data)
+ # else:
+ # channel_url = "https://www.googleapis.com/youtube/v3/channels"
+ # playlist_url = "https://www.googleapis.com/youtube/v3/playlistItems"
+ # videos_url = "https://www.googleapis.com/youtube/v3/videos"
+
+ # videos_list = []
+ # channel_params = {
+ # 'part': 'contentDetails',
+ # 'id': 'channel_id',
+ # 'key': settings.YOUTUBE_DATA_API_KEY,
+ # }
+ # r = requests.get(channel_url, params=channel_params)
+ # results = r.json()['items'][0]['contentDetails']['relatedPlaylists']['uploads']
+
+ # playlist_params = {
+ # 'key': settings.YOUTUBE_DATA_API_KEY,
+ # 'part': 'snippet',
+ # 'playlistId': results,
+ # 'maxResults': 5,
+ # }
+ # p = requests.get(playlist_url, params=playlist_params)
+ # results1 = p.json()['items']
+
+ # for result in results1:
+ # # print(results)
+ # videos_list.append(result['snippet']['resourceId']['videoId'])
+
+ # videos_params = {
+ # 'key': settings.YOUTUBE_DATA_API_KEY,
+ # 'part': 'snippet',
+ # 'id': ','.join(videos_list)
+ # }
+
+ # v = requests.get(videos_url, params=videos_params)
+ # results2 = v.json()['items']
+ # videos = []
+ # for res in results2:
+ # video_data = {
+ # 'id': res['id'],
+ # 'title': res['snippet']['title'],
+ # }
+
+ # videos.append(video_data)
# print(videos)
slides = CourseDocuments.objects.select_related().filter(course_id=course)
quiz = Quiz.objects.select_related().filter(course_id=course)
@@ -255,48 +255,49 @@ def course(request, course_code):
lec = 1
# videos = CourseVideo.objects.filter(course_id=course)
- channel_url = "https://www.googleapis.com/youtube/v3/channels"
- playlist_url = "https://www.googleapis.com/youtube/v3/playlistItems"
- videos_url = "https://www.googleapis.com/youtube/v3/videos"
-
- videos_list = []
- channel_params = {
- 'part': 'contentDetails',
- # 'forUsername': 'TechGuyWeb',
- 'id': 'UCdGQeihs84hyCssI2KuAPmA',
- 'key': settings.YOUTUBE_DATA_API_KEY,
- }
- r = requests.get(channel_url, params=channel_params)
- results = r.json()['items'][0]['contentDetails']['relatedPlaylists']['uploads']
-
- playlist_params = {
- 'key': settings.YOUTUBE_DATA_API_KEY,
- 'part': 'snippet',
- 'playlistId': results,
- 'maxResults': 5,
- }
- p = requests.get(playlist_url, params=playlist_params)
- results1 = p.json()['items']
-
- for result in results1:
- videos_list.append(result['snippet']['resourceId']['videoId'])
-
- videos_params = {
- 'key': settings.YOUTUBE_DATA_API_KEY,
- 'part': 'snippet',
- 'id': ','.join(videos_list)
- }
-
- v = requests.get(videos_url, params=videos_params)
- results2 = v.json()['items']
- videos = []
- for res in results2:
- video_data = {
- 'id': res['id'],
- 'title': res['snippet']['title'],
- }
-
- videos.append(video_data)
+ # channel_url = "https://www.googleapis.com/youtube/v3/channels"
+ # playlist_url = "https://www.googleapis.com/youtube/v3/playlistItems"
+ # videos_url = "https://www.googleapis.com/youtube/v3/videos"
+
+ # videos_list = []
+ # channel_params = {
+ # 'part': 'contentDetails',
+ # # 'forUsername': 'TechGuyWeb',
+ # 'id': 'UCdGQeihs84hyCssI2KuAPmA',
+ # 'key': settings.YOUTUBE_DATA_API_KEY,
+ # }
+ # r = requests.get(channel_url, params=channel_params)
+ # results = r.json()['items'][0]['contentDetails']['relatedPlaylists']['uploads']
+
+ # playlist_params = {
+ # 'key': settings.YOUTUBE_DATA_API_KEY,
+ # 'part': 'snippet',
+ # 'playlistId': results,
+ # 'maxResults': 5,
+ # }
+ # p = requests.get(playlist_url, params=playlist_params)
+ # results1 = p.json()['items']
+
+ # for result in results1:
+ # videos_list.append(result['snippet']['resourceId']['videoId'])
+
+ # videos_params = {
+ # 'key': settings.YOUTUBE_DATA_API_KEY,
+ # 'part': 'snippet',
+ # 'id': ','.join(videos_list)
+ # }
+
+ # v = requests.get(videos_url, params=videos_params)
+ # results2 = v.json()['items']
+ # videos = []
+ # for res in results2:
+ # video_data = {
+ # 'id': res['id'],
+ # 'title': res['snippet']['title'],
+ # }
+
+ # videos.append(video_data)
+ videos=[]
slides = CourseDocuments.objects.select_related().filter(course_id=course)
quiz = Quiz.objects.select_related().filter(course_id=course)
marks = []
diff --git a/FusionIIIT/templates/dashboard/modules.html b/FusionIIIT/templates/dashboard/modules.html
index 06011717b..777adac05 100755
--- a/FusionIIIT/templates/dashboard/modules.html
+++ b/FusionIIIT/templates/dashboard/modules.html
@@ -219,7 +219,21 @@