143 lines
5.1 KiB
Python
143 lines
5.1 KiB
Python
#/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()
|
|
'''
|