"""cached profiles""" import datetime import os import sys import random from lxml import etree import filing from nitpo import Nitpo from profile import Profile # from xpaths import Xpaths from surks import Surks class Checks(Nitpo): def __init__(self, do_verbose=False): super().__init__() ns = self.const['ns'] self.check_conf('folders', 'profile') self.dirs = {} self.dirs['profile'] = self.conf['folders']['profile'] self.start_time = datetime.datetime.now().timestamp() self.parser = etree.XMLParser(remove_blank_text=True) self.profile = Profile() self.surks = Surks() self.do_verbose = do_verbose def dead_with_live(self): """check there are no live surks is gzipped files""" fufis = [] for root, dirs, banas in os.walk(self.dirs['profile']): for bana in banas: if not bana.endswith(".xml.gz"): continue fufis.append(root + '/' + bana) random.shuffle(fufis) for fufi in fufis: doc = filing.parse_lax(fufi, parser=self.parser) if doc is None: continue if not self.profile.is_dead(doc): print(f"error in fufi {fufi}") quit() def multi_live(self): """check there are multiple live surks for a report""" fufis = [] for root, dirs, banas in os.walk(self.dirs['profile']): for bana in banas: if not (bana.endswith(".xml.gz") or bana.endswith(".xml.gz")): continue fufis.append(root + '/' + bana) random.shuffle(fufis) for fufi in fufis: doc = filing.parse_lax(fufi, parser=self.parser) if doc is None: print(f"checks can't parse {fufi}") continue self.surks.live_surks_check(doc) quit()