Skip to content

Commit 4ba33e4

Browse files
committed
do not use mutable data structures for argument defaults in gen_easyblocks_overview_* functions
1 parent f136c93 commit 4ba33e4

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

easybuild/tools/docs.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1238,7 +1238,7 @@ def get_easyblock_classes(package_name):
12381238
modules = import_available_modules(package_name)
12391239

12401240
for mod in modules:
1241-
for name, obj in inspect.getmembers(mod, inspect.isclass):
1241+
for name, _ in inspect.getmembers(mod, inspect.isclass):
12421242
eb_class = getattr(mod, name)
12431243
# skip imported classes that are not easyblocks
12441244
if eb_class.__module__.startswith(package_name) and eb_class not in easyblocks:
@@ -1247,10 +1247,15 @@ def get_easyblock_classes(package_name):
12471247
return easyblocks
12481248

12491249

1250-
def gen_easyblocks_overview_md(package_name, path_to_examples, common_params={}, doc_functions=[]):
1250+
def gen_easyblocks_overview_md(package_name, path_to_examples, common_params=None, doc_functions=None):
12511251
"""
12521252
Compose overview of all easyblocks in the given package in MarkDown format
12531253
"""
1254+
if common_params is None:
1255+
common_params = {}
1256+
if doc_functions is None:
1257+
doc_functions = []
1258+
12541259
eb_classes = get_easyblock_classes(package_name)
12551260

12561261
eb_links = []
@@ -1272,10 +1277,15 @@ def gen_easyblocks_overview_md(package_name, path_to_examples, common_params={},
12721277
return heading + doc
12731278

12741279

1275-
def gen_easyblocks_overview_rst(package_name, path_to_examples, common_params={}, doc_functions=[]):
1280+
def gen_easyblocks_overview_rst(package_name, path_to_examples, common_params=None, doc_functions=None):
12761281
"""
12771282
Compose overview of all easyblocks in the given package in rst format
12781283
"""
1284+
if common_params is None:
1285+
common_params = {}
1286+
if doc_functions is None:
1287+
doc_functions = []
1288+
12791289
eb_classes = get_easyblock_classes(package_name)
12801290

12811291
doc = []
@@ -1382,7 +1392,7 @@ def gen_easyblock_doc_section_md(eb_class, path_to_examples, common_params, doc_
13821392
example_ec = os.path.join(path_to_examples, '%s.eb' % classname)
13831393
if os.path.exists(example_ec):
13841394
doc.extend([
1385-
"### Example easyconfig for ``" + classname + "`` easyblock",
1395+
"### Example easyconfig for ``" + classname + "`` easyblock",
13861396
'',
13871397
'```python',
13881398
read_file(example_ec),

test/framework/docs.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ def test_gen_easyblocks_overview(self):
473473
names = []
474474

475475
for mod in modules:
476-
for name, obj in inspect.getmembers(mod, inspect.isclass):
476+
for name, _ in inspect.getmembers(mod, inspect.isclass):
477477
eb_class = getattr(mod, name)
478478
# skip imported classes that are not easyblocks
479479
if eb_class.__module__.startswith(gen_easyblocks_pkg):
@@ -521,7 +521,7 @@ def test_gen_easyblocks_overview(self):
521521
names = []
522522

523523
for mod in modules:
524-
for name, obj in inspect.getmembers(mod, inspect.isclass):
524+
for name, _ in inspect.getmembers(mod, inspect.isclass):
525525
eb_class = getattr(mod, name)
526526
# skip imported classes that are not easyblocks
527527
if eb_class.__module__.startswith(gen_easyblocks_pkg):

0 commit comments

Comments
 (0)