from nitpo import Nitpo # import filing # import subprocess import json # only needed for testnig import time from reports import Reports # welco # baunz bounced # musko must confrm # alred alreday there # proda profile damage # badre bad report class Fecha(Nitpo): def __init__(self, do_verbose=False): super().__init__() self.do_verbose = do_verbose self.reports = Reports() self.out = {} return None def output(self, env, preps): is_it_parsed = self.parse_uri(env, preps) if not is_it_parsed: ## signals error return {} return self.out def parse_uri(self, env, preps): raw_uri = env['RAW_URI'] self.out['raw_uri'] = env['RAW_URI'] # # not my most well-laid out code # # rei is report / emad / perid # # check this first repcode = None emad = None # not implemented yet, presonal identifier # perid = None # out = preps['res']['rei'].fullmatch(raw_uri) # if out is None: # # # we don't have perid yet, so this more likely out = preps['res']['re'].fullmatch(raw_uri) if out is None: # # let server.py generate a human response return False #else: # self.out['perid'] = out.groups(0)[2] repcode = out.groups(0)[0] if not preps['res']['repcode'].fullmatch(repcode): return False emad = out.groups(0)[1] ## syntax check for repcode, if it fails, ## we use a human-readable page # # questionable whether we should # if not self.reports.does_it_exist(repcode): if not self.reports.does_it_exist(repcode): self.out['status'] = 'badre' # time.sleep(6) self.out['repcode'] = repcode self.out['emad'] = emad self.out['message'] = 'Thank you' return True