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

Ignacio N Feijoo ignacio en pixartargentina.com.ar
Mar Sep 14 01:30:05 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