Hallo,
ich bin dabei ein kleines DVD-Backup programm zu schreiben.
Dabei wird der Inhalt der DVD in ein ISO-File geschrieben.
Nun könnte man ja einfach die aktuelle Zeit/Datum für den Dateinamen
verwenden, ich möchte aber gerne den Namen der DVD ermitteln.
Bin noch recht neu in python unterwegs und habe leider nichts
passendes gefunden
Vielleicht könnt Ihr mir ja weiterhelfen....
OS: Ubuntu 'Hardy'
Python 2.4
Laufwerksnamen ermitteln
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Bei mir geht das einfach per Shell:
Erst muss die Unique Device ID gefunden werden, und dann kann man unter dessen dem Schlüssel "info.product" das Label auslesen.
Code: Alles auswählen
hal-get-property --udi `hal-find-by-capability --capability volume.disc` --key info.product
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Super, danke!
leider bekomme ich das in python nicht umgesetzt.
Gedacht hab ich mir das irgenwie so:
Nur so einfach geht das ja nicht, "hal-find-by-capability" ist ja ein eigener
Befehl, wie kann ich das also kombinieren.
hat sich erledigt, funktioniert - hatte schreibfehler!!
leider bekomme ich das in python nicht umgesetzt.
Gedacht hab ich mir das irgenwie so:
Code: Alles auswählen
ret = commands.getoutput('hal-get-property --udi ?hal-find-bycapability? --key info.product').split('\n')
Befehl, wie kann ich das also kombinieren.
hat sich erledigt, funktioniert - hatte schreibfehler!!
Yo, ähh Danke. Wie meinen?Alternativ kannst du HAL auch direkt über DBus nutzen.
Hab es jetzt halt so gelöst:
Code: Alles auswählen
dvdname = commands.getoutput("hal-get-property --udi `hal-find-by-capability --capability volume.disc` --key info.product").split('\n')
verzeichnis = "/media/film/" + dvdname[0]
if os.path.exists(verzeichnis):
...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Das ist recht hässlich und wird komische Effekte bringen falls 2 DVDs eingelegt sind. Wenn dann würde man in Python beide Befehle einzeln aufrufen: erst die UDI bestimmen, gucken wie viele gefunden worden sind und Fehler behandeln und dann auf ``info.product`` zugreifen.
Oder wie lunar meinte, HAL über DBus befragen, ist warscheinlich eine hübschere Lösung falls man das ``dbus``-Modul vorraussetzen kann.
Oder wie lunar meinte, HAL über DBus befragen, ist warscheinlich eine hübschere Lösung falls man das ``dbus``-Modul vorraussetzen kann.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Sopy_lo hat geschrieben:Yo, ähh Danke. Wie meinen?Alternativ kannst du HAL auch direkt über DBus nutzen.
Das benötigte dbus-Modul sollte es in den Paketquellen deiner Distribution geben, wahrscheinlich unter dem Namen "python-dbus" oder ähnlich.
Falls du die Lösung mit Unterprozessen beibehalten willst, würde ich zumindest das subprocess-Modul nutzen.