Skip to content

Commit 3d7d855

Browse files
author
Scot Kronenfeld
committed
Change --use-requirements to --requirements <PATH>.
** Breaks backwards compatability! **
1 parent 365f1e9 commit 3d7d855

File tree

2 files changed

+41
-42
lines changed

2 files changed

+41
-42
lines changed

aws_lambda/aws_lambda.py

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def cleanup_old_versions(
8383

8484

8585
def deploy(
86-
src, use_requirements=False, local_package=None,
86+
src, requirements=None, local_package=None,
8787
config_file='config.yaml', profile_name=None,
8888
):
8989
"""Deploys a new function to AWS Lambda.
@@ -105,7 +105,7 @@ def deploy(
105105
# directory.
106106
path_to_zip_file = build(
107107
src, config_file=config_file,
108-
use_requirements=use_requirements,
108+
requirements=requirements,
109109
local_package=local_package,
110110
)
111111

@@ -116,7 +116,7 @@ def deploy(
116116

117117

118118
def deploy_s3(
119-
src, use_requirements=False, local_package=None,
119+
src, requirements=None, local_package=None,
120120
config_file='config.yaml', profile_name=None,
121121
):
122122
"""Deploys a new function via AWS S3.
@@ -137,7 +137,7 @@ def deploy_s3(
137137
# Zip the contents of this folder into a single file and output to the dist
138138
# directory.
139139
path_to_zip_file = build(
140-
src, config_file=config_file, use_requirements=use_requirements,
140+
src, config_file=config_file, requirements=requirements,
141141
local_package=local_package,
142142
)
143143

@@ -150,7 +150,7 @@ def deploy_s3(
150150

151151

152152
def upload(
153-
src, use_requirements=False, local_package=None,
153+
src, requirements=None, local_package=None,
154154
config_file='config.yaml', profile_name=None,
155155
):
156156
"""Uploads a new function to AWS S3.
@@ -171,7 +171,7 @@ def upload(
171171
# Zip the contents of this folder into a single file and output to the dist
172172
# directory.
173173
path_to_zip_file = build(
174-
src, config_file=config_file, use_requirements=use_requirements,
174+
src, config_file=config_file, requirements=requirements,
175175
local_package=local_package,
176176
)
177177

@@ -258,7 +258,7 @@ def init(src, minimal=False):
258258

259259

260260
def build(
261-
src, use_requirements=False, local_package=None,
261+
src, requirements=None, local_package=None,
262262
config_file='config.yaml', profile_name=None,
263263
):
264264
"""Builds the file bundle.
@@ -288,7 +288,7 @@ def build(
288288
path_to_temp = mkdtemp(prefix='aws-lambda')
289289
pip_install_to_target(
290290
path_to_temp,
291-
use_requirements=use_requirements,
291+
requirements=requirements,
292292
local_package=local_package,
293293
)
294294

@@ -407,30 +407,28 @@ def _filter_blacklist(package):
407407
pip.main(['install', package, '-t', path, '--ignore-installed'])
408408

409409

410-
def pip_install_to_target(path, use_requirements=False, local_package=None):
410+
def pip_install_to_target(path, requirements=None, local_package=None):
411411
"""For a given active virtualenv, gather all installed pip packages then
412412
copy (re-install) them to the path provided.
413413
414414
:param str path:
415415
Path to copy installed pip packages to.
416-
:param bool use_requirements:
417-
If set, only the packages in the requirements.txt file are installed.
418-
The requirements.txt file needs to be in the same directory as the
419-
project which shall be deployed.
420-
Defaults to false and installs all pacakges found via pip freeze if
421-
not set.
416+
:param str requirements:
417+
If set, only the packages in the supplied requirements file are
418+
installed.
419+
If not set then installs all packages found via pip freeze.
422420
:param str local_package:
423421
The path to a local package with should be included in the deploy as
424422
well (and/or is not available on PyPi)
425423
"""
426424
packages = []
427-
if not use_requirements:
425+
if not requirements:
428426
print('Gathering pip packages')
429427
packages.extend(pip.operations.freeze.freeze())
430428
else:
431-
if os.path.exists('requirements.txt'):
429+
if os.path.exists(requirements):
432430
print('Gathering requirement packages')
433-
data = read('requirements.txt')
431+
data = read(requirements)
434432
packages.extend(data.splitlines())
435433

436434
if not packages:
@@ -681,6 +679,7 @@ def function_exists(cfg):
681679
if 'Function not found' in str(e):
682680
return False
683681

682+
684683
def read_cfg(path_to_config_file, profile_name):
685684
cfg = read(path_to_config_file, loader=yaml.load)
686685
if profile_name is not None:

scripts/lambda

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,10 @@ def init(folder, minimal):
4848
help='AWS profile to use.',
4949
)
5050
@click.option(
51-
'--use-requirements',
52-
default=False,
53-
is_flag=True,
54-
help='Install all packages defined in requirements.txt',
51+
'--requirements',
52+
default=None,
53+
type=click.Path(),
54+
help='Install packages from supplied requirements file.',
5555
)
5656
@click.option(
5757
'--local-package',
@@ -60,10 +60,10 @@ def init(folder, minimal):
6060
help='Install local package as well.',
6161
multiple=True,
6262
)
63-
def build(use_requirements, local_package, config_file, profile):
63+
def build(requirements, local_package, config_file, profile):
6464
aws_lambda.build(
6565
CURRENT_DIR,
66-
use_requirements=use_requirements,
66+
requirements=requirements,
6767
local_package=local_package,
6868
config_file=config_file,
6969
profile_name=profile,
@@ -107,10 +107,10 @@ def invoke(event_file, config_file, profile, verbose):
107107
help='AWS profile to use.',
108108
)
109109
@click.option(
110-
'--use-requirements',
111-
default=False,
112-
is_flag=True,
113-
help='Install all packages defined in requirements.txt',
110+
'--requirements',
111+
default=None,
112+
type=click.Path(),
113+
help='Install all packages defined in supplied requirements file',
114114
)
115115
@click.option(
116116
'--local-package',
@@ -119,10 +119,10 @@ def invoke(event_file, config_file, profile, verbose):
119119
help='Install local package as well.',
120120
multiple=True,
121121
)
122-
def deploy(use_requirements, local_package, config_file, profile):
122+
def deploy(requirements, local_package, config_file, profile):
123123
aws_lambda.deploy(
124124
CURRENT_DIR,
125-
use_requirements=use_requirements,
125+
requirements=requirements,
126126
local_package=local_package,
127127
config_file=config_file,
128128
profile_name=profile,
@@ -140,10 +140,10 @@ def deploy(use_requirements, local_package, config_file, profile):
140140
help='AWS profile to use.',
141141
)
142142
@click.option(
143-
'--use-requirements',
144-
default=False,
145-
is_flag=True,
146-
help='Install all packages defined in requirements.txt',
143+
'--requirements',
144+
default=None,
145+
type=click.Path(),
146+
help='Install all packages defined in supplied requirements file',
147147
)
148148
@click.option(
149149
'--local-package',
@@ -152,10 +152,10 @@ def deploy(use_requirements, local_package, config_file, profile):
152152
help='Install local package as well.',
153153
multiple=True,
154154
)
155-
def upload(use_requirements, local_package, config_file, profile):
155+
def upload(requirements, local_package, config_file, profile):
156156
aws_lambda.upload(
157157
CURRENT_DIR,
158-
use_requirements=use_requirements,
158+
requirements=requirements,
159159
local_package=local_package,
160160
config_file=config_file,
161161
profile_name=profile,
@@ -173,10 +173,10 @@ def upload(use_requirements, local_package, config_file, profile):
173173
help='AWS profile to use.',
174174
)
175175
@click.option(
176-
'--use-requirements',
177-
default=False,
178-
is_flag=True,
179-
help='Install all packages defined in requirements.txt',
176+
'--requirements',
177+
default=None,
178+
type=click.Path(),
179+
help='Install all packages defined in supplied requirements file',
180180
)
181181
@click.option(
182182
'--local-package',
@@ -185,10 +185,10 @@ def upload(use_requirements, local_package, config_file, profile):
185185
multiple=True,
186186
help='Install local package as well.',
187187
)
188-
def deploy_s3(use_requirements, local_package, config_file, profile):
188+
def deploy_s3(requirements, local_package, config_file, profile):
189189
aws_lambda.deploy_s3(
190190
CURRENT_DIR,
191-
use_requirements=use_requirements,
191+
requirements=requirements,
192192
local_package=local_package,
193193
config_file=config_file,
194194
profile_name=profile,

0 commit comments

Comments
 (0)