Hallo
ausgehend von diesem Thread http://forum.ubuntuusers.de/topic/pdf-d ... n-pdf2mp3/ im UU-Forum und diesem http://media.cdn.ubuntu-de.org/forum/at ... 17/pdf2mp3 original Skript, habe ich mich mal versucht das Skript zu überarbeiten.Habe diverse os.popen und os.system aufrufe durch subprocess bzw. durch Python Bordmittel ersetzt.Würde jetzt gerne ein oder zwei Meinungen dazu hören ob man das Skript so auf die Menschheit los lassen kann.
Gruß....busfahrer
Hier der Link zum überarbeiteten Skript -> http://www.python-forum.de/pastebin.php?mode=view&s=88
pdf2mp3
Ich würde ein wenig zusammenstampfen:
Vielleicht noch hier und dort ein paar Konstanten.
Natürlich alles ungetestet.
Code: Alles auswählen
def main():
...
result = convert(options.file, options.output)
if result is not None:
print result
return 2
def convert(filename_inp, filename_out):
if not os.path.isfile(filename_inp):
return '*** input file %s does not exist ***' % filename_inp
extension_out = os.path.splitext(filename_out)[1]
if extension_out not in('.wav', '.mp3'):
return 'please decide whether you want wav or mp3 format by \
typing -o filename.wav or -o filename.mp3'
extension = os.path.splitext(filename_inp)[1]
if extension not in('.dat', '.txt', '.pdf')
return '*** input file does not have extension (.txt, .dat, .pdf) ***'
if extension == '.pdf':
print 'converting pdf file: %s to ASCII' % filename_inp
pdf_convert_to_ascii(filename_inp)
filename_inp = "%s.txt" % filename_inp[:-len(extension)]
convert_to_wav(filename_inp, filename_out, options.voice)
if extension_out == '.mp3':
convert_wav_2_mp3(filename_out)
Natürlich alles ungetestet.
Das Leben ist wie ein Tennisball.
Hallo
vielen Dank @EyDu für deine Anregungen.Habe mal versucht sie umzusetzen und das ist dabei raus gekommen.Wäre nett wenn da noch mal jemand drüber schaut.
Skript -> http://www.python-forum.de/pastebin.php?mode=view&s=89
Gruß...busfahrer
vielen Dank @EyDu für deine Anregungen.Habe mal versucht sie umzusetzen und das ist dabei raus gekommen.Wäre nett wenn da noch mal jemand drüber schaut.
Skript -> http://www.python-forum.de/pastebin.php?mode=view&s=89
Gruß...busfahrer
Alles wird gut ;-)
Das Spiel mit den Exceptions bereitet mit noch große Schwierigkeiten Ansonsten könnte man das Skript so auf die Menschheit los lasse?EyDu hat geschrieben:Man könnte statt den "return"s in "convert" auch Ausnahmen werfen.
Gruß...busfahrer
P.s.: Ich wäre dir natürlich auch nicht böse, wenn du mir für so eine Ausnahme ein kleines Beispiel geben würdest
Alles wird gut ;-)
ohne das ich dein Skript im Detail angesehen habe, hätte ich noch eine kleine Anpassung im folgenden Codeteil:
was ist wenn lame nicht installiert ist, oder die Konvertierung fehlschlägt. Dann wird die .wav Datei einfach gelöscht. Nicht unbedingt ein Benutzerfreundliches verhalten, imho.
Code: Alles auswählen
def convert_wav_2_mp3(filename_out):
call(['lame', '-f', filename_out[:-4] + '.wav', filename_out[:-4] + '.mp3'])
os.remove(filename_out[:-4] + '.wav')
Hallo
das ``lame`` nicht installiert ist sollte so Gott will nicht passieren, da die Abhängigkeiten des Skripts im Skript selbst erwähnt werden.Ansonsten hab ich diesen Teil jetzt so geändert
Gruß...busfahrer
das ``lame`` nicht installiert ist sollte so Gott will nicht passieren, da die Abhängigkeiten des Skripts im Skript selbst erwähnt werden.
Code: Alles auswählen
# LIST OF PACKAGES NEEDED:
# you need to install the following packages:
# sudo apt-get install python poppler-utils festival festvox-rablpc16k
# lame espeak
Code: Alles auswählen
def convert_wav_2_mp3(filename_out):
retcode = call(['lame', '-f', filename_out[:-4] + '.wav',
filename_out[:-4] + '.mp3'])
if retcode == 0:
print 'Datei %s wurde erfolgreich erstellt'% filename_out
os.remove(filename_out[:-4] + '.wav')
Alles wird gut ;-)