fix
This commit is contained in:
@@ -10,6 +10,12 @@ from layercake.dateutils import now, ttl
|
||||
from layercake.dynamodb import DynamoDBPersistenceLayer, KeyPair, SortKey, TransactKey
|
||||
from layercake.strutils import md5_hash
|
||||
|
||||
from boto3clients import dynamodb_client
|
||||
from config import COURSE_TABLE
|
||||
|
||||
# @TODO Find a better way
|
||||
course_layer = DynamoDBPersistenceLayer(COURSE_TABLE, dynamodb_client)
|
||||
|
||||
|
||||
def update_progress(
|
||||
id: str,
|
||||
@@ -106,11 +112,6 @@ def set_score(
|
||||
enrollment = dynamodb_persistence_layer.collection.get_items(
|
||||
TransactKey(id)
|
||||
+ SortKey('0')
|
||||
+ SortKey(
|
||||
sk='METADATA#COURSE',
|
||||
# Prevent conflicts with `course`
|
||||
rename_key='metadata__course',
|
||||
)
|
||||
+ SortKey(
|
||||
sk='METADATA#DEDUPLICATION_WINDOW',
|
||||
path_spec='offset_days',
|
||||
@@ -119,6 +120,14 @@ def set_score(
|
||||
)
|
||||
user_id = enrollment['user']['id']
|
||||
course_id = glom(enrollment, 'course.id')
|
||||
exp_interval = course_layer.collection.get_item(
|
||||
KeyPair(
|
||||
pk=course_id,
|
||||
sk=SortKey('0', path_spec='cert.exp_interval'),
|
||||
),
|
||||
raise_on_error=False,
|
||||
default=0,
|
||||
)
|
||||
|
||||
try:
|
||||
if score >= 70:
|
||||
@@ -129,9 +138,7 @@ def set_score(
|
||||
progress=progress,
|
||||
user_id=user_id,
|
||||
course_id=course_id,
|
||||
cert_exp_interval=int(
|
||||
glom(enrollment, 'metadata__course.cert.exp_interval', default=0)
|
||||
),
|
||||
cert_exp_interval=int(exp_interval),
|
||||
dedup_window_offset_days=int(enrollment['dedup_window_offset_days']),
|
||||
dynamodb_persistence_layer=dynamodb_persistence_layer,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user