示例#1
0
 def __init__(self, itemlist, searchlist):
     self.list_artiest = self.list_titel = self.list_label = self.list_jaar = \
     self.list_producer = self.list_credits = self.list_bezetting = False
     for z in itemlist:
         if z == "artiest":
             self.list_artiest = True
         if z == "titel":
             self.list_titel = True
         if z == "label":
             self.list_label = True
         if z == "jaar":
             self.list_jaar = True
         if z == "producer":
             self.list_producer = True
         if z == "credits":
             self.list_credits = True
         if z == "bezetting":
             self.list_bezetting = True
     self.sel_alles = self.sel_artiest = self.sel_titel = self.sel_label = \
     self.sel_jaar = self.sel_producer = self.sel_credits = \
     self.sel_bezetting = False
     self.zoek_artiest = self.zoek_titel = self.zoek_label = self.zoek_jaar = \
     self.zoek_producer = self.zoek_credits = self.zoek_bezetting = ""
     if searchlist == None:
         self.sel_alles = True
     else:
         if 'artiest' in searchlist:
             self.sel_artiest = True
             self.zoek_artiest = searchlist['artiest'].upper()
         if 'titel' in searchlist:
             self.sel_titel = True
             self.zoek_titel = searchlist['titel'].upper()
         if 'label' in searchlist:
             self.sel_label = True
             self.zoek_label = searchlist['label'].upper()
         if 'jaar' in searchlist:
             self.sel_jaar = True
             self.zoek_jaar = searchlist['jaar'].upper()
         if 'producer' in searchlist:
             self.sel_producer = True
             self.zoek_producer = searchlist['producer'].upper()
         if 'credits' in searchlist:
             self.sel_credits = True
             self.zoek_credits = searchlist['credits'].upper()
         if 'bezetting' in searchlist:
             self.sel_bezetting = True
             self.zoek_bezetting = searchlist['bezetting'].upper()
     self.items = []
     self.titel = self.label = self.jaar = self.volgnr = ""
     self.producer = self.credits = self.bezetting = self.opname = ""
     self.in_titel = self.in_label = self.in_jaar = self.in_volgnr = False
     self.in_producer = self.in_credits = self.in_bezetting = False
     self.artiesten = {}
     for x in artiestenlijst():
         self.artiesten[x[0]] = x[1]
示例#2
0
def lees_artiesten():
    """lees de artiestentabel
    """
    ids = []
    namen = []
    sortkeys = []
    for id, naam, sortkey in artiestenlijst():
        ids.append(id)
        namen.append(naam)
        sortkeys.append(sortkey)
    return ids, namen, sortkeys
示例#3
0
def start(meld):
    regels = []
    with open("%sstart.html" % globals.htmlpad) as fh:
        for x in fh:
            x = x.rstrip()
            xh = x.split()
            if xh[0] == "<!--":
                if xh[1] == "kop":
                    regels += globals.kop("start")
                elif xh[1] == "artiest":
                    for y in artiestenlijst():
                        regels.append(" ".join(xh[-3:-1]) % (y[0], y[1]))
                elif xh[1] == "fout":
                    regels.append(" ".join(xh[-4:-1]) % meld)
            else:
                regels.append(x)
    return regels
示例#4
0
 def __init__(self, args):
     ## self.regels = [str(args)]
     ## return
     edit = args.get("editEntry", None)
     self.sel_id = args.get("selId", '0')
     self.after_id = args.get("afterId", '0')
     self.sortval = args.get("sSort", '')
     if edit is None:
         raise Fout("Geen edit-mode (editEntry) opgegegeven")
         return
     self.regels = []
     herhaal = False
     with open(os.path.join(globals.htmlpad, "artiesten.html")) as _in:
         for x in _in:
             x = x.rstrip()
             if x == '<!-- kop -->':
                 self.regels.extend(globals.kop('artiest'))
             elif herhaal:
                 self.herh_regels.append(x)
                 if x.lstrip() == "</tr>":
                     herhaal = False
                     if edit and self.sel_id == '0':
                         self.maakregel('0', edit=True)
                         self.edit = False
                     for y in artiestenlijst():
                         if edit:
                             if y[0] == self.sel_id:
                                 self.maakregel(y, edit=True)
                             else:
                                 self.maakregel(y)
                                 if y[0] == self.after_id:
                                     self.maakregel('0', edit=True)
                         else:
                             self.maakregel(y)
             elif x.lstrip() == "<tr>":
                 herhaal = True
                 self.herh_regels = [x]
             elif "stylesheet" in x:
                 self.regels.append(x % globals.cssfile)
             elif "hNieuw" in x:
                 self.regels.append(x % globals.cgipad)
             else:
                 self.regels.append(x)
示例#5
0
 def __init__(self, itemlist, searchlist):
     self.list_artiest = self.list_locatie = self.list_datum = \
     self.list_bezetting = False
     for z in itemlist:
         if z == "artiest":
             self.list_artiest = True
         if z == "locatie":
             self.list_locatie = True
         if z == "datum":
             self.list_datum = True
         if z == "bezetting":
             self.list_bezetting = True
     self.sel_alles = self.sel_artiest = self.sel_locatie = \
     self.sel_datum = self.sel_bezetting = False
     self.zoek_artiest = self.zoek_locatie = self.zoek_datum = \
     self.zoek_bezetting = ""
     if searchlist == None:
         self.sel_alles = True
     else:
         if 'artiest' in searchlist:
             self.sel_artiest = True
             self.zoek_artiest = searchlist['artiest'].upper()
         if 'locatie' in searchlist:
             self.sel_locatie = True
             self.zoek_locatie = searchlist['locatie'].upper()
         if 'datum' in searchlist:
             self.sel_datum = True
             self.zoek_datum = searchlist['datum'].upper()
         if 'bezetting' in searchlist:
             self.sel_bezetting = True
             self.zoek_bezetting = searchlist['bezetting'].upper()
     self.items = []
     self.in_locatie = self.in_datum = self.in_bezetting = False
     self.locatie = self.datum = self.bezetting = ""
     self.artiesten = {}
     for x in artiestenlijst():
         self.artiesten[x[0]] = x[1]
示例#6
0
 def maakregels(self):
     with open("%sselect.html" % globals.htmlpad) as fh:
         in_form = False
         for x in fh:
             x = x.rstrip()
             if in_form:
                 if x.startswith("<!--"):
                     continue
                 formregels.append(x)
                 if "</form" in x:
                     in_form = False
                     for y in self.itemlist:  # y[0] is de sleutelwaarde
                         if self.albumtype == "studio":
                             if self.sorteren == 'opname' and self.selecteren == 'opname':  #        lh.Items bestaat uit id, artiest, titel en loc
                                 h = ('%s: %s - %s' % (y[3], y[1], y[2]))
                             else:
                                 if self.selecteren == 'opname':  #        lh.Items bestaat uit id, artiest, titel en loc
                                     h = ('%s - %s (%s)' %
                                          (y[1], y[2], y[3]))
                                 else:  #        fl.Items bestaat uit id, artiest en titel
                                     h = ('%s - %s' % (y[1], y[2]))
                         if self.albumtype == "live":
                             if self.sorteren == 'opname' and self.selecteren == 'opname':  #        lh.Items bestaat uit id, artiest, titel en loc
                                 h = ('%s: %s - %s, %s' %
                                      (y[4], y[1], y[2], y[3]))
                             else:
                                 if self.selecteren == 'opname':  #        lh.Items bestaat uit id, artiest, titel en loc
                                     h = ('%s - %s, %s (%s)' %
                                          (y[1], y[2], y[3], y[4]))
                                 else:  #        fl.Items bestaat uit id, artiest en titel
                                     h = ('%s - %s, %s' %
                                          (y[1], y[2], y[3]))
                         self.regels.append(formregels[0] % globals.cgipad)
                         self.regels.append(formregels[1] % h)
                         self.regels.append(formregels[2] % y[0])
                         self.regels.append(formregels[3] % self.albumtype)
                         self.regels.append(formregels[4] % self.selecteren)
                         if self.selecteren == "artiest":
                             self.regels.append(formregels[5] %
                                                self.onthouden_zoektekst)
                         else:
                             self.regels.append(formregels[5] %
                                                self.zoektekst)
                         self.regels.append(formregels[6] % self.sorteren)
                         self.regels.append(formregels[7])
                         self.regels.append(formregels[8])
             elif "<form" in x:
                 formregels = [x]
                 in_form = True
             elif x == "<!-- kop -->":
                 for x in globals.kop("select"):
                     self.regels.append(x)
             elif x == "<!-- selectie -->":
                 if self.albumtype == "studio":
                     h = '  Lijst studio-albums'
                 if self.albumtype == 'live':
                     h = '  Lijst concert-opnames'
                 if self.selecteren == '':
                     h = h + ': geen selectie'
                 else:
                     if self.selecteren == "artiest":
                         h += ': selectie op %s "%s"' % (self.selecteren,
                                                         self.zoektekst)
                     else:
                         h += ': selectie op %s: "%s"' % (
                             self.selecteren,
                             self.selection[self.selecteren])
                 if self.sorteren == 'geen':
                     h += "; geen sortering"
                 else:
                     h += '; sortering op %s' % self.sorteren
                 self.regels.append(h)
             elif x == "<!-- selArtiest -->" and self.selecteren == 'artiest':
                 self.regels.append(startform)
                 for y in artiestenlijst():
                     self.regels.append(optiontext % (y[0], y[1]))
                 self.regels.append(endselect)
                 self.regels.append(
                     hidden_inputs %
                     (self.albumtype, self.selecteren, self.sorteren))
                 self.regels.append(endform)
             elif "hType" in x:
                 self.regels.append(x % self.albumtype)
             elif "hZoek" in x:
                 self.regels.append(x % self.selecteren)
             elif "hSort" in x:
                 self.regels.append(x % self.sorteren)
             else:
                 self.regels.append(x)
         self.regels.insert(0, '')
示例#7
0
    def toon(self, nieuw=False):
        self.regels = []
        if self.albumtype == 'studio':
            ih = Album(self.id)
            fnaam = "detail.html"
        elif self.albumtype == 'live':
            ih = Concert(self.id)
            fnaam = "detail_live.html"
        else:
            self.regels.append(fouttekst % "Geen albumtype opgegeven")
            return
        if not nieuw:
            ih.read()
            if not ih.found:
                self.regels.append(fouttekst % "Album-gegevens niet aanwezig")
                return
        artiestid = ih.artiestid
        artiest = ih.artiest
        titel = label = jaar = volgnr = producer = credits = locatie = datum = ""
        itemlist = []
        if self.albumtype == 'studio':
            titel = ih.titel
            label = ih.label
            jaar = ih.jaar
            volgnr = ih.volgnr
            producer = ih.producer
            credits = ih.credits
            itemlist = albumlist(['artiest', 'titel'],
                                 {"artiest": ih.artiestid})
        if self.albumtype == 'live':
            locatie = ih.locatie
            datum = ih.datum
            itemlist = concertlist(['artiest', 'locatie', 'datum'],
                                   {"artiest": ih.artiestid})
        bezetting = ih.bezetting
        tracks = ih.tracks
        opnames = ih.opnames

        spc = ' '
        tracknr = 1
        opnamenr = 1
        in_tracklist = in_opnamelist = in_prod = in_cred = in_bezet = False
        namen = artiestenlijst()
        with open(os.path.join(globals.htmlpad, fnaam)) as fh:
            for x in fh.readlines():
                x = x.rstrip()
                xh = x.split()
                if xh[0] == "<!--":
                    if len(xh) == 1:
                        continue
                    if xh[1] == "kop":
                        for x in globals.kop("detail", self.albumtype,
                                             self.zoeksoort, self.zoektekst,
                                             self.sortering):
                            self.regels.append(x)
                    elif xh[1] == "artiest":
                        # <!-- artiest   <input type="text" name="txtArtiest" id="txtArtiest" size="20" maxlength="60" value="%s"/><br /> -->
                        self.regels.append(artiest_selector[0])
                        for y in namen:
                            hlp = 'selected="selected"' if y[
                                1] == artiest else ''
                            self.regels.append(artiest_selector[1] %
                                               (hlp, y[0], y[1]))
                        self.regels.append(artiest_selector[2])
                    elif xh[1] == "titel":
                        #~ <!-- titel     <input type="text" name="txtTitel" id="txtTitel" size="60" maxlength="80" value="%s" /> -->
                        self.regels.append(spc.join(xh[2:-1]) % titel)
                    elif xh[1] == "id":
                        # <!-- id hIdAlbum <input type="hidden" name="hWijzig" id="hWijzig" value="%s" /> -->
                        self.regels.append(
                            '   ' +
                            spc.join(xh[3:-1]).replace('hWijzig', xh[2]) %
                            self.id)
                    elif xh[1] == "type":
                        # <!-- type hTypeAlbum <input type="hidden" name="hWijzig" id="hWijzig" value="%s" /> -->
                        self.regels.append(
                            '   ' +
                            spc.join(xh[3:-1]).replace('hWijzig', xh[2]) %
                            self.albumtype)
                    elif xh[1] == "update":
                        # <!-- update      <input type="submit" abled value="Tracks aanpassen" /> -->
                        hlp = 'disabled="disabled"' if self.nieuw_album else ''
                        self.regels.append(
                            '   ' + spc.join(xh[2:-1]).replace('abled', hlp))
                    elif xh[1] == "label":
                        # <!-- label     <input type="text" name="txtLabel" id="txtLabel" size="20" maxlength="80" value="%s"/><br /> -->
                        self.regels.append('   ' + spc.join(xh[2:-1]) % label)
                    elif xh[1] == "jaar":
                        # <!-- jaar      <input type="text" name="txtJaar" id="txtJaar" size="6" maxlength="6" value="%s" /> -->
                        self.regels.append('   ' + spc.join(xh[2:-1]) % jaar)
                    elif xh[1] == "locatie":
                        # <!-- locatie     <input type="text" name="txtLoc" id="txtLoc" size="20" maxlength="80" value="%s"/> -->
                        self.regels.append('   ' +
                                           spc.join(xh[2:-1]) % locatie)
                    elif xh[1] == "datum":
                        # <!-- datum      <input type="text" name="txtDatum" id="txtDatum" size="20" maxlength="20" value="%s" /> -->
                        self.regels.append('   ' + spc.join(xh[2:-1]) % datum)
                    elif xh[1] == 'producer':
                        in_prod = True
                        prod_lines = []
                    elif xh[1] == 'endproducer':
                        in_prod = False
                        if len(prod_lines) == 0:
                            prod_lines = [""]
                        for y in prod_lines:
                            if '%s' in y:
                                self.regels.append(y % producer)
                            else:
                                self.regels.append(y)
                    elif xh[1] == 'credits':
                        in_cred = True
                        cred_lines = []
                    elif xh[1] == 'endcredits':
                        in_cred = False
                        if len(cred_lines) == 0:
                            cred_lines = [""]
                        for y in cred_lines:
                            if '%s' in y:
                                self.regels.append(y % credits)
                            else:
                                self.regels.append(y)
                    elif xh[1] == 'bezetting':
                        in_bezet = True
                        bezet_lines = []
                    elif xh[1] == 'endbezetting':
                        in_bezet = False
                        if len(bezet_lines) == 0:
                            bezet_lines = ['']
                        for y in bezet_lines:
                            if '%s' in y:
                                self.regels.append(y % bezetting)
                            else:
                                self.regels.append(y)
                    elif xh[1] == 'startTrackList':
                        in_tracklist = True
                        tr_regels = []
                    elif xh[1] == 'endTrackList':
                        in_tracklist = False
                        self.regels.append(tr_regels[0])
                        self.regels.append(tr_regels[1])
                        self.regels.append(tr_regels[2])
                        self.regels.append(tr_regels[3])
                        self.regels.append(tr_regels[4])
                        for y in tracks:
                            self.regels.append(tr_regels[5] % globals.cgipad)
                            self.regels.append(tr_regels[6] % str(tracknr))
                            self.regels.append(tr_regels[7])
                            self.regels.append(tr_regels[8] % self.id)
                            self.regels.append(tr_regels[9] % self.albumtype)
                            self.regels.append(tr_regels[10] % str(tracknr))
                            self.regels.append(tr_regels[11] %
                                               (str(tracknr), y))
                            self.regels.append(tr_regels[12])
                            self.regels.append(tr_regels[13])
                            self.regels.append(tr_regels[14])
                            tracknr = tracknr + 1
                        self.regels.append(tr_regels[15] % globals.cgipad)
                        self.regels.append(tr_regels[16])
                        self.regels.append(tr_regels[17])
                        self.regels.append(tr_regels[18] % self.id)
                        self.regels.append(tr_regels[19] % self.albumtype)
                        self.regels.append(tr_regels[20])
                        self.regels.append(tr_regels[21])
                        self.regels.append(tr_regels[22])
                        self.regels.append(tr_regels[23])
                        self.regels.append(tr_regels[24])
                        self.regels.append(tr_regels[25])
                    elif xh[1] == 'startOpnList':
                        in_opnamelist = True
                        op_regels = []
                    elif xh[1] == 'endOpnList':
                        in_opnamelist = False
                        self.regels.append(op_regels[0])
                        self.regels.append(op_regels[1])
                        self.regels.append(op_regels[2])
                        for y in opnames:
                            self.regels.append(op_regels[3] % str(opnamenr))
                            self.regels.append(op_regels[4])
                            self.regels.append(op_regels[5])
                            self.regels.append(op_regels[6] % self.id)
                            self.regels.append(op_regels[7] % self.albumtype)
                            self.regels.append(op_regels[8] % str(opnamenr))
                            self.regels.append(op_regels[9] %
                                               (str(opnamenr), y))
                            self.regels.append(op_regels[10])
                            self.regels.append(op_regels[11])
                            self.regels.append(op_regels[12])
                            opnamenr = opnamenr + 1
                        self.regels.append(op_regels[13])
                        self.regels.append(op_regels[14])
                        self.regels.append(op_regels[15])
                        self.regels.append(op_regels[16] % self.id)
                        self.regels.append(op_regels[17] % self.albumtype)
                        self.regels.append(op_regels[18])
                        self.regels.append(op_regels[19])
                        self.regels.append(op_regels[20])
                        self.regels.append(op_regels[21])
                        self.regels.append(op_regels[22])
                        self.regels.append(op_regels[23])
                    elif xh[1] == "wijzigO":
                        # <!-- wijzigO <input type="hidden" name="hWijzig" value="%s"> -->
                        hlp = "1" if self.wijzigen else "0"
                        self.regels.append('    ' + spc.join(xh[2:-1]) % hlp)
                else:
                    if in_prod:
                        prod_lines.append(x)
                    elif in_cred:
                        cred_lines.append(x)
                    elif in_bezet:
                        bezet_lines.append(x)
                    elif in_tracklist:
                        tr_regels.append(x)
                    elif in_opnamelist:
                        op_regels.append(x)
                    elif "selAlbum" in x:
                        self.regels.append(hidden_inputs %
                                           (self.albumtype, self.zoeksoort,
                                            self.zoektekst, self.sortering))
                        self.regels.append(x)
                    elif "selecteer titel" in x:
                        self.regels.append(x)
                        for y in itemlist:
                            self.regels.append(option_text % ('', y[0], y[2]))
                    else:
                        self.regels.append(x)