forked from HDE/python-lambda-local
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path__init__.py
More file actions
53 lines (43 loc) · 1.67 KB
/
__init__.py
File metadata and controls
53 lines (43 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
'''
python-lambda-local: Main module
Copyright 2015 HDE, Inc.
Licensed under MIT.
'''
from __future__ import print_function
import argparse
from main import run
import sys
from multiprocessing import Process
def main():
args = parse_args()
try:
p = Process(target=run, args=(args,))
p.start()
p.join()
except:
e = sys.exc_info()
print(e[1])
def parse_args():
parser = argparse.ArgumentParser(description="Run AWS Lambda function" +
" written in Python on local machine.")
parser.add_argument("file", metavar="FILE", type=str,
help="Lambda function file name")
parser.add_argument("event", metavar="EVENT", type=str,
help="Event data file name.")
parser.add_argument("-l", "--library", metavar="LIBRARY_PATH",
type=str, help="Path of 3rd party libraries.")
parser.add_argument("-f", "--function", metavar="HANDLER_FUNCTION",
type=str, default="handler",
help="Lambda function handler name. \
Default: \"handler\".")
parser.add_argument("-t", "--timeout", metavar="TIMEOUT", type=int,
default=3,
help="Seconds until lambda function timeout. \
Default: 3")
parser.add_argument("-a", "--arn-string", metavar="ARN_STRING", type=str, default="",
help="arn string for function")
parser.add_argument("-n", "--version-name", metavar="VERSION_NAME", type=str, default="",
help="function version name")
return parser.parse_args()
if __name__ == "__main__":
main()