Skip to content

Commit 9bfdc87

Browse files
authored
Merge pull request #53 from HumanDynamics/fix/get-meeting
Support both data log version 2.0 and 2.1
2 parents 5f3d815 + 8d08da2 commit 9bfdc87

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

openbadge-server/openbadge/models.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,15 +468,24 @@ def get_meta(self):
468468

469469
meta["members"] = []
470470

471+
log_version = meta["data"]["log_version"]
471472
# seek to beginning in case it was written out of order
472473
f.seek(0)
473474
# the following few lines should be members joining
474475
line = simplejson.loads(f.readline())
475476
while "received" not in line["type"] and "ended" not in line["type"]:
476477
# make sure we're getting a member change event
477478
# ANYTHING IS POSSIBLE
478-
if "member" in line["type"] and line["data"]["change"] == "join":
479+
if log_version == "2.0" and line["type"] == "member changed" and line["data"]["change"] == "join":
480+
# in log version 2.0 the type is "member changed"
481+
# and you need to check the `change` property
479482
meta["members"].append(line["data"]["member_key"])
483+
elif log_version == "2.1" and line["type"] == "member joined":
484+
# in log version 2.1 the type is just "member joined"
485+
# and it has no `change` property
486+
# also it uses `key` instead of `member_key`
487+
meta["members"].append(line["data"]["key"])
488+
480489
try:
481490
line = simplejson.loads(f.readline())
482491
if not line: break

0 commit comments

Comments
 (0)