File: gpt.py

package info (click to toggle)
bootstrap-vz 0.9.11%2B20180121git-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 2,244 kB
  • sloc: python: 8,800; sh: 813; makefile: 16
file content (26 lines) | stat: -rw-r--r-- 1,237 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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, mountopts, 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, mountopts, 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])