@@ -258,17 +258,25 @@ def get(self, module_name, env_file=False):
258258 return self .container .get_environment_file (module_name )
259259 return self .container .get (module_name )
260260
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+ ):
262269 """
263270 List installed modules.
264271 """
265- self ._list_modules (
272+ return self ._list_modules (
266273 self .settings .module_base ,
267274 self .modulefile ,
268275 pattern ,
269276 names_only ,
270277 out ,
271278 short = short ,
279+ return_modules = return_modules ,
272280 )
273281
274282 def docgen (self , module_name , registry = None , out = None , branch = "main" ):
@@ -328,14 +336,25 @@ def inspect(self, module_name):
328336 return self .container .inspect (image )
329337
330338 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 ,
332347 ):
333348 """
334349 A shared function to list modules or registry entries.
335350 """
336351 out = out or sys .stdout
337352 modules = self ._get_module_lookup (base , filename , pattern )
338353
354+ # Return names
355+ if return_modules :
356+ return modules
357+
339358 # If we don't have modules, exit early
340359 if not modules :
341360 logger .exit ("You don't have any install modules. Try shpc show." , 0 )
@@ -424,7 +443,7 @@ def install(
424443 "force" is currently not used.
425444 """
426445 # Create a new module
427- module = self .get_module (
446+ module = kwargs . get ( "module" ) or self .get_module (
428447 name , container_image = container_image , keep_path = keep_path
429448 )
430449
0 commit comments