nach mehr oder weniger langer zeit habe ich wiedermal IDLE angeschmissen.
dank eurem forum hier bin ich auch schon mit dem rohbau fertig :)
ich poste am besten mal den kompletten code, ihr dürft ihn gerne ausprobieren (das bild das gedownloadet wird ist etwa 90kb, es kann aber jedes x-beliebige bild angegeben werden in der konfig.
bei folgendem komme ich nicht weiter:
da ich nicht 2mal das gleiche bild downloaden will, muss ich die letzte datei in meinem lokalen speicher-ordner und die remote-datei auf ihr letztes änderungsdatum überprüfen. falls die gleich sind sollte das script abgebrochen werden logischerweise.
und der status text wird jeweils immernur am schluss komplett angezeigt, und nicht zeile für zeile sobalds weitergeht.
die docu ist zwar cool, aber als anfänger doch recht schwer nachzuvollziehen.
Code: Alles auswählen
#! /usr/bin/env python
# -*- coding: cp1252 -*-
from Tkinter import *
from ScrolledText import *
import httplib
from time import gmtime, strftime
###########################################################################
# modul : soho.py
# version : 0.2
# autor : arT2 (tripz.ch)
# python : Python 2.3 (#46, Jul 29 2003, 18:54:32)
#
# primär habe ich dieses kleine script programmiert um es mehrmals
# täglich per taskmanager zu starten um jeweils das aktuelle bild von [1]
# nicht jedesmal manuell downloaden zu müssen. leider bin ich noch kein
# python profi. man kann unter umständen das ganze also noch vereinfachen
# oder besser machen. in diesem falle bitte ich um eine email!
#
# [1]: http://sohowww.nascom.nasa.gov/data/realtime/eit_304/
#
# To-Do:
# - lokaler dateiname aus dem änderungsdatum der remote datei.
# - überprüfung der letzten dateiänderung (remote datei).
# - fehler meldungen.
# - status text in "real-time" anzeigen und nicht erst alles am schluss.
###########################################################################
### KONFIGURATION ####
# remote datei:
host = "sohowww.nascom.nasa.gov" # ohne http://
path = "/data/realtime/eit_304/1024/" # am start+ende ein slash!
file = "latest.gif" # dateiname mit dateiendung
# lokal zu speichernde datei:
output_fn = strftime("%Y-%m-%d_%H-%M", gmtime()) # dateiname
output_ft = "gif" # dateiendung
output_path = "C:/TEMP" # speicher pfad
### SCRIPT ###
def get_soho():
""" connect """
status_text.delete("1.0", END)
status_text.insert(END, "verbinden mit: " + host + "\n")
conn = httplib.HTTPConnection(host)
status_text.insert(END, "verbunden.\n\n")
""" request image """
status_text.insert(END, "datei " + file + " suchen in: " + path + "\n")
conn.request("GET", path + file)
statusmsg = conn.getresponse()
status_text.insert(END, "datei " + file + " gefunden.\n\n")
""" compare last local and latest remote file """
# ???
""" create output file """
status_text.insert(END, "datei " + file + " downloaden/speichern nach: " + output_path + "/\n")
f = open(output_path + "/" + output_fn + "." + output_ft, "wb")
""" save output file """
if statusmsg.reason == "OK":
f.write(statusmsg.read())
status_text.insert(END, "datei " + file + " gespeichert als " + output_fn + "." + output_ft)
conn.close()
f.close()
def get_about():
about_text = """
SOHO? SOHO!!
http://sohowww.nascom.nasa.gov\n
script by: arT2
questions? mail@tripz.ch"""
status_text.delete("1.0", END)
status_text.insert(END, about_text)
### INFO FENSTER ###
root = Tk()
root.title("SOHO RULES! :)")
status_text = ScrolledText(width=80, height=10)
status_text.pack()
exit_button = Button(root, text="exit", command=root.quit)
exit_button.pack(side=RIGHT)
about_button = Button(root, text="about", command=get_about)
about_button.pack(side=RIGHT)
dl_button = Button(root, text="download", command=get_soho)
dl_button.pack(side=RIGHT)
root.mainloop()
danke für's durchlesen :)