PyObject *py_ped_file_system_probe(PyObject *s, PyObject *args) { PyObject *in_geom = NULL; PedGeometry *out_geom = NULL; PedFileSystemType *fstype = NULL; _ped_FileSystemType *ret = NULL; if (!PyArg_ParseTuple(args, "O!", &_ped_Geometry_Type_obj, &in_geom)) { return NULL; } out_geom = _ped_Geometry2PedGeometry(in_geom); if (!out_geom) { return NULL; } fstype = ped_file_system_probe(out_geom); if (fstype) { ret = PedFileSystemType2_ped_FileSystemType(fstype); } else { if (partedExnRaised) { partedExnRaised = 0; if (!PyErr_ExceptionMatches(PartedException) && !PyErr_ExceptionMatches(PyExc_NotImplementedError)) PyErr_SetString(IOException, partedExnMessage); } else PyErr_SetString(FileSystemException, "Failed to find any filesystem in given geometry"); return NULL; } return (PyObject *) ret; }
PyObject *py_ped_file_system_type_get_next(PyObject *s, PyObject *args) { PyObject *in_fstype = NULL; PedFileSystemType *cur = NULL, *next = NULL; _ped_FileSystemType *ret = NULL; if (!PyArg_ParseTuple(args, "|O!", &_ped_FileSystemType_Type_obj, &in_fstype)) { return NULL; } if (in_fstype) { cur = _ped_FileSystemType2PedFileSystemType(in_fstype); if (!cur) { return NULL; } } next = ped_file_system_type_get_next(cur); if (next) { ret = PedFileSystemType2_ped_FileSystemType(next); return (PyObject *) ret; } else { PyErr_SetNone(PyExc_IndexError); return NULL; } }
_ped_Partition *PedPartition2_ped_Partition(PedPartition *part, _ped_Disk *pydisk) { _ped_Partition *ret = NULL; if (part == NULL) { PyErr_SetString(PyExc_TypeError, "Empty PedPartition()"); return NULL; } if (pydisk == NULL) { PyErr_SetString(PyExc_TypeError, "Empty _ped_Disk()"); return NULL; } ret = (_ped_Partition *) _ped_Partition_Type_obj.tp_new(&_ped_Partition_Type_obj, NULL, NULL); if (!ret) return (_ped_Partition *) PyErr_NoMemory(); ret->disk = (PyObject *)pydisk; Py_INCREF(ret->disk); ret->geom = (PyObject *)PedGeometry2_ped_Geometry(&part->geom); if (!ret->geom) goto error; if (part->fs_type == NULL) { ret->fs_type = Py_None; Py_INCREF(ret->fs_type); } else { ret->fs_type = (PyObject *)PedFileSystemType2_ped_FileSystemType(part->fs_type); if (!ret->fs_type) goto error; } ret->type = part->type; ret->ped_partition = part; return ret; error: Py_DECREF(ret); return NULL; }
/* 1:1 function mappings for filesys.h in libparted */ PyObject *py_ped_file_system_type_get(PyObject *s, PyObject *args) { PedFileSystemType *fstype = NULL; _ped_FileSystemType *ret = NULL; char *name = NULL; if (!PyArg_ParseTuple(args, "s", &name)) { return NULL; } fstype = ped_file_system_type_get(name); if (fstype) { ret = PedFileSystemType2_ped_FileSystemType(fstype); return (PyObject *) ret; } else { PyErr_SetString(UnknownTypeException, name); return NULL; } }
_ped_FileSystem *PedFileSystem2_ped_FileSystem(PedFileSystem *fs) { _ped_FileSystem *ret = NULL; _ped_FileSystemType *type = NULL; _ped_Geometry *geom = NULL; PyObject *args = NULL; if (fs == NULL) { PyErr_SetString(PyExc_TypeError, "Empty PedFileSystem()"); return NULL; } ret = (_ped_FileSystem *) _ped_FileSystem_Type_obj.tp_new(&_ped_FileSystem_Type_obj, NULL, NULL); if (!ret) return (_ped_FileSystem *) PyErr_NoMemory(); if ((type = PedFileSystemType2_ped_FileSystemType(fs->type)) == NULL) goto error; if ((geom = PedGeometry2_ped_Geometry(fs->geom)) == NULL) goto error; args = Py_BuildValue("OOi", type, geom, fs->checked); if (args == NULL) { goto error; } if (_ped_FileSystem_Type_obj.tp_init((PyObject *) ret, args, NULL)) { goto error; } Py_DECREF(args); Py_DECREF(type); Py_DECREF(geom); return ret; error: Py_XDECREF(args); Py_XDECREF(type); Py_XDECREF(geom); Py_DECREF(ret); return NULL; }