|
2 | 2 | Copyright 2015-2018 HDE, Inc. |
3 | 3 | Licensed under MIT. |
4 | 4 | ''' |
| 5 | +from __future__ import print_function |
5 | 6 |
|
6 | 7 | from datetime import datetime |
7 | 8 | from datetime import timedelta |
| 9 | +import uuid |
8 | 10 |
|
9 | 11 |
|
10 | 12 | 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) |
23 | 34 |
|
24 | 35 | def get_remaining_time_in_millis(self): |
25 | | - if self.timelimit is None: |
| 36 | + if self._timelimit is None: |
26 | 37 | 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) |
28 | 42 |
|
29 | | - def activate(self): |
30 | | - self.timelimit = datetime.now() + self.duration |
| 43 | + def _activate(self): |
| 44 | + self._timelimit = datetime.now() + self._duration |
31 | 45 | return self |
32 | 46 |
|
33 | 47 |
|
|
0 commit comments