#!/usr/bin/env python # -*- coding: utf-8 -*- # 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 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(out_filename, 'wt').write(output) if newdir: os.chdir(olddir) sys.exit(0)