Ich muss von der Arbeit aus was automatisieren. Es geht darum, dass wir Messergebnisse via Browser vom Intranet angucken. Nun sollen jedoch diese Messergebnisse (PNG-Bilder) nicht nur angeguckt werden können, sondern auch archiviert werden. Sprich, ich will irgendwie dieses Bildchen mit nem fixen Namen auf der Platte des Server haben, weiss aber nicht wie ich das ohne grossen Aufwand machen soll. Umpipen ist leider fehlgeschlagen, und auch diverse andere Sachen habe ich probiert. Da ich nicht so der Python-Kenner bin, gibts dafür sicher (bzw hoffentlich) ne einfach Lösung
Dies ist das Script, das auch direkt im Browser verlinked ist... Sprich die CGI gibt direkt ein Bild zurück (wohl PNG-Format)
Code: Alles auswählen
#! /bin/bash
. /etc/profile.local
python $CONTROL_CGIDIR/printcal.py $1 $2 $3 $4 $5 $6
Und dies hier nun das eigentlich Script, das wohl auch die Grafik erzeugt.
Code: Alles auswählen
#!/usr/bin/python
import sys
# ***** Change 02.05.2002 START
import posix
xml_inbox=posix.environ['CONTROL_INBOX']
# ***** Change 02.05.2002 END
def usage():
print 'usage: printcal.cgi <cdp_id=8834> <detector=DET1> <date=now> <window=30>'
def Main():
import traceback, sys, string
import obseval
cdp_id=sys.argv[1]
detector=sys.argv[2]
str=string.replace(sys.argv[3],'\\','')
str=string.replace(str,' ','')
date=eval(str)
window=string.atoi(sys.argv[4])
# ***** Change 02.05.2002 START
# cal=obseval.GetCalibration(cdp_id,detector,date,window)
FileName=sys.argv[5]
x=obseval.ParseFile(FileName)
cal=x.GetCalibrationFromXML(detector)
# ***** Change 02.05.2002 END
cal.Plot2D()
if __name__=='__main__':
Main()
Wie gesagt mir gehts darum, dass jedesmal, wenn so ein "Messergebnis" angeguckt wird (sprich das CGI aufgerufen wird), nicht nur das Bild zurückgeliefert wird, sondern auch irgendwo auf der HD abgelegt wird.
Ich hoff mir kann jemadn helfen bitte