in process-requests/app.py [0:0]
def update_accrued_amt(budget_dict):
logger.info("Updated Dict Object before updating the accrued spends: {}".format(budget_dict))
for key, value in budget_dict.items():
logger.info("Updating accrued Amt for key {}".format(key))
update_expression = "set accruedForecastedSpend=:a, accruedBlockedSpend=:b, accruedApprovedSpend=:c"
expression_attributes = {
':b': value['accruedBlockedSpend'],
':a': value['accruedForecastedSpend'],
':c': value['accruedApprovedSpend']
}
if not value['budgetForecastProcessed']:
logger.info("Set budgetForcast Processed to True for business entity {}".format(key))
update_expression = update_expression + ', budgetForecastProcessed=:e, budgetForecastProcessedAt=:d'
expression_attributes[':e'] = True
expression_attributes[':d'] = str(datetime.utcnow())
response = budgets_table.update_item(
Key={'partitionKey': budgets_partition_key, 'rangeKey': value['rangeKey']},
UpdateExpression = update_expression,
ExpressionAttributeValues=expression_attributes,
ReturnValues="UPDATED_NEW")
logger.info('Successfully Updated accrued Amt for Key: {} with response {}'.format(key, response))
return True