from bootstrapvz.common.tools import log_check_call from base import BasePartition class GPTPartition(BasePartition): """Represents a GPT partition """ def __init__(self, size, filesystem, format_command, name, previous): """ :param Bytes size: Size of the partition :param str filesystem: Filesystem the partition should be formatted with :param list format_command: Optional format command, valid variables are fs, device_path and size :param str name: The name of the partition :param BasePartition previous: The partition that preceeds this one """ self.name = name super(GPTPartition, self).__init__(size, filesystem, format_command, previous) def _before_create(self, e): # Create the partition and then set the name of the partition afterwards super(GPTPartition, self)._before_create(e) # partition name only works for gpt, for msdos that becomes the part-type (primary, extended, logical) name_command = 'name {idx} {name}'.format(idx=self.get_index(), name=self.name) log_check_call(['parted', '--script', e.volume.device_path, '--', name_command])