Skip to content
Snippets Groups Projects
Commit 22f391d9 authored by gsf20's avatar gsf20
Browse files

ADD script to homologate all learning objects

parent b2bf5d36
No related branches found
No related tags found
No related merge requests found
...@@ -8,28 +8,13 @@ api = "https://api.portalmec.c3sl.ufpr.br" ...@@ -8,28 +8,13 @@ api = "https://api.portalmec.c3sl.ufpr.br"
user_id = None user_id = None
total_submissions = 0 total_submissions = 0
def homologate_learning_object(s, lo_id): def homologate_learning_object(s, submission_id, lo):
print("Homologando recurso id:", lo_id) print(f"Homologando recurso id {lo['id']} e nome {lo['name']}...")
# Pega recurso para pegar o submission_id if submission_id == None:
r = s.get(f"{api}/v1/learning_objects/{lo_id}") print("Não possui id de submissão, pulando...")
r.raise_for_status()
if 'Authorization' in r.headers:
s.headers.update({
'Authorization': r.headers['Authorization']
})
learning_object = r.json()
print("Nome do recurso: ", learning_object.name)
if learning_object['state'] == "draft":
print("learning object is a draft")
return return
submission_id = learning_object['submission_id']
print("Submissão id: ", submission_id) print("Submissão id: ", submission_id)
payload = { payload = {
...@@ -47,6 +32,11 @@ def homologate_learning_object(s, lo_id): ...@@ -47,6 +32,11 @@ def homologate_learning_object(s, lo_id):
# Faz post para homologar o recurso # Faz post para homologar o recurso
r = s.post(f"{api}/v1/submissions/{submission_id}/answer", json=payload) r = s.post(f"{api}/v1/submissions/{submission_id}/answer", json=payload)
if r.status_code == 422:
print("failed:", lo['id'], file=sys.stderr)
print(f"Ja votado {lo['id']}")
return
else:
r.raise_for_status() r.raise_for_status()
if 'Authorization' in r.headers: if 'Authorization' in r.headers:
...@@ -54,7 +44,7 @@ def homologate_learning_object(s, lo_id): ...@@ -54,7 +44,7 @@ def homologate_learning_object(s, lo_id):
'Authorization': r.headers['Authorization'] 'Authorization': r.headers['Authorization']
}) })
print(f"learning object '{learning_object['name']}'") print("Homologado")
def get_submissions(s): def get_submissions(s):
global user_id global user_id
...@@ -63,7 +53,7 @@ def get_submissions(s): ...@@ -63,7 +53,7 @@ def get_submissions(s):
offset = 10 offset = 10
limit = 10 limit = 10
r = s.get(f"{api}/submissions/all_user_submissions/{user_id}?limit=10&offset=0") r = s.get(f"{api}/v1/submissions/all_users_submissions/{user_id}?limit=10&offset=0")
r.raise_for_status() r.raise_for_status()
...@@ -76,13 +66,13 @@ def get_submissions(s): ...@@ -76,13 +66,13 @@ def get_submissions(s):
print(f"Serão {total_submissions} submissões analisadas") print(f"Serão {total_submissions} submissões analisadas")
submissions = [s['id'] for s in r.json()] submissions = [(s['id'], s['learning_object']) for s in r.json()]
while len(submissions) > 0: while len(submissions) > 0:
for s in submission: for submission in submissions:
yield s yield submission
r = s.get(f"{api}/submissions/all_user_submissions/{user_id}?limit={limit}&offset={offset}") r = s.get(f"{api}/v1/submissions/all_users_submissions/{user_id}?limit={limit}&offset={offset}")
r.raise_for_status() r.raise_for_status()
...@@ -91,10 +81,12 @@ def get_submissions(s): ...@@ -91,10 +81,12 @@ def get_submissions(s):
'Authorization': r.headers['Authorization'] 'Authorization': r.headers['Authorization']
}) })
submissions = [s['id'] for s in r.json()] submissions = [(s['id'], s['learning_object']) for s in r.json()]
def authenticate(s, email, password): def authenticate(s, email, password):
global user_id
# Faz a autenticacao # Faz a autenticacao
r = requests.post(f"{api}/v1/auth/sign_in", r = requests.post(f"{api}/v1/auth/sign_in",
data={ 'email': email, 'password': password }) data={ 'email': email, 'password': password })
...@@ -117,7 +109,6 @@ s = requests.Session() ...@@ -117,7 +109,6 @@ s = requests.Session()
authenticate(s, email, password) authenticate(s, email, password)
for submission_id, lo in get_submissions(s):
for submission in get_submissions(s): homologate_learning_object(s, submission_id, lo)
homologate_learning_object(submission)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment