def leesitem(self): # versie 2: opgenomen in itemlist.py if self.wat == 'project': self.dh = docobj.Project(self.proj) elif self.zoek == 'user_spec': self.dh = docobj.Userspec(self.welk) elif self.zoek == 'user_docs': self.dh = docobj.UserDoc(self.welk) elif self.zoek == 'user_wijz': self.dh = docobj.Userwijz(self.welk) elif self.zoek == 'func_docs': self.dh = docobj.FuncDoc(self.welk) elif self.zoek == 'func_task': self.dh = docobj.Functask(self.welk) elif self.zoek == 'func_proc': self.dh = docobj.Funcproc(self.welk) elif self.zoek == 'func_data': self.dh = docobj.Entiteit(self.welk) elif self.zoek == 'tech_proc': self.dh = docobj.Techproc(self.welk) elif self.zoek == 'tech_task': self.dh = docobj.Techtask(self.welk) elif self.zoek == 'tech_data': self.dh = docobj.Techdata(self.welk) elif self.zoek == 'proc_proc': self.dh = docobj.Procproc(self.welk) else: self.ok = False if self.ok: self.dh.read() if self.wat != 'project': self.rh = Relaties(self.wat + self.cat, self.welk) if self.rh.exists: self.rh.read()
def __init__(self, caller): self.soort = caller.soort self.wat = caller.wat self.cat = caller.cat self.welk = caller.welk self.proj = caller.proj fh = open(caller.fnaam) regels = fh.readlines() fh.close() # beginnen met een selector of een xmlobject te printen if self.wat == "start": if self.proj == "0": self.lines = selector(0, True, 10) else: self.lines = selector(self.proj) self.printh = docobj.Project(self.proj) self.printh.read() elif self.welk == "nieuw": self.lines = [] # geen selector(self.proj) else: printh = PrintXMLObject(caller) self.lines = [] overslaan = True for y in regels: h = y.rstrip() if overslaan: if "<body>" in h: overslaan = False elif "</body>" in h: overslaan = True elif "%s" in h: if self.wat == "start": self.verwerk_start(h) elif self.welk == "nieuw": self.verwerk_nieuw(h) else: rd = h.split("%s") r = printh.bouwregel(rd[0]) if len(r) == 1: s = r[0] else: s = "\n".join(r) self.lines.append(h % s) else: self.lines.append(h)
def verwerk_nieuw(self, h): rd = h.split("%s") s = '' if h.find("hProj") >= 0: if self.wat != "user" or self.cat != "wijz": # bij userwijz met proj 0 moet deze via selector komen s = self.proj elif h.find("hCat") >= 0: s = self.cat elif h.find("hWat") >= 0: s = self.wat elif h.find("hType") >= 0: s = self.soort elif h.find("hName") >= 0: s = self.welk elif h.find("nieuwe document") >= 0: if self.wat == "user" and self.cat == "wijz": s = 'een titel en kies een project' else: s = 'een naam en een titel op' elif h.find("txtNaam") >= 0: if self.wat == "user" and self.cat == "wijz": num, nieuwetitel = laatste_wijz() deel1, deel2, deel3 = h.split("><") s = deel2.replace("text", "hidden") % nieuwetitel self.lines.append( "%s>%s<%s><%s" % (deel1.replace("nw2", "nw2 vmid"), nieuwetitel, s, deel3)) else: self.lines.append(h % s) s = '' elif "project" in h and self.wat == "user" and self.cat == "wijz": if self.proj == "0": s = '\n'.join(selector(0, marge=False, size=1, form=False)) else: p = docobj.Project(self.proj) p.read() s = str(p) # p.naam + " - " + p.kort if s != '': self.lines.append(s.join(rd))
def nieuw(wat, catg, naam, oms, proj, van_soort='', van_naam=''): regels = [] if wat == "" or (wat != "project" and catg == "") or \ (wat == "project" and catg != "") or \ naam == "" or oms == "": return fouthtml.format(wat, catg, naam, oms, proj, van_soort, van_naam), '' if van_soort == "item": van_soort = '' if van_naam == "nieuw": van_naam = '' ok = True if wat in common.type_h else False if ok: ok = False if catg not in common.cat_h[i] else True if not ok: return common.soortfout_html.format((wat, cat)) if wat == "project": catg = "" dh = docobj.Project(naam, nieuw=True) if dh.exists: ok = False else: dh.kort = oms proj = laatsteproj() elif wat == 'user' and catg == 'spec': dh = docobj.Userspec(naam, nieuw=True) if dh.exists: ok = False else: dh.kort = oms elif wat == 'user' and catg == 'docs': dh = docobj.UserDoc(naam, nieuw=True) if dh.exists: ok = False elif wat == 'user' and catg == 'wijz': dh = docobj.Userwijz(naam, nieuw=True) if dh.exists: ok = False else: dh.wens = oms elif wat == 'func' and catg == 'task': dh = docobj.Functask(naam, nieuw=True) if dh.exists: ok = False else: dh.doel = oms elif wat == 'func' and catg == 'docs': dh = docobj.FuncDoc(naam, nieuw=True) if dh.exists: ok = False elif wat == 'func' and catg == 'proc': dh = docobj.Funcproc(naam, nieuw=True) if dh.exists: ok = False else: dh.doel = oms elif wat == 'func' and catg == 'data': dh = docobj.Entiteit(naam, nieuw=True) if dh.exists: ok = False else: dh.naam = oms elif wat == 'tech' and catg == 'proc': dh = docobj.Techproc(naam, nieuw=True) if dh.exists: ok = False else: dh.titel = oms elif wat == 'tech' and catg == 'task': dh = docobj.Techtask(naam, nieuw=True) if dh.exists: ok = False else: dh.kort = oms elif wat == 'tech' and catg == 'data': dh = docobj.Techdata(naam, nieuw=True) if dh.exists: ok = False elif wat == 'proc' and catg == 'proc': dh = docobj.Procproc(naam, nieuw=True) if dh.exists: ok = False else: dh.titel = oms else: return regels( "<p>dit zou eigenlijk al eerder afgevangen moeten zijn</p>", common.soortfout_html.format(wat, cat)) if not ok: return (bestaat_al_html.format(wat, catg, naam), '') else: dh.write() ih = ItemList( wat + catg, force=True ) # force zorgt ervoor dat-ie wordt aangemaakt als-ie er niet is if not ih.add_listitem(naam, oms, proj): return (opvoerfout_html.format(wat, catg, ih.fout, naam, oms, proj), '') if van_soort != "" and van_naam != "": dh = Relaties(wat + catg, naam) # niet lezen, dan blijft alles leeg dh.add_relatie(van_soort, van_naam) dh.write() return ("Location: {}show.py?type=item&what={}&proj={}&" "cat={}&which={}&edit=1".format( common.cgipad, wat, proj, catg, naam), )
def edit_project(form): dh = docobj.Project(form.get("hProj")) edit_properties(dh, ("txtKort", "txtOms", "txtStart", "txtFysloc", "txtOpm"), form)