_ped_Disk *PedDisk2_ped_Disk(PedDisk *disk) { _ped_Disk *ret = NULL; if (disk == NULL) { PyErr_SetString(PyExc_TypeError, "Empty PedDisk()"); return NULL; } ret = (_ped_Disk *) _ped_Disk_Type_obj.tp_new(&_ped_Disk_Type_obj, NULL, NULL); if (!ret) { ped_disk_destroy(disk); return (_ped_Disk *) PyErr_NoMemory(); } ret->ped_disk = disk; ret->dev = (PyObject *) PedDevice2_ped_Device(disk->dev); if (!ret->dev) goto error; ret->type = (PyObject *) PedDiskType2_ped_DiskType(disk->type); if (!ret->type) goto error; return ret; error: Py_DECREF(ret); return NULL; }
/* * Returns the _ped.DiskType for the specified _ped.Device. * Even though this function is part of pydisk.c, it's a method * on _ped.Device since it operates on _ped.Device objects and * not on _ped.Disk objects. */ PyObject *py_ped_disk_probe(PyObject *s, PyObject *args) { PedDevice *device = NULL; PedDiskType *type = NULL; _ped_DiskType *ret = NULL; device = _ped_Device2PedDevice(s); if (device) { type = ped_disk_probe(device); if (type == NULL) { PyErr_Format(IOException, "Could not probe device %s", device->path); return NULL; } ret = PedDiskType2_ped_DiskType(type); if (ret == NULL) { return NULL; } } return (PyObject *) ret; }