Problemas para crear una partición (python-parted)

Ignacio N. Feijoo ignacio en olivoscc.com.ar
Mar Sep 14 01:26:22 CEST 2004


Hola, soy nuevo en la lista y, antes que nada, debo aclarar que leí (o 
eso trate) todos los scripts sobre el tema que hay en la lista y hasta 
hable con Andrew Clausen, pero sin ninguna solución.

Soy prácticamente nuevo con python, pero programo hace mucho y me 
acostumbre rápidamente al lenguaje, pero, me complica un poco algunas 
funciones y alguna documentación.

El tema es que tengo que armar un particionador en python con parted 
(tengo, estoy obligado :) ). Ya tengo terminado todo el front-end 
(dialog) y el programa esta en condiciones de mostrar información sobre 
los discos y las particiones.

Pero me cuesta crear particiones. Les muestro el script que hice para 
probar:

[code]
Ignacio:~/particionador/# cat test.py
#!/usr/bin/env python

import parted, sys
parted.init()
parted.device_probe_all()

path = '/dev/hdc'

drv = parted.device_get(path)
disk = drv.disk_open()

part = []
for i in disk.get_part_list():
        if i.get_num() <> -1:
                part.append(i)

fs = parted.file_system_type_get('ext2')
type = parted.PARTITION_PRIMARY

start = part[1].get_geom().get_end() + 1
size = start + 1000

Part = parted.Partition(disk,type,fs,start,size)

if not Part:
        print "no se puede crear particion"
        sys.exit(1)

if Part.get_num() == -1:
        print "particion fork?"
        sys.exit(2)

if disk.add_partition(Part) == 0:
        print "nos e puede agregar la particion"
        sys.exit(3)
else:
        print "Partition %s%d create!!" % (path,Part.get_num())
Ignacio:~/particionador/# ./test.py
Partition fork?
Ignacio:~/particionador/#
[/code]

Este código, o me genera una partición fork o me crea una partición 
normal, pero al tratar de hacer un add, me tira una violación de 
segmento. Estoy intentando hace mucho crear una partición y no sale. 
Pero, cuando trate de redimencionar una partición!!!

Alguien puede ayudarme? alguien tiene un script que haga esto y que le 
pueda echar un vistazo?

Gracias!!!




Más información sobre la lista de distribución Python-es