[Python-es] python-ghostscript y espacios en blanco

Hector Garcia hectorogarcia en gmail.com
Jue Abr 18 20:01:08 CEST 2013


El día 18 de abril de 2013 03:52, Martin Maqueira
<martinmaqueira en gmail.com> escribió:
> mirate las funciones:
>
> os.path.realpath
>
> os.path.abspath(path)
>
> os.path.basename(path)
>
> http://docs.python.org/2/library/os.path.html
>
> Creo que te pueden ayudar a simplificar tu codigo.
>
> Saludos
>
>
> El 18 de abril de 2013 10:49, Martin Maqueira <martinmaqueira en gmail.com>
> escribió:
>
>> No lo he probado pero creo que deberias omitir la siguiente linea
>> .(comentala y proba)
>>
>> destino = destino.replace(" ", "\ ")
>>
>>
>> El 18 de abril de 2013 10:47, Martin Maqueira <martinmaqueira en gmail.com>
>> escribió:
>>
>>> primero te ayudo a simplificar algo con glob.glob("*.pdf")  obtienes un
>>> listado de todos los fichero de un directorio.
>>>
>>> Por otro lado las rutas no deberian llevar las barras y los espacios .
>>> Eso se usa en shell pero no en python.
>>>
>>>
<...post original borrado>


Gracias caballeros. respondo en un solo post a las 3 sugerencias:

Tomo nota de glob.glob, para mejora en cuanto quede la compresion
recorriendo uno a uno.

El tema de las barras y espacios, es la última prueba que hice, no me
funcionó ni encerrando las rutas en comillas, o sólo el nombre del
archivo, o sin comillas, o con barras de escape, o sin ellas.

Gracias por el tipo de os.path, especificamente con abspath pude
eliminar ése codigo complicado que me había aventado.

Aún sigue mostrando error ghostscript, pero cuando se llama  desde
python.... ¿que pasaría si...?


Ya funciono!!! Por otro método, pero funcionó:

Me puse a revisar los .py propios de ghostscript, más especificamente
/usr/local/lib/python2.6/dist-packages/ghostscript-0.4.1-py2.6.egg/ghostscript/_gsprint.py

Allí encontré que, no le estaba pasando los 8 parámetros que debería.

Cambié un poco la forma de armar la lista args y, al correr nuevamente
el código, comprimió el primer pdf que encontró :), pero GS marcó
error en otro (Error: /rangecheck in --run--), y python abortó la
ejecución.

Decidí hacer el proceso mas simple:

dejé de lado python-ghostscript y llamé directamente a ghostscript
desde subprocess.Popen. Funciona de maravilla.

El PDF que marcó error antes, está corrupto. Aún dispara el error de
GS, pero python simplemente continúa el ciclo.

Una cosa que me llama la atención: una vez que termina python con el
recorrido completo, termina, pero GS sigue corriendo. Cuando éste
termina, se queda como esperando una instrucción, cuando le doy ENTER,
ya me regresa al prompt. Considero éste y el tema anterior como
peccata minuta, y ya iré depurando. Por el momento, voy a correr una
prueba con los archivos de producción, a ver como me va.

Vuelvo a poner el código corregido.
http://pastebin.com/W1GwzRHh


Gracias de nuevo.

Saludos cordiales







--
Hector
--
El Pic no pudo Iniciar correctamente.
Inserte el disco de arranque y presione cualquier pin para continuar...

Linux Registered User #467500
https://linuxcounter.net/user/467500.html


Más información sobre la lista de distribución Python-es