import copy import os import sys import lxml.etree as etree from datetime import datetime import docing import filing from lxml.builder import ElementMaker from nitpo import Nitpo from surks import Surks from profile import Profile class Chapro(Nitpo): def __init__(self, do_verbose=False): """subber chapros""" super().__init__() ns = self.const['ns'] self.nsmap = {None: ns} self.N = "{%s}" % self.const['ns'] self.E = ElementMaker(nsmap={None: self.const['ns']}) if not self.has_conf('folders', 'chapro'): print('chapro needs a chapro folder') quit() self.folder = self.conf['folders']['chapro'] self.to_print = '' self.s = Surks() self.p = Profile() self.event = {} self.do_verbose = do_verbose def make(self, was_doc, is_doc, fiken): """fiken is the fiken of the old profile""" chapro_ele = self.E('chapro', was_doc.getroot(), is_doc.getroot(), fiken=fiken) doc = etree.ElementTree(chapro_ele) out = etree.tostring(doc, pretty_print=True).decode() out_fufi = self.folder + '/' + fiken + '.xml' has_it_been_written = filing.srite(out_fufi, out, do_verbose=self.do_verbose) return doc