in submitit/slurm/slurm.py [0:0]
def _parse_node_group(node_list: str, pos: int, parsed: List[str]) -> int:
"""Parse a node group of the form PREFIX[1-3,5,8] and return
the position in the string at which the parsing stopped
"""
prefixes = [""]
while pos < len(node_list):
c = node_list[pos]
if c == ",":
parsed.extend(prefixes)
return pos + 1
if c == "[":
last_pos = node_list.index("]", pos)
suffixes = _expand_id_suffix(node_list[pos + 1 : last_pos])
prefixes = [prefix + suffix for prefix in prefixes for suffix in suffixes]
pos = last_pos + 1
else:
for i, prefix in enumerate(prefixes):
prefixes[i] = prefix + c
pos += 1
parsed.extend(prefixes)
return pos