Commit Graph

12 Commits (5ec9ec73c8189023256a6d737600382f9e3d288a)

Author SHA1 Message Date
Jose M. Guisado 5ec9ec73c8 fdisk: add set_PyErr_from_rc
python-libfdisk raises Python exceptions when the libfdisk reports an
error when executing some function. libfdisk returns negative
errno values when reporting some error.

Adds utility function to set PyErr string based on the strerror of
a given errno code. Useful when raising Python exceptions.
2022-12-15 17:46:42 +01:00
Jose M. Guisado 975acaf549 coding style: line breaks
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.
2022-12-15 17:37:07 +01:00
Jose M. Guisado eaf98290cf context: add_partition returns partno
libfdisk context add_partition function initializes a passed argument
with the new partition's partno.

If add_partition is successful, return its partno.
2022-12-15 17:37:07 +01:00
Jose M. Guisado 8707d43111 context: add add_partition method
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.
2022-12-15 12:27:35 +01:00
Jose M. Guisado 3d9db0b93b context: add disklabel creation and writing
Adds wrappers for following label related functions from libfdisk:

- fdisk_create_disklabel
- fdisk_write_disklabel

These functions are declared as methods of a Context python object.
2022-12-15 12:16:49 +01:00
Jose M. Guisado e58c21bdc8 context: rename set_size_unit variables
Renames 'cval' to 'szunit' for better readability. This variable is used
to store the size_unit constant that is going to be set using
fdisk_set_size_unit.
2022-12-15 10:52:47 +01:00
Jose M. Guisado 06e59706fc context: add readonly parameter
fdisk_assign_device() contains 'readonly' parameter to indicate how to
open the device.

Assigned device 'readonly' must be false (0) in order to write in-memory
changes to it.
2022-12-15 10:51:04 +01:00
Jose M. Guisado Gomez 0747a84d1c context: add size_unit getset
Size unit can be get or set using 'size_unit' context member.

>>> for pa in cxt.partitions:
...     cxt.partition_to_string(pa, fdisk.FDISK_FIELD_SIZE)
...
'114.6G'
>>> cxt.size_unit
0
>>> cxt.size_unit == fdisk.FDISK_SIZEUNIT_HUMAN
True
>>> cxt.size_unit = fdisk.FDISK_SIZEUNIT_BYTES
>>> for pa in cxt.partitions:
...     cxt.partition_to_string(pa, fdisk.FDISK_FIELD_SIZE)
...
'123010531328'

Use fdisk_get_size_unit to get size unit value.
https://cdn.kernel.org/pub/linux/utils/util-linux/v2.34/libfdisk-docs/libfdisk-Context.html#fdisk-get-size-unit

Use fdisk_set_size_unit to set size unit value.
https://cdn.kernel.org/pub/linux/utils/util-linux/v2.34/libfdisk-docs/libfdisk-Context.html#fdisk-set-size-unit
2022-06-07 16:21:51 +02:00
Jose M. Guisado Gomez ba67cc7a7b Use c99 struct initialization
Declutters PyTypeObject struct initialization when declaring new types.
2022-04-28 15:47:55 +02:00
Jose M. Guisado Gomez c5ae6a3967 context: rename parts to partitions 2022-04-28 15:37:28 +02:00
Jose M. Guisado Gomez ef613790e9 Add COPYING and license headers
LGPL2.1 or later.
2022-04-07 17:03:34 +02:00
Jose M. Guisado Gomez ca92f15e2a Initial commit
Add sources, setup.py and .gitignore

Build/Install:

	python setup.py build
	python setup.py install
2022-04-06 12:56:11 +02:00