Skip to content

Commit 0fa224b

Browse files
committed
Fix context implementation.
1 parent 2de2a72 commit 0fa224b

File tree

1 file changed

+30
-16
lines changed

1 file changed

+30
-16
lines changed

lambda_local/context.py

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,46 @@
22
Copyright 2015-2018 HDE, Inc.
33
Licensed under MIT.
44
'''
5+
from __future__ import print_function
56

67
from datetime import datetime
78
from datetime import timedelta
9+
import uuid
810

911

1012
class Context(object):
11-
def __init__(self, timeout, arn_string, version_name):
12-
self.function_name = "undefined"
13-
self.function_version = version_name
14-
self.invoked_function_arn = arn_string
15-
self.memory_limit_in_mb = 0
16-
self.aws_request_id = "undefined"
17-
self.log_group_name = "undefined"
18-
self.log_stream_name = "undefined"
19-
self.identity = None
20-
self.client_context = None
21-
self.timeout = timeout
22-
self.duration = timedelta(seconds=timeout)
13+
def __init__(self, timeout_in_seconds,
14+
aws_request_id=uuid.uuid4(),
15+
function_name="undefined",
16+
function_version="$LATEST",
17+
log_group_name="undefined",
18+
log_stream_name="undefined",
19+
invoked_function_arn="undefined",
20+
memory_limit_in_mb='0',
21+
client_context=None,
22+
identity=None):
23+
self.function_name = function_name
24+
self.function_version = function_version
25+
self.invoked_function_arn = invoked_function_arn
26+
self.memory_limit_in_mb = memory_limit_in_mb
27+
self.aws_request_id = aws_request_id
28+
self.log_group_name = log_group_name
29+
self.log_stream_name = log_stream_name
30+
self.identity = identity
31+
self.client_context = client_context
32+
33+
self._duration = timedelta(seconds=timeout_in_seconds)
2334

2435
def get_remaining_time_in_millis(self):
25-
if self.timelimit is None:
36+
if self._timelimit is None:
2637
raise Exception("Context not activated.")
27-
return millis_interval(datetime.now(), self.timelimit)
38+
return millis_interval(datetime.now(), self._timelimit)
39+
40+
def log(self, msg):
41+
print(msg)
2842

29-
def activate(self):
30-
self.timelimit = datetime.now() + self.duration
43+
def _activate(self):
44+
self._timelimit = datetime.now() + self._duration
3145
return self
3246

3347

0 commit comments

Comments
 (0)