#/usr/bin/env python __version__="dev0.4" __author__="AGE" __date__="02004-08-06" import sys import time import myFilms class FilmGUI: """ The frontend for the FilmPseudoDB """ def __init__(self, gtk): self.log = time.asctime() +" the beat starts here..\n" # read config file self.readConfig() # gtk is given, it has to be known in the whole class self.gtk = gtk # define here, which gladefile to use for the frontend # uncomment if you want to use the one from the configfile self.gladefile = "fba.glade" self.filmgui = self.gtk.glade.XML(self.gladefile) # set button handlers, easypeasy -> buttonname:functionname actions = { "on_bu_insertfilm_clicked": self.clicked_insertfilm, "on_bu_apply_files_clicked": self.clicked_apply_files, "on_bu_read_xml_clicked": self.clicked_read_xml, "on_bu_read_joerchs_clicked": self.clicked_read_joerchs, #"on_bu_cancel_clicked": (self.gtk.mainquit), #"on_bu_cancel_clicked": self.exit, "on_window1_destroy_event": self.exit } # connect the actions to special events self.filmgui.signal_autoconnect (actions) # fill some textfields with configdata self.filmgui.get_widget("entry6").set_text(self.htmlfilmlist) self.filmgui.get_widget("entry7").set_text(self.xmlfilmlistin) self.filmgui.get_widget("entry8").set_text(self.xmlfilmlistout) self.filmgui.get_widget("entry10").set_text(self.htmlfilmlist) self.filmgui.get_widget("entry11").set_text(self.xmlfilmlistin) # connect the logwindow self.textview = self.filmgui.get_widget("textview1") self.textbuffer = self.textview.get_buffer() self.textbuffer.set_text(self.log) self.log += "\n"+time.strftime('%H:%M:%S') self.log += "\n\t ___program completely started___\n" self.textbuffer.set_text(self.log) # connect the xml_output_window self.textview2 = self.filmgui.get_widget("textview2") self.textbuffer2= self.textview2.get_buffer() # finally the most important step: create a myFilms object self.mf = myFilms.MyFilms() return # ======================================================= def readConfig(self): """ Get the Configuration from standard config file (see: Preferences) """ import preferences myPrefs = preferences.Preferences() self.gladefile = myPrefs["gladefile"] self.htmlfilmlist = myPrefs["htmlfilmlist"] self.xmlfilmlistin = myPrefs["xmlfilmlistin"] self.xmlfilmlistout = myPrefs["xmlfilmlistout"] self.log += "\n"+time.strftime('%H:%M:%S') self.log += " read config file\n" # ======================================================= def clicked_insertfilm(self, widget): title = self.filmgui.get_widget("entry1").get_text() lang = self.filmgui.get_widget("entry2").get_text() codec = self.filmgui.get_widget("entry3").get_text() cd = self.filmgui.get_widget("entry4").get_text() comment = self.filmgui.get_widget("entry5").get_text() datalist = [title,lang,codec,cd,comment] self.mf.addFilm(datalist) self.mf.saveToXMLFile() self.log += "\n"+time.strftime('%H:%M:%S') self.log += " insert film" self.log += "\n\t\""+title+"\" to: " +self.xmlfilmlistout self.textbuffer.set_text(self.log) self.filmgui.get_widget("entry1").set_text("") #self.filmgui.get_widget("entry2").set_text("") #self.filmgui.get_widget("entry3").set_text("") #self.filmgui.get_widget("entry4").set_text("") #self.filmgui.get_widget("entry5").set_text("") self.textbuffer.set_text(self.log) # ======================================================= def clicked_apply_files(self, widget): self.htmlfilmlist = self.filmgui.get_widget("entry6").get_text() self.xmlfilmlistin = self.filmgui.get_widget("entry7").get_text() self.xmlfilmlistout = self.filmgui.get_widget("entry8").get_text() #self.mf = myFilms.MyFilms(self.xmlfilmlistin) self.mf.setXMLFile(self.xmlfilmlistout) self.mf.fillfromXML() # timeformet likewise 15:47:12 self.log += "\n"+time.strftime('%H:%M:%S') self.log += " set files" self.log += "\n\tjoerch import:\t"+self.htmlfilmlist self.log += "\n\txml import:\t"+self.xmlfilmlistin self.log += "\n\txml export:\t"+self.xmlfilmlistout self.log += "\n" self.textbuffer.set_text(self.log) # ======================================================= def clicked_read_xml(self, widget): xmlstuff = self.xmlfilmlistout + " \n===============================\n" xmlstuff += open(self.xmlfilmlistout).read() self.textbuffer2.set_text(xmlstuff) # ======================================================= def clicked_read_joerchs(self, widget): # debugmode abchecken cb2 = self.filmgui.get_widget("checkbutton2") self.mf.setXMLFile(self.xmlfilmlistout) debugout = self.mf.saveXMLfromJoerchs(self.htmlfilmlist, int(cb2.get_active())) self.log += "\n"+time.strftime('%H:%M:%S') self.log += " joerchs" self.log += "\n\tread html: "+self.htmlfilmlist self.log += "\n\tsaved xml: "+self.xmlfilmlistout self.log += "\n\t"+debugout self.textbuffer.set_text(self.log) # ======================================================= def exit(self, widget): print "geh kacken.." self.gtk.mainquit if __name__ == "__main__": ''' xmlfilmlist = "myFilms.xml" import myFilms mf = myFilms.MyFilms(xmlfilmlist) mf.addFilm() mf.setXMLFile("fee") mf.saveToXMLFile() '''