Merge remote-tracking branch 'origin/master'

This commit is contained in:
cristiano.ferreira
2023-11-30 17:39:38 +00:00
2 changed files with 21 additions and 14 deletions

27
app.py
View File

@@ -168,9 +168,11 @@ def save_listening():
text_to_speech(part["text"], sound_file_path)
file_url = upload_file_firebase_get_url(FIREBASE_BUCKET, firebase_file_path, sound_file_path)
template["parts"][i]["audio"]["source"] = file_url
template["parts"][i]["exercises"].append(part["exercises"])
if save_to_db("listening", template):
return template
template["parts"][i]["exercises"] = part["exercises"]
(result, id) = save_to_db("listening", template)
if result:
return {**template, "id": id}
else:
raise Exception("Failed to save question: " + parts)
except Exception as e:
@@ -292,8 +294,10 @@ def save_writing_task():
template = getWritingTemplate()
for i, exercise in enumerate(exercises, start=0):
template["exercises"][i]["prompt"] = exercise
if save_to_db("writing", template):
return template
(result, id) = save_to_db("writing", template)
if result:
return {**template, "id": id}
else:
raise Exception("Failed to save writing: " + template)
except Exception as e:
@@ -518,9 +522,10 @@ def save_speaking():
print("Failed to create video for part 3 question: " + question)
template["exercises"][2]["prompts"] = sp3_questions
template["exercises"][2]["title"] = exercises[2]["topic"]
if save_to_db("speaking", template):
return template
(result, id) = save_to_db("speaking", template)
if result:
return {**template, "id": id}
else:
raise Exception("Failed to save speaking: " + template)
except Exception as e:
@@ -619,8 +624,10 @@ def save_reading_passage():
parts = data.get('parts')
template = getReadingTemplate()
template["parts"] = parts
if save_to_db("reading", template):
return template
(result, id) = save_to_db("reading", template)
if result:
return {**template, "id": id}
else:
raise Exception("Failed to save reading: " + template)
except Exception as e:

View File

@@ -51,12 +51,12 @@ def upload_file_firebase_get_url(bucket_name, destination_blob_name, source_file
def save_to_db(collection: str, item):
db = firestore.client()
collection_ref = db.collection(collection)
document_ref = collection_ref.add(item)
(update_time, document_ref) = collection_ref.add(item)
if document_ref:
print(f"Document added with ID: {document_ref}")
return True
print(f"Document added with ID: {document_ref.id}")
return (True, document_ref.id)
else:
return False
return (False, None)