Esempio n. 1
0
 def wijzigdetails(self):
     if self.edit and self.fout == "":
         #------ song wijzigen in songs.xml
         sh = Song(self.songid)
         sh.songtitel = self.songtitel
         sh.auteur = self.auteurval
         sh.maker = self.makerval
         sh.datering = self.datering
         if self.commentaar != "":
             sh.commentaar = self.commentaar
         sh.write()
     fnaam = songtitel = auteurval = auteur = makerval = maker = ""
     datering = commentaar = ""
     auteurkey, auteurnaam, makerkey, makernaam = [], {}, [], {}
     #   tabellen inlezen t.b.v. selectievakjes
     try:
         lh = ItemList('tekst')
     except DataError as meld:
         self.fout, = meld
     else:
         auteurkey = list(lh.lijst.keys())
         auteurkey.sort()
         auteurnaam = lh.lijst
     try:
         lh = ItemList('muziek')
     except DataError as meld:
         self.fout, = meld
     else:
         makerkey = list(lh.lijst.keys())
         makerkey.sort()
         makernaam = lh.lijst
     #   lees de gegevens van de opgegeven song
     sh = Song(self.songid)
     sh.read()
     if sh.found:
         songtitel = sh.songtitel
         auteurval = str(sh.auteur)
         auteur = str(sh.tekst_van)
         makerval = str(sh.maker)
         maker = str(sh.muziek_van)
         datering = sh.datering
         fnaam = sh.url
         commentaar = sh.commentaar
     with open(os.path.join(htmlpad, "wijzigdetail.html")) as f_in:
         for x in f_in:
             x = x.rstrip()
             if 'Tekst van:' in x:
                 typesel = "tekst"
             elif 'Muziek van:' in x:
                 typesel = "muziek"
             if "%s" in x:
                 if "stylesheet" in x:
                     self.regels.append(x % httproot)
                 elif "Terug naar hoofdmenu" in x:
                     self.regels.append(x % http_cgipad)
                 elif "Terug naar overzicht" in x:
                     self.regels.append(x % (http_cgipad, str(self.songid)))
                 elif "Terug naar lijst" in x or "form action" in x:
                     self.regels.append(x % http_cgipad)
                 elif 'Details van song:' in x:
                     self.regels.append(x % str(self.songid))
                 elif "option %s" in x:
                     if typesel == "tekst":
                         for i in auteurkey:
                             h = ""
                             if i == auteurval:
                                 h = 'selected="selected" '
                             self.regels.append(x %
                                                (h, i, auteurnaam[i][0]))
                     elif typesel == "muziek":
                         for i in makerkey:
                             h = ""
                             if i == makerval:
                                 h = 'selected="selected" '
                             self.regels.append(x % (h, i, makernaam[i][0]))
                 elif "Titel:" in x:
                     self.regels.append(x % songtitel)
                 elif "Datering:" in x:
                     self.regels.append(x % datering)
                 elif "Opmerkingen :" in x:
                     self.regels.append(x % commentaar)
                 elif "<h4>" in x:
                     if self.fout == "geensong":
                         self.regels.append(x % "Geen song-id opgegeven")
                     elif self.fout == "geentitel":
                         self.regels.append(
                             x %
                             "Wijzigen niet mogelijk: geen songtitel opgegeven"
                         )
                     elif self.fout == "geendatum":
                         self.regels.append(
                             x %
                             "Wijzigen niet mogelijk: geen datering opgegeven"
                         )
                     elif self.fout != "":
                         self.regels.append(x % self.fout)
             else:
                 self.regels.append(x)