Mini Shell
# Copyright 2015, Truveris Inc. All Rights Reserved.
from __future__ import absolute_import
def parse_device_disk(token):
"""Parse a single disk from the header line.
Each disks has at least a device name and a unique number in its array,
after that could follow a list of special flags:
(W) write-mostly
(S) spare disk
(F) faulty disk
(R) replacement disk
Some are mutually exclusive (e.g. can't be spare and faulty).
"""
name, token = token.split("[", 1)
number, flags = token.split("]", 1)
return name, {
"number": int(number),
"write_mostly": "W" in flags,
"faulty": "F" in flags,
"spare": "S" in flags,
"replacement": "R" in flags,
}
def parse_device_disks(tokens):
"""Parse the list of disks from the header line."""
return dict(parse_device_disk(token) for token in tokens)
Zerion Mini Shell 1.0