@@ -258,17 +258,25 @@ def get(self, module_name, env_file=False):
258
258
return self .container .get_environment_file (module_name )
259
259
return self .container .get (module_name )
260
260
261
- def list (self , pattern = None , names_only = False , out = None , short = False ):
261
+ def list (
262
+ self ,
263
+ pattern = None ,
264
+ names_only = False ,
265
+ out = None ,
266
+ short = False ,
267
+ return_modules = False ,
268
+ ):
262
269
"""
263
270
List installed modules.
264
271
"""
265
- self ._list_modules (
272
+ return self ._list_modules (
266
273
self .settings .module_base ,
267
274
self .modulefile ,
268
275
pattern ,
269
276
names_only ,
270
277
out ,
271
278
short = short ,
279
+ return_modules = return_modules ,
272
280
)
273
281
274
282
def docgen (self , module_name , registry = None , out = None , branch = "main" ):
@@ -328,14 +336,25 @@ def inspect(self, module_name):
328
336
return self .container .inspect (image )
329
337
330
338
def _list_modules (
331
- self , base , filename , pattern = None , names_only = False , out = None , short = False
339
+ self ,
340
+ base ,
341
+ filename ,
342
+ pattern = None ,
343
+ names_only = False ,
344
+ out = None ,
345
+ short = False ,
346
+ return_modules = False ,
332
347
):
333
348
"""
334
349
A shared function to list modules or registry entries.
335
350
"""
336
351
out = out or sys .stdout
337
352
modules = self ._get_module_lookup (base , filename , pattern )
338
353
354
+ # Return names
355
+ if return_modules :
356
+ return modules
357
+
339
358
# If we don't have modules, exit early
340
359
if not modules :
341
360
logger .exit ("You don't have any install modules. Try shpc show." , 0 )
@@ -424,7 +443,7 @@ def install(
424
443
"force" is currently not used.
425
444
"""
426
445
# Create a new module
427
- module = self .get_module (
446
+ module = kwargs . get ( "module" ) or self .get_module (
428
447
name , container_image = container_image , keep_path = keep_path
429
448
)
430
449
0 commit comments