Skip to content

Commit d4befd5

Browse files
committed
make letter_dir_for aware of '*' wildcard name
1 parent 0e76b87 commit d4befd5

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

easybuild/framework/easyconfig/easyconfig.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1291,9 +1291,14 @@ def letter_dir_for(name):
12911291
This usually just the 1st letter of the software name (in lowercase),
12921292
except for funky software names, e.g. ones starting with a digit.
12931293
"""
1294-
letter = name.lower()[0]
1295-
if letter < 'a' or letter > 'z':
1296-
letter = '0'
1294+
# wildcard name should result in wildcard letter
1295+
if name == '*':
1296+
letter = '*'
1297+
else:
1298+
letter = name.lower()[0]
1299+
# outside of a-z range, use '0'
1300+
if letter < 'a' or letter > 'z':
1301+
letter = '0'
12971302

12981303
return letter
12991304

test/framework/easyconfig.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,7 @@ def test_letter_dir(self):
997997
'3to2': '0',
998998
'7zip': '0',
999999
'_bleh_': '0',
1000+
'*': '*',
10001001
}
10011002
for name, letter in test_cases.items():
10021003
self.assertEqual(letter_dir_for(name), letter)

0 commit comments

Comments
 (0)