ich bin leider noch absoluter Einsteiger was Python angeht.
Ich habe jetzt ein Problem wo ich schon seit mehreren Tagen fest sitze.
Ich habe ein Programm was die Informationen von einer Serie aus dem Internet als XML datei bekommt und dann die Datei parsed.
Das funktioniert auch soweit alles ganz gut wenn ich die URL fest in einer Variable habe.
Aber sobald ich die Variable ändere passiert gar nichts.
Alle Label haben noch die alten Werte und änder nichts.
Ich habe es auch schon als Funktion probiert und die URL mit übergeben aber das brachte auch nichts.
Wäre schön wenn ihr mal drüber schauen könntet und mir vieleicht weiter helfen könnt.
Code: Alles auswählen
from Tkinter import *
from gtk._gtk import SIDE_LEFT
from xml.dom.minidom import parse
import xml.dom.minidom
import urllib
import tkMessageBox
import Tkinter
proxies = {'http': ''}
contents = urllib.urlopen('http://thetvdb.com/api/F90A595BC96913C9/series/281662/all/de.xml', proxies=proxies)
DOMTree = xml.dom.minidom.parse(contents)
Data = DOMTree.documentElement
def suchen():
#contents = e1.get()
contents = urllib.urlopen('http://thetvdb.com/api/F90A595BC96913C9/series/78804/all/de.xml', proxies=proxies)
DOMTree = xml.dom.minidom.parse(contents)
Data = DOMTree.documentElement
html=contents.read()
print html
#e2.get()
#DOMTree = xml.dom.minidom.parse(contents)
# Data = DOMTree.documentElement
#if Data.hasAttribute("SeriesName"):
# print "Root element : %s" % Data.getAttribute("SeriesName")
def senden():
i = 1
while i < r:
#print "Episode "+str(i)+" Auswahl:"+str(self.group_alle[i].get())
print liste[i]
dateiname = "Group "+str(i)+" selection:"+str(group_alle[i].get())
#datei = file(liste[i]+".txt",'w')
#datei.write('<discstub>\n')
#datei.write(" <title>"+str(liste[i])+"</title>\n")
#datei.write(" <message>Bitte "+str(ausgabe_serienname)+" Season "+str(ausgabe_season[i])+" DVD"+str(group_alle[i].get())+" einlegen</title>\n")
#datei.write('</discstub>\n')
#datei.write("Epsiode ist auf DVD"+str(self.group_alle[i].get()))
datei.close()
i = i +1
tkMessageBox.showinfo('senden','Dateien wurden geschrieben')
def hauptseite(contents):
if Data.hasAttribute("SeriesName"):
print "Root element : %s" % Data.getAttribute("SeriesName")
group_1 = IntVar()
group_2 = IntVar()
group_alle = {}
Label(master, text="Serienname").grid(row=0, column=0,sticky=E)
Label(master, text="Serien ID").grid(row=1, column=0, sticky=E)
e1 = Entry(master)
e2 = Entry(master)
global e1
global e2
e1.grid(row=0, column=1, columnspan=2, sticky=W)
e2.grid(row=1, column=1, columnspan=2, sticky=W)
Button(master, text="suchen",command=suchen).grid(row=0, column=3, rowspan=2, columnspan=2)
Button(master, text="erstellen",command=senden).grid(row=0, column=6, rowspan=2, columnspan=2)
serienname = Data.getElementsByTagName("Series")
SeriesName = Data.getElementsByTagName('SeriesName')[0]
print "SeriesName: %s" % SeriesName.childNodes[0].data
ausgabe_serienname = SeriesName.childNodes[0].data
serien = Data.getElementsByTagName("Episode")
global r
r = IntVar()
r = 1
liste = {}
ausgabe_season = {}
for episode in serien:
EpisodeName = episode.getElementsByTagName('EpisodeName')[0]
EpisodeNumber= episode.getElementsByTagName('EpisodeNumber')[0]
Combined_season= episode.getElementsByTagName('Combined_season')[0]
FirstAired= episode.getElementsByTagName('FirstAired')[0]
ausgabe_season[r]= Combined_season.childNodes[0].data
episodennummer = EpisodeNumber.childNodes[0].data
if int(episodennummer) < 10:
labeltextepisode= "%s - S0%sE0%s - %s" % (SeriesName.childNodes[0].data, Combined_season.childNodes[0].data, EpisodeNumber.childNodes[0].data, EpisodeName.childNodes[0].data)
liste[r]= "%s - S0%sE0%s - %s" % (SeriesName.childNodes[0].data, Combined_season.childNodes[0].data, EpisodeNumber.childNodes[0].data, EpisodeName.childNodes[0].data)
else:
labeltextepisode= "%s - S0%sE%s - %s" % (SeriesName.childNodes[0].data, Combined_season.childNodes[0].data, EpisodeNumber.childNodes[0].data, EpisodeName.childNodes[0].data)
liste[r]= "%s - S0%sE%s - %s" % (SeriesName.childNodes[0].data, Combined_season.childNodes[0].data, EpisodeNumber.childNodes[0].data, EpisodeName.childNodes[0].data)
Label(master, text=labeltextepisode).grid(row=r+2,sticky=W,column=0,columnspan=4)
gruppenname="group_"+str(r)
master.gruppenname = IntVar()
group_alle[r] = IntVar()
Radiobutton(master, text="DVD 1",indicatoron = 0, variable=group_alle[r], value=1).grid(row=r+2,column=5)
Radiobutton(master, text="DVD 2",indicatoron = 0, variable=group_alle[r], value=2).grid(row=r+2,column=6)
Radiobutton(master, text="DVD 3",indicatoron = 0, variable=group_alle[r], value=3).grid(row=r+2,column=7)
Radiobutton(master, text="DVD 4",indicatoron = 0, variable=group_alle[r], value=4).grid(row=r+2,column=8)
Radiobutton(master, text="DVD 5",indicatoron = 0, variable=group_alle[r], value=5).grid(row=r+2,column=9)
Radiobutton(master, text="DVD 6",indicatoron = 0, variable=group_alle[r], value=6).grid(row=r+2,column=10)
Radiobutton(master, text="DVD 7",indicatoron = 0, variable=group_alle[r], value=7).grid(row=r+2,column=11)
Radiobutton(master, text="DVD 8",indicatoron = 0, variable=group_alle[r], value=8).grid(row=r+2,column=12)
r = r + 1
if __name__ == '__main__':
master = Tk()
master.title("Media Stub Generator")
hauptseite(contents)
mainloop()
#######################
Eine etwas einfachere Testanwendung die nur den Seriennamen zurückgeben soll
from Tkinter import *
from gtk._gtk import SIDE_LEFT
from xml.dom.minidom import parse
import xml.dom.minidom
import urllib
import tkMessageBox
import Tkinter
proxies = {'http': ''}
global proxies
def suchen():
#contents = e1.get()
contents = urllib.urlopen('http://thetvdb.com/api/F90A595BC96913C9/series/78804/all/de.xml', proxies=proxies)
#e2.get()
#DOMTree = xml.dom.minidom.parse(contents)
# Data = DOMTree.documentElement
#if Data.hasAttribute("SeriesName"):
# print "Root element : %s" % Data.getAttribute("SeriesName")
html = contents.read()
#Label.configure(master, text="SeriesName: %s" % SeriesName.childNodes[0].data)
print html
hauptseite(contents = urllib.urlopen('http://thetvdb.com/api/F90A595BC96913C9/series/78804/all/de.xml', proxies=proxies))
def hauptseite(contents = urllib.urlopen('http://thetvdb.com/api/F90A595BC96913C9/series/281662/all/de.xml', proxies=proxies)):
#master = Tk()
#master.title("Media Stub Generator")
Button(master, text="suchen",command=suchen).grid()
#contents = urllib.urlopen('http://thetvdb.com/api/F90A595BC96913C9/series/281662/all/de.xml', proxies=proxies)
#contents = urllib.urlopen('http://thetvdb.com/api/F90A595BC96913C9/series/78804/all/de.xml', proxies=proxies)
DOMTree = xml.dom.minidom.parse(contents)
Data = DOMTree.documentElement
if Data.hasAttribute("SeriesName"):
print "Root element : %s" % Data.getAttribute("SeriesName")
serienname = Data.getElementsByTagName("Series")
SeriesName = Data.getElementsByTagName('SeriesName')[0]
print "SeriesName: %s" % SeriesName.childNodes[0].data
Label(master, text="SeriesName: %s" % SeriesName.childNodes[0].data).grid()
ausgabe_serienname = SeriesName.childNodes[0].data
serien = Data.getElementsByTagName("Episode")
mainloop()
if __name__ == '__main__':
master = Tk()
master.title("Media Stub Generator")
hauptseite()