CapiSuite - Augabe als *.tif - cs_helpers.py
Verfasst: Samstag 31. Januar 2009, 13:52
Hallo liebe Foren Gemeinde,
Weil ich mich mit Python nicht auskenne, und die Gemeinde um die Capisuite leider immer kleiner wird, möchte ich euch um Hilfestellung bitten. Habe bereits mehrer Tage gegoogelt aber nichts verwertbares gefunden
Vorweg:
Capisuite ist ein Programm unter Linux, es ermöglicht das senden und empfangen von Faxen sowie die Einrichtung eines Anrufbeantworters, die Anwendung ist Multi-User fähig.
Entgegengenommene Faxe und Anrufbeantworter Nachrichten verschickt das Programm auf Wunsch per E-Mail.
Dieses klappt soweit auch richtig super...
Problem:
Standardmäßig konvertiert die Capisuite von *.sff -> *.tif -> *.ps -> *.pdf (Die Anweisung zur Konvertierung wird durch die Datei "cs_helpers.py" gegeben.) Somit wird das Fax also als PDF Datei übermittelt, für meine weitere Verwendung würde mir eine TIF Datei gelegener kommen.
Heist ich würde den Konvertierungsvorgang gerne nach dem die TIF Datei erstellt wurde, unterbrechen, und die E-Mail senden
Die entschiedenen Code Zeilen dürfen die Zeilen 168 bis 204 sein:
Wäre klasse wenn mir hier jemand Hilfestellung geben könnte Vielen Dank schon mal im Voraus!
Gruß Phunkybeam
Weil ich mich mit Python nicht auskenne, und die Gemeinde um die Capisuite leider immer kleiner wird, möchte ich euch um Hilfestellung bitten. Habe bereits mehrer Tage gegoogelt aber nichts verwertbares gefunden
Vorweg:
Capisuite ist ein Programm unter Linux, es ermöglicht das senden und empfangen von Faxen sowie die Einrichtung eines Anrufbeantworters, die Anwendung ist Multi-User fähig.
Entgegengenommene Faxe und Anrufbeantworter Nachrichten verschickt das Programm auf Wunsch per E-Mail.
Dieses klappt soweit auch richtig super...
Problem:
Standardmäßig konvertiert die Capisuite von *.sff -> *.tif -> *.ps -> *.pdf (Die Anweisung zur Konvertierung wird durch die Datei "cs_helpers.py" gegeben.) Somit wird das Fax also als PDF Datei übermittelt, für meine weitere Verwendung würde mir eine TIF Datei gelegener kommen.
Heist ich würde den Konvertierungsvorgang gerne nach dem die TIF Datei erstellt wurde, unterbrechen, und die E-Mail senden
Die entschiedenen Code Zeilen dürfen die Zeilen 168 bis 204 sein:
Code: Alles auswählen
def sendMIMEMail(mail_from,mail_to,mail_subject,mail_type,text,attachment):
import email.MIMEBase,email.MIMEText,email.MIMEAudio,email.Encoders,encodings.ascii,smtplib,popen2,capisuite
msg = email.MIMEBase.MIMEBase("multipart","mixed")
msg['Subject']=mail_subject
msg['From']=mail_from
msg['To']=mail_to
msg['Date']=time.strftime('%a, %d %b %Y %H:%M:%S %z')
msg.preamble = 'This is a Multipart-MIME-message. Please use a capable mailer.\n'
msg.epilogue = '' # To guarantee the message ends with a newline
basename=attachment[:attachment.rindex('.')+1]
try:
if (mail_type=="sff"): # normal fax file
# sff -> tif
ret=sfftotiff(attachment,basename+"tif")
if (ret or not os.access(basename+"tif",os.F_OK)):
raise "conv-error","Can't convert sff to tif. sfftobmp not installed?"
# tif -> ps -> pdf
# the first pipe must be handled by the shell so that the output of
# of ps2pdf can be read immediately. Handling this shell in Python
# leads to an overflow of the ps2pdf output pipe...
command="tiff2ps -h11 -H12 -L.5 -w8.5 -a "+escape(basename+"tif")+" | ps2pdf -sPAPERSIZE=a4 - -"
tiff2pdf=popen2.Popen3(command)
if (tiff2pdf.poll()!=-1):
raise "conv-error","Error while calling tiff2ps or ps2pdf. Not installed?"
tiff2pdf.tochild.close() # we don't need the input pipe
# create attachment with pdf stream
filepart = email.MIMEBase.MIMEBase("application","pdf",name=os.path.basename(basename)+"pdf")
filepart.add_header('Content-Disposition','attachment',filename=os.path.basename(basename)+"pdf")
filepart.set_payload(tiff2pdf.fromchild.read())
tiff2pdf.fromchild.close()
ret=tiff2pdf.wait()
if (ret!=0):
raise "conv-error","Error "+str(ret)+" occured during tiff2ps or ps2pdf"
os.unlink(basename+"tif")
email.Encoders.encode_base64(filepart)
Gruß Phunkybeam