Skip to content
Snippets Groups Projects
Commit 58d9fefa authored by Lennard Strohmeyer's avatar Lennard Strohmeyer :penguin:
Browse files

#6: Provider-ID in zutreffenden Statements durch Provider-Namen ersetzen

parent 3f4d2586
Branches
Tags
No related merge requests found
......@@ -367,6 +367,20 @@ def get_system_statements(collection, providers=[]):
return collection.find(system_statement_query)
def replace_provider_id(statement, providers):
if statement.get("actor", {}).get("mbox", "").startswith("system:"):
provider_id = int((statement.get("actor", {}).get("mbox", "").split("system:"))[1])
provider = next((x for x in providers if x.id == provider_id), None)
if provider:
statement["actor"]["mbox"] = "system:" + provider.name
else:
# fallback - return unmodified statement
return statement
else:
return statement
class GetProviderData(APIView):
"""
Endpoint that allows an analytics engine to obtain provider statements from the lrs.
......@@ -477,7 +491,7 @@ class GetProviderData(APIView):
cursor = collection.find(query).limit(page_size)
data = {
"verbs": list(set(active_verbs)),
"statements": list(cursor),
"statements": list(map(replace_provider_id, list(cursor))),
"page_size": page_size,
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment