Implementierte Skripte

Zope-interne Python-Skripte

Zope-externe Python-Skripte - External Methods

External Methods "genPNG", "genGZ" und "genPDF"

Die externen Python-Methoden genPNG, genGZ und genPDF sind Helfer-Methoden, die an den Prozessen des Faxrotierens und Faxwiederherstellens beteiligt sind. Der Quellcode dieser Methoden befindet sich in der Datei libRotate.py unter /usr/local/Zope/Extensions/. In diesen Methoden sind Teilaufgaben des Rotations- bzw. Wiederherstellungsprozesses ausgegliedert.

Die Methode genPNG repräsentiert die Funktion genPNG() im File libRotate.py und generiert aus dem ursprünglichen TIFF-File die einzelnen PNG-Dateien, welche für die Browseransicht eines Faxes benötigt werden.

Methoden-Aufruf und Übergabe-Parameter:

genPNG(file,ctx)

Die Methode genGZ repräsentiert die Funktion genGZ() im File libRotate.py und generiert aus dem ursprünglichen TIFF-File ein PS-Dokument, welches für die spätere Erzeugung eines PDF-Dokumentes benötigt wird, und ein GZ-Archiv, welches dieses PS-Dokument enthält. Das GZ-Archiv enthält immer das ursprüngliche PS-File (generiert aus dem originalen tiff-File).

Methoden-Aufruf und Übergabe-Parameter:

genGZ(file,ctx)

  • file - tiff-File-Objekt in Zope

  • ctx - Kontext des tiff-File-Objekt in Zope (Ordner in dem tiff-File liegt)

Der Rückgabewert der Funktion ist ein String-Buffer, welcher die Daten des PS-Files enthält.

Die Methode genPDF repräsentiert den Aufruf der Methode rwpopen() im File libRotate.py mit dem Kommando ps2pdf13 (und speziellen Argumenten) als Übergabeparameter. Die Methode rwpopen() ist eine Lösung zum deadlock-freien Absetzen von Systemaufrufen (z.B. Kommandozeilen-Tools), bei denen man Daten auf Standardeingabe schreiben und das Ergebnis von Standardausgabe lesen kann. Als Übergabeparameter verlangt die Funktion einen Kommando-String, eine Liste von Argumenten (wobei das erste Listenelement nochmals das Kommando sein muss) und die Daten (in einem StringIO-Objekt), welche auf Standardeingabe geschrieben werden sollen.

Methoden-Aufruf und Übergabe-Parameter:

genPDF(COMMAND,ARGS,input)

  • COMMAND - Kommandozeilen-Aufruf (string)

  • ARGS - Liste von Argumenten (Liste)

  • input - Daten für Standardeingabe (StringIO-Objekt)