X-Git-Url: http://git.auf.org/?p=progfou.git;a=blobdiff_plain;f=nautilus-scripts%2FConversion%20PDF%20vers%20texte;h=910f22affa7147b8733d6ba7bb45cb173bb98400;hp=15673a28149d4b660b346c8d18b29c84290d1736;hb=8b2df3bb7b8bd1cef5635c7725aee8049bab8b6d;hpb=ec45958d9385c90d39d2c75404c3eb077bdc9f0d diff --git a/nautilus-scripts/Conversion PDF vers texte b/nautilus-scripts/Conversion PDF vers texte index 15673a2..910f22a 100755 --- a/nautilus-scripts/Conversion PDF vers texte +++ b/nautilus-scripts/Conversion PDF vers texte @@ -1,21 +1,33 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Debian-Depends: poppler-utils (pdftotext) +# Copyright © 2014 AUF +# Licence: GPL-2 +# Author: Progfou +# Created: 2014-01-31 +# Debian-Depends: python (>= 2.6), poppler-utils (pdftotext) import sys +import os +import os.path from subprocess import Popen, PIPE -if len(sys.argv) < 2: - sys.exit(0) - -for filename in sys.argv[1:]: - olddir = os.getcwd() - os.chdir(os.path.dirname(filename)) +for filename in os.getenv("NAUTILUS_SCRIPT_SELECTED_FILE_PATHS", "").split("\n"): + newdir = os.path.dirname(filename) + if newdir: + olddir = os.getcwd() + os.chdir(newdir) filename = os.path.basename(filename) + root, ext = os.path.splitext(filename) + # FIXME: vérifier plutôt le type MIME + if ext.lower() != ".pdf": + continue + # conversion + out_filename = root + ".txt" p1 = Popen(["/usr/bin/pdftotext", filename, "-"], stdout=PIPE) p2 = Popen(["/bin/sed", "-e", "s|\t\r  | |g;s|-­‐|–|g;s| \+| |g"], stdin=p1.stdout, stdout=PIPE) p1.stdout.close() # Allow p1 to receive a SIGPIPE if p2 exits. output = p2.communicate()[0] - file(filename + '.txt', 'wt').write(output) - os.chdir(olddir) + file(out_filename, 'wt').write(output) + if newdir: + os.chdir(olddir) sys.exit(0)