def __init__(self, cpus): self._mask = 0 if isinstance(cpus, int): self._mask = cpus elif isinstance(cpus, str): if cpus[:2] == '0x' or cpus[:2] == '0X': self._mask = int(cpus, 16) else: self._mask = list_to_mask(ranges_to_list(cpus)) elif isinstance(cpus, list): self._mask = list_to_mask(cpus) elif isinstance(cpus, cpu_mask): self._mask = cpus._mask # pylint: disable=protected-access else: msg = 'Unknown conversion from {} to cpu mask' raise ValueError(msg.format(cpus))