Skip to content

Commit 3f02bdc

Browse files
authored
Remove default value for defaults (#289)
This is a dangerous practice becuse the default values could be mutated. And it should always be passed in. Supercedes #286
1 parent b76c363 commit 3f02bdc

File tree

9 files changed

+22
-22
lines changed

9 files changed

+22
-22
lines changed

src/rocker/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ def check_args_for_activation(cls, cli_args):
117117
return True if cli_args.get(cls.get_name()) else False
118118

119119
@staticmethod
120-
def register_arguments(parser, defaults={}):
120+
def register_arguments(parser, defaults):
121121
raise NotImplementedError
122122

123123

src/rocker/extensions.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def get_docker_args(self, cliargs):
5454
return args
5555

5656
@staticmethod
57-
def register_arguments(parser, defaults={}):
57+
def register_arguments(parser, defaults):
5858
parser.add_argument('--devices',
5959
default=defaults.get('devices', None),
6060
nargs='*',
@@ -84,7 +84,7 @@ def get_snippet(self, cliargs):
8484
return empy_expand(snippet, self.get_environment_subs())
8585

8686
@staticmethod
87-
def register_arguments(parser, defaults={}):
87+
def register_arguments(parser, defaults):
8888
parser.add_argument(name_to_argument(DevHelpers.get_name()),
8989
action='store_true',
9090
default=defaults.get('dev_helpers', None),
@@ -136,7 +136,7 @@ def get_docker_args(self, cliargs):
136136
return args
137137

138138
@staticmethod
139-
def register_arguments(parser, defaults={}):
139+
def register_arguments(parser, defaults):
140140
parser.add_argument('--hostname', default=defaults.get('hostname', ''),
141141
help='Hostname of the container.')
142142

@@ -182,7 +182,7 @@ def get_docker_args(self, cliargs):
182182
return args
183183

184184
@staticmethod
185-
def register_arguments(parser, defaults={}):
185+
def register_arguments(parser, defaults):
186186
parser.add_argument('--name', default=defaults.get('name', ''),
187187
help='Name of the container.')
188188

@@ -205,7 +205,7 @@ def get_docker_args(self, cliargs):
205205
return args
206206

207207
@staticmethod
208-
def register_arguments(parser, defaults={}):
208+
def register_arguments(parser, defaults):
209209
client = get_docker_client()
210210
parser.add_argument('--network', choices=[n['Name'] for n in client.networks()],
211211
default=defaults.get('network', None),
@@ -231,7 +231,7 @@ def get_docker_args(self, cliargs):
231231
return ' '.join(args)
232232

233233
@staticmethod
234-
def register_arguments(parser, defaults={}):
234+
def register_arguments(parser, defaults):
235235
parser.add_argument('--port',
236236
default=defaults.get('port', None),
237237
action='append',
@@ -269,7 +269,7 @@ def get_docker_args(self, cliargs):
269269
return args % self.get_environment_subs()
270270

271271
@staticmethod
272-
def register_arguments(parser, defaults={}):
272+
def register_arguments(parser, defaults):
273273
parser.add_argument(name_to_argument(PulseAudio.get_name()),
274274
action='store_true',
275275
default=defaults.get(PulseAudio.get_name(), None),
@@ -288,7 +288,7 @@ def get_docker_args(self, cliargs):
288288
return ' -v %s:%s ' % (Path.home(), Path.home())
289289

290290
@staticmethod
291-
def register_arguments(parser, defaults={}):
291+
def register_arguments(parser, defaults):
292292
parser.add_argument(name_to_argument(HomeDir.get_name()),
293293
action='store_true',
294294
default=defaults.get(HomeDir.get_name(), None),
@@ -344,7 +344,7 @@ def get_snippet(self, cliargs):
344344
return empy_expand(snippet, substitutions)
345345

346346
@staticmethod
347-
def register_arguments(parser, defaults={}):
347+
def register_arguments(parser, defaults):
348348
parser.add_argument(name_to_argument(User.get_name()),
349349
action='store_true',
350350
default=defaults.get('user', None),
@@ -400,7 +400,7 @@ def get_docker_args(self, cli_args):
400400
return ' '.join(args)
401401

402402
@staticmethod
403-
def register_arguments(parser, defaults={}):
403+
def register_arguments(parser, defaults):
404404
parser.add_argument('--env', '-e',
405405
metavar='NAME[=VALUE]',
406406
type=str,
@@ -436,7 +436,7 @@ def get_docker_args(self, cli_args):
436436
return ' --privileged'
437437

438438
@staticmethod
439-
def register_arguments(parser, defaults={}):
439+
def register_arguments(parser, defaults):
440440
parser.add_argument(name_to_argument(Privileged.get_name()),
441441
action='store_true',
442442
default=defaults.get(Privileged.get_name(), None),
@@ -463,7 +463,7 @@ def get_docker_args(self, cliargs):
463463
return ' '.join(args)
464464

465465
@staticmethod
466-
def register_arguments(parser, defaults={}):
466+
def register_arguments(parser, defaults):
467467
parser.add_argument(name_to_argument(GroupAdd.get_name()),
468468
default=defaults.get(GroupAdd.get_name(), None),
469469
action='append',

src/rocker/git_extension.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def get_docker_args(self, cli_args):
4646
return args
4747

4848
@staticmethod
49-
def register_arguments(parser, defaults={}):
49+
def register_arguments(parser, defaults):
5050
parser.add_argument('--git',
5151
action='store_true',
5252
default=defaults.get(Git.get_name(), None),

src/rocker/nvidia_extension.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def precondition_environment(self, cliargs):
9494
raise ex
9595

9696
@staticmethod
97-
def register_arguments(parser, defaults={}):
97+
def register_arguments(parser, defaults):
9898
parser.add_argument(name_to_argument(X11.get_name()),
9999
action='store_true',
100100
default=defaults.get(X11.get_name(), None),
@@ -161,7 +161,7 @@ def get_docker_args(self, cliargs):
161161
return " --runtime=nvidia"
162162

163163
@staticmethod
164-
def register_arguments(parser, defaults={}):
164+
def register_arguments(parser, defaults):
165165
parser.add_argument(name_to_argument(Nvidia.get_name()),
166166
choices=['auto', 'runtime', 'gpus'],
167167
nargs='?',
@@ -231,7 +231,7 @@ def get_docker_args(self, cliargs):
231231
# Runtime requires --nvidia option too
232232

233233
@staticmethod
234-
def register_arguments(parser, defaults={}):
234+
def register_arguments(parser, defaults):
235235
parser.add_argument(name_to_argument(Cuda.get_name()),
236236
action='store_true',
237237
default=defaults.get('cuda', None),

src/rocker/rmw_extension.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def get_snippet(self, cliargs):
7272
return empy_expand(snippet, data)
7373

7474
@staticmethod
75-
def register_arguments(parser, defaults={}):
75+
def register_arguments(parser, defaults):
7676
parser.add_argument(name_to_argument(RMW.get_name()),
7777
default=defaults.get('rmw', None),
7878
nargs=1,

src/rocker/ssh_extension.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def get_docker_args(self, cli_args):
4646
return args
4747

4848
@staticmethod
49-
def register_arguments(parser, defaults={}):
49+
def register_arguments(parser, defaults):
5050
parser.add_argument('--ssh',
5151
action='store_true',
5252
default=defaults.get(Ssh.get_name(), None),

src/rocker/volume_extension.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def get_docker_args(self, cli_args):
6161
return ' '.join(args)
6262

6363
@staticmethod
64-
def register_arguments(parser, defaults={}):
64+
def register_arguments(parser, defaults):
6565
parser.add_argument(Volume.ARG_ROCKER_VOLUME,
6666
metavar='HOST-DIR[:CONTAINER-DIR[:OPTIONS]]',
6767
type=str,

test/test_extension.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def plugin_load_parser_correctly(plugin):
3636
"""A helper function to test that the plugins at least
3737
register an option for their own name."""
3838
parser = argparse.ArgumentParser(description='test_parser')
39-
plugin.register_arguments(parser)
39+
plugin.register_arguments(parser, {})
4040
argument_name = name_to_argument(plugin.get_name())
4141
for action in parser._actions:
4242
option_strings = getattr(action, 'option_strings', [])

test/test_file_writing.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def get_files(self, cliargs):
5858

5959

6060
@staticmethod
61-
def register_arguments(parser, defaults={}):
61+
def register_arguments(parser, defaults):
6262
parser.add_argument('--test-file-injection',
6363
action='store_true',
6464
default=defaults.get('test_file_injection', False),

0 commit comments

Comments
 (0)