Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
@@ -88,7 +88,7 @@ safety_settings = [
|
|
88 |
},
|
89 |
]
|
90 |
|
91 |
-
model = genai.GenerativeModel('gemini-1.
|
92 |
|
93 |
# Caches to reduce no of queries to MongoDB...
|
94 |
user_id_ping = {'current': 0}
|
@@ -770,36 +770,33 @@ def roadmap():
|
|
770 |
|
771 |
roads_data = roadmap_list
|
772 |
|
773 |
-
print(roads_data)
|
774 |
-
|
775 |
-
time.sleep(60)
|
776 |
-
|
777 |
# Youtube Integration & links modification
|
778 |
-
API_KEY = os.getenv('YOUTUBE_API_KEY')
|
779 |
-
url = "https://youtube.googleapis.com/youtube/v3/search"
|
780 |
|
781 |
for index, ele in enumerate(roads_data):
|
782 |
for i in range(0,7):
|
783 |
-
params = {
|
784 |
-
|
785 |
-
|
786 |
-
|
787 |
-
|
788 |
-
}
|
789 |
|
790 |
-
response = requests.get(url, params=params)
|
791 |
|
792 |
-
if response.status_code == 200:
|
793 |
-
|
794 |
|
795 |
-
|
796 |
-
|
797 |
-
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
|
802 |
-
|
|
|
803 |
|
804 |
# Reference Links
|
805 |
temp2 = []
|
@@ -808,8 +805,8 @@ def roadmap():
|
|
808 |
|
809 |
ele[f"week{index + 1}"]['data'][f"day{i+1}"]['links'] = temp2
|
810 |
|
811 |
-
else:
|
812 |
-
|
813 |
|
814 |
# Save to MongoDB
|
815 |
roadmap_collection.insert_one({'data': roads_data, 'title': position, 'activeDays': [day_data], 'userId': user_id})
|
@@ -832,23 +829,24 @@ def roadmap():
|
|
832 |
# Get roadmap data
|
833 |
roadmap_data = roadmap_collection.find_one({"_id": ObjectId(data.get("_id")), "userId": user_id})
|
834 |
|
835 |
-
|
836 |
-
|
837 |
-
for
|
838 |
-
|
839 |
-
question.
|
840 |
-
|
841 |
-
|
842 |
-
|
843 |
return jsonify({'success': True, 'roadmapData': {'data': roadmap_data['data']}, 'activeDays': roadmap_data['activeDays'], 'practice': practice_temp, 'title': roadmap_data['title']})
|
844 |
-
|
845 |
-
|
846 |
|
847 |
|
848 |
@app.route('/roadmap/history', methods=['GET'])
|
849 |
-
@auth_user
|
850 |
def roadmapGetHistory():
|
851 |
userId = request.userId
|
|
|
852 |
try:
|
853 |
results = roadmap_collection.find({"userId": userId}, {"_id": 1, "title": 1, "activeDays": 1}).limit(5)
|
854 |
roadmaps = [{"_id": str(result["_id"]), "title": result["title"], "activeDays": result["activeDays"]} for result in results]
|
@@ -936,24 +934,17 @@ def roadmapmodder():
|
|
936 |
temp_data = roadmap_collection.find_one({"_id": ObjectId(obj_id)})
|
937 |
temp_data['data'][week_num-1][week_field]['data'][day_field]['youtube'][video_index]['viewed'] = True
|
938 |
|
939 |
-
print("Meow")
|
940 |
-
|
941 |
roadmap_collection.update_one(
|
942 |
{"_id": ObjectId(obj_id)},
|
943 |
{"$set": { "data": temp_data['data'] }}
|
944 |
)
|
945 |
|
946 |
-
print("Meow")
|
947 |
-
|
948 |
if temp_data['activeDays'][len(temp_data['activeDays'])-1]['day'] != day_data['day'] or temp_data['activeDays'][len(temp_data['activeDays'])-1]['month'] != day_data['month'] or temp_data['activeDays'][len(temp_data['active_days'])-1]['year'] != day_data['year']:
|
949 |
temp_data['activeDays'].append(day_data)
|
950 |
roadmap_collection.update_one(
|
951 |
{"_id": ObjectId(obj_id)},
|
952 |
{"$set": { "activeDays": temp_data['activeDays'] }}
|
953 |
)
|
954 |
-
|
955 |
-
|
956 |
-
print("Meow")
|
957 |
|
958 |
return jsonify({'success': True})
|
959 |
|
|
|
88 |
},
|
89 |
]
|
90 |
|
91 |
+
model = genai.GenerativeModel('gemini-1.5-flash', generation_config=generation_config, safety_settings=safety_settings)
|
92 |
|
93 |
# Caches to reduce no of queries to MongoDB...
|
94 |
user_id_ping = {'current': 0}
|
|
|
770 |
|
771 |
roads_data = roadmap_list
|
772 |
|
|
|
|
|
|
|
|
|
773 |
# Youtube Integration & links modification
|
774 |
+
# API_KEY = os.getenv('YOUTUBE_API_KEY')
|
775 |
+
# url = "https://youtube.googleapis.com/youtube/v3/search"
|
776 |
|
777 |
for index, ele in enumerate(roads_data):
|
778 |
for i in range(0,7):
|
779 |
+
# params = {
|
780 |
+
# "part": "snippet",
|
781 |
+
# "q": ele[f"week{index + 1}"]['data'][f"day{i+1}"]['heading'] + ele[f"week{index + 1}"]['title'],
|
782 |
+
# "key": API_KEY,
|
783 |
+
# "maxResults" : 3
|
784 |
+
# }
|
785 |
|
786 |
+
# response = requests.get(url, params=params)
|
787 |
|
788 |
+
# if response.status_code == 200:
|
789 |
+
# video_data = response.json()
|
790 |
|
791 |
+
# temp1 = []
|
792 |
+
# for vid in video_data['items']:
|
793 |
+
# if vid['id']['kind']=='youtube#playlist':
|
794 |
+
# temp1.append({'viewed': False, 'type': 'playlist', 'playlistId': vid['id']['playlistId'], 'videoTitle': vid['snippet']['title'], 'channelName': vid['snippet']['channelTitle'], 'thumbnail': vid['snippet']['thumbnails']['high']['url']})
|
795 |
+
# elif vid['id']['kind']=='youtube#video':
|
796 |
+
# temp1.append({'viewed': False, 'type': 'video', 'videoId': vid['id']['videoId'], 'videoTitle': vid['snippet']['title'], 'channelName': vid['snippet']['channelTitle'], 'thumbnail': vid['snippet']['thumbnails']['high']['url']})
|
797 |
|
798 |
+
# ele[f"week{index + 1}"]['data'][f"day{i+1}"]['youtube'] = temp1
|
799 |
+
ele[f"week{index + 1}"]['data'][f"day{i+1}"]['youtube'] = []
|
800 |
|
801 |
# Reference Links
|
802 |
temp2 = []
|
|
|
805 |
|
806 |
ele[f"week{index + 1}"]['data'][f"day{i+1}"]['links'] = temp2
|
807 |
|
808 |
+
# else:
|
809 |
+
# print("Error:", response.json())
|
810 |
|
811 |
# Save to MongoDB
|
812 |
roadmap_collection.insert_one({'data': roads_data, 'title': position, 'activeDays': [day_data], 'userId': user_id})
|
|
|
829 |
# Get roadmap data
|
830 |
roadmap_data = roadmap_collection.find_one({"_id": ObjectId(data.get("_id")), "userId": user_id})
|
831 |
|
832 |
+
if "practice" in roadmap_data:
|
833 |
+
practice_temp = roadmap_data['practice'] # Modify to remove answer and explanation
|
834 |
+
for key in practice_temp.values():
|
835 |
+
for question in key:
|
836 |
+
if not question.get('solved', False):
|
837 |
+
question.pop('answer', None)
|
838 |
+
question.pop('explaination', None)
|
839 |
+
|
840 |
return jsonify({'success': True, 'roadmapData': {'data': roadmap_data['data']}, 'activeDays': roadmap_data['activeDays'], 'practice': practice_temp, 'title': roadmap_data['title']})
|
841 |
+
|
842 |
+
return jsonify({'success': True, 'roadmapData': {'data': roadmap_data['data']}, 'activeDays': roadmap_data['activeDays'], 'practice': [], 'title': roadmap_data['title']})
|
843 |
|
844 |
|
845 |
@app.route('/roadmap/history', methods=['GET'])
|
846 |
+
# @auth_user
|
847 |
def roadmapGetHistory():
|
848 |
userId = request.userId
|
849 |
+
print(userId)
|
850 |
try:
|
851 |
results = roadmap_collection.find({"userId": userId}, {"_id": 1, "title": 1, "activeDays": 1}).limit(5)
|
852 |
roadmaps = [{"_id": str(result["_id"]), "title": result["title"], "activeDays": result["activeDays"]} for result in results]
|
|
|
934 |
temp_data = roadmap_collection.find_one({"_id": ObjectId(obj_id)})
|
935 |
temp_data['data'][week_num-1][week_field]['data'][day_field]['youtube'][video_index]['viewed'] = True
|
936 |
|
|
|
|
|
937 |
roadmap_collection.update_one(
|
938 |
{"_id": ObjectId(obj_id)},
|
939 |
{"$set": { "data": temp_data['data'] }}
|
940 |
)
|
941 |
|
|
|
|
|
942 |
if temp_data['activeDays'][len(temp_data['activeDays'])-1]['day'] != day_data['day'] or temp_data['activeDays'][len(temp_data['activeDays'])-1]['month'] != day_data['month'] or temp_data['activeDays'][len(temp_data['active_days'])-1]['year'] != day_data['year']:
|
943 |
temp_data['activeDays'].append(day_data)
|
944 |
roadmap_collection.update_one(
|
945 |
{"_id": ObjectId(obj_id)},
|
946 |
{"$set": { "activeDays": temp_data['activeDays'] }}
|
947 |
)
|
|
|
|
|
|
|
948 |
|
949 |
return jsonify({'success': True})
|
950 |
|