"""the omnibus is the profile of users that get all reports""" import os import filing from nitpo import Nitpo class Omnibus(Nitpo): def __init__(self, do_verbose=False): """omnibus profiles""" super().__init__() self.N = "{%s}" % self.const['ns'] def read(self): self.check_conf('folders', 'profile') profile_fudi = self.conf['folders']['profile'] omnibus_fufi = profile_fudi + '/' + 'omnibus.xml' # print(omnibus_fufi) if not os.path.isfile(omnibus_fufi): return None doc = filing.parse_lax(omnibus_fufi) if doc is None: return None return doc def disect(self, doc): """parse doc into surks""" xp = '/n:omnibus/n:surk' surk_eles = doc.xpath(xp, namespaces={'n': self.const['ns']}) docus = {} for surk_ele in surk_eles: emad = surk_ele.attrib['emad'] if emad is None: continue docus[emad] = surk_ele return docus