Only two line breaks separate copyright notice from source.
For the rest of the source file any function declaration or similar
block is separated with a line break from any other block.
Except when a python function definition is previously followed by
a docstring #define block.
Partition type getset enables modifying and getting the type
of a give libfdisk partition.
The type of a partition is defined using PartType, which
can only be instanced via label specific functions
get_parttype_from_string or get_parttype_from_code.
For example, to set the type of a new partitions to 'EFI System':
>>> import fdisk
>>> pa = fdisk.Partition()
>>> pa.type
>>> cxt = fdisk.Context('./disk.bin', readonly=False)
>>> cxt.create_disklabel('gpt')
>>> efitype = cxt.label.get_parttype_from_string("c12a7328-f81f-11d2-ba4b-00a0c93ec93b")
>>> pa.type = efitype
Following the previous example, getting its current partition type:
>>> pa.type
<libfdisk.PartType object at 0x7f2f0a9a12d0, name=EFI System>
This method wraps fdisk_add_partition. Allows modifying in-memory
partition table of a given context.
Remember that changes need to be written to disk using the
relevant fdisk_write_disklabel function wrapper.
Allows changing in-memory partno field of a Partition instance:
>>> import fdisk
>>> pa = fdisk.Partition()
>>> pa.partno = 3
>>> pa
<libfdisk.Partition object at 0x7f4603a38f30, partno=3>
If partno is unset repr shows 'None':
>>> import fdisk
>>> pa = fdisk.Partition()
>>> pa
<libfdisk.Partition object at 0x7f86c4338f30, partno=None>
Undefined values in libfdisk should map to None type in Python.
Py_BuildValue("%d", -1); is also incorrectly formatted and raises an
error when executed.